Model-Driven Evolution of Software Architectures - Software and ...
Model-Driven Evolution of Software Architectures - Software and ...
Model-Driven Evolution of Software Architectures - Software and ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
2.3. <strong>Model</strong>-<strong>Driven</strong>Engineering 33<br />
conforms to<br />
conforms to<br />
Metamodel<br />
+ source<br />
<strong>Model</strong><br />
Metametamodel<br />
conforms to<br />
TransformationMetamodel<br />
+ source<br />
Transformation<strong>Model</strong><br />
Transformation<br />
conforms to<br />
Metamodel<br />
+ target<br />
represented by<br />
<strong>Model</strong><br />
Figure 2.6:<strong>Model</strong>transformationmegamodel<br />
conforms to<br />
conforms to<br />
+ target<br />
pressionsintheObjectConstraintLanguage 1 (OCL)toselecttheelements<br />
inthesourcemodeltotransform.OCLisadeclarativelanguage,originally<br />
developedtospecifyconstraintsoverUMLmodels.<br />
TheMDEpatternormegamodelformodeltransformationsisdepicted<br />
inFigure2.6[Bézivinetal.,2005]. WithMDEaTransformationbetweena<br />
source<strong>and</strong>target <strong>Model</strong>isdefinedbyatransformationlanguage. When<br />
thislanguageisdefinedbyaTransformation<strong>Model</strong>Metamodel,thetransformationdefinitionisinfactamodelitself.<br />
This Transformation<strong>Model</strong>specifies<br />
transformations<strong>of</strong>sourceintotargetmodelsinterms<strong>of</strong>the Metamodels<br />
they conform to. Incorrespondencewiththemetamodellingmegamodelin<br />
Figure2.3onpage30,allinvolvedmetamodels conform toasingle Metametamodel.<br />
Atransformationengine(automatically)transformssourcemodelsthat<br />
conformtothesourcemetamodelintotargetmodelsthatconformtothe<br />
targetmetamodelasdescribedinthetransformationdefinition. Assuch,<br />
transformationenginesrequireseveralinputs:sourcemodel,sourcemetamodel,targetmetamodel,<strong>and</strong>transformationdefinition.<br />
Many different types <strong>of</strong> model transformations <strong>and</strong> model transformationlanguagesareconceivable.<br />
Sendall[2003];Czarnecki<strong>and</strong>Helsen<br />
[2006];<strong>and</strong>Mens<strong>and</strong>VanGorp[2006]eachgiveanumber<strong>of</strong>properties<br />
<strong>of</strong>modeltransformationlanguages. Theseincludethetype<strong>and</strong>number<br />
<strong>of</strong>source<strong>and</strong>targetmodels,horizontalvs. verticaltransformations(with<br />
respecttoabstractionlevel),type<strong>of</strong>notation(e.g.,graphicalvs. textual),<br />
source-targetrelationship(newvs.in-place),<strong>and</strong>manymore.<br />
1 http://www.omg.org/technology/documents/modeling_spec_catalog.htm#OCL(June2007)