Commit 35dbfae0 authored by Bernhard Rumpe's avatar Bernhard Rumpe
Browse files


parent 59ab32eb
<feature_model name="FeatureIDE model">
:r CDODConsistency(CDODConsistency)
:m ODSemantics(ODSemantics)
:m EmptyOMOD(EmptyOMOD)
:g [1,1]
: EmptyOMValidInstanceOD(EmptyOMValidInstanceOD)
: EmptyOMInvalidOD(EmptyOMInvalidOD)
:m CompletenessOD(CompletenessOD)
:m ObjectsOD(ObjectsOD)
:g [1,1]
: AllObjectsShownOD(AllObjectsShownOD)
: AllowObjectsOmittedOD(AllowObjectsOmittedOD)
:m LinksOD(LinksOD)
:g [1,1]
: AllLinksShownOD(AllLinksShownOD)
: AllowLinksOmittedOD(AllowLinksOmittedOD)
:m AttributesOD(AttributesOD)
:g [1,1]
: AllAttributesShownOD(AllAttributesShownOD)
: AllowAttributesOmittedOD(AllowAttributesOmittedOD)
:m TypesOD(TypesOD)
:g [1,1]
: AllTypesShownOD(AllTypesShownOD)
: AllowTypesOmittedOD(AllowTypesOmittedOD)
:m ObjectTypingOD(ObjectTypingOD)
:g [1,1]
: StrictOD(StrictOD)
: NonStrictOD(NonStrictOD)
:m CDSemantics(CDSemantics)
:m EmptyOMCD(EmptyOMCD)
:g [1,1]
: EmptyOMValidInstanceCD(EmptyOMValidInstanceCD)
: EmptyOMInvalidCD(EmptyOMInvalidCD)
:m CompletenessCD(CompletenessCD)
:m AttributesCD(AttributesCD)
:g [1,1]
: AllAttributesShownCD(AllAttributesShownCD)
: AllowAttributesOmittedCD(AllowAttributesOmittedCD)
:m ClassesCD(ClassesCD)
:g [1,1]
: AllClassesShownCD(AllClassesShownCD)
: AllowClassesOmittedCD(AllowClassesOmittedCD)
:m DefaultMultiplicity(DefaultMultiplicity)
:g [1,1]
: DefMultStarCD(DefMultStarCD)
: DefMultOneCD(DefMultOneCD)
: DefMultOptCD(DefMultOptCD)
: DefMultSomeCD(DefMultSomeCD)
C1:EmptyOMValidInstanceOD or ~EmptyOMValidInstanceCD
C2:EmptyOMValidInstanceCD or ~EmptyOMValidInstanceOD
C3:~AllowClassesOmittedCD or ~AllowTypesOmittedOD
C4:~AllowObjectsOmittedOD or AllowLinksOmittedOD
<h2>Semantic Variability</h2>
<h2>Semantically Configurable Consistency Analysis for Class and
Object Diagrams</h2>
S. Maoz, J.O. Ringert, and B. Rumpe
Checking consistency between an object diagram (OD) and a class diagram (CD) is
an important analysis problem. However, several variations in the semantics of
CDs and ODs, as used in different contexts and for different purposes, create a
challenge for analysis tools. To address this challenge in this paper we
investigate <b>semantically configurable model analysis</b>. We formalize the
variability in the language's semantics using a feature model: each
configuration that the model permits induces a different semantics. Moreover, we
develop a parametrized analysis that can be instantiated to comply with every
legal configuration of the feature model. Thus, the analysis is semantically
configured and its results change according to the semantics induced by the
selected feature configuration.
The ideas are realized using a parametrized transformation to Alloy and are
implemented in a prototype tool. The work can be viewed as a case study example
for a formal and automated approach to handling semantic variability in modeling
<li>S. Maoz, J.O. Ringert, and B. Rumpe.
<b>Semantically Configurable Consistency Analysis for Class and Object Diagrams</b>
In: Model Driven Engineering Languages and Systems (MODELS 2011), Wellington, New Zealand. pp. 153-167, LNCS 6981, 2011. (<a href="../../publications/SM_JOR_BR_semVarCdOd_MODELS_11.pdf" target="_blank">pdf</a>)</br>
Received <a href="../../publications/" target="_blank">Best Paper Award</a> and <a href="../../publications/SM_JOR_BR_semVarCdOd_MODELS_11.ACM.pdf" target="_blank">ACM Distinguished Paper Award</a> at the MODELS 2011 Conference<br>
Supporting materials:
<ul><li> <a href="">CDODSemVarConsistency plug-in</a> prototype implementation (download as feature for Eclipse 3.6 and 3.7, tested only on Windows)
<li> <a href="CDODVarPluginReadme.pdf">CDODSemVarConsistency plug-in readme and installation instructions</a>
<li> <a href="">Example CDs, ODs and configurations as Eclipse project</a> for import in workspace
<li> <a href="">CD and OD semantics feature model as FeatureIDE project</a> (requires <a href="" target="_blank">FeatureIDE</a>)
$ROOT_PATH = "../../";
$TITLE = "SE@RWTH : Materials : Semantic Variability";
include ($ROOT_PATH."layout/lib.php");
include ($ROOT_PATH."layout/header.php");
include ("content.php");
include ($ROOT_PATH."layout/footer.php");
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment