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.
114 Chapter6. ConformanceCheckingII<br />
6.5 Mappings<strong>and</strong><strong>Model</strong>Transformations<br />
ThemodeltransformationsinvolvedinourCCScoverthreephases:model<br />
population,conformancechecking,<strong>and</strong>presentation.Wediscussthetransformationsinvolvedineachphasebelow.<br />
6.5.1 <strong>Model</strong>Population<br />
<strong>Model</strong>populationinvolvesinjection<strong>of</strong>sourceartefactsintoamodelrepresentation,which,subsequentlyistransformedinextraction<strong>and</strong>abstractionstepsintoamodelthatconformstoone<strong>of</strong>thedefinedconformance<br />
metamodels.<br />
Injection<br />
ForthearchitecturalUMLmodels,injectionisnotrequired;theyalready<br />
areinthemodelwaretechnologicalspace<strong>and</strong>,thus,canserveassource<br />
modelsinmodeltransformations.Tothisend,UMLtoolscanserialisethe<br />
UMLmodelstoXMLMetadataInterchange 1 (XMI)format,which,inturn,<br />
canbeusedbytransformationtools.<br />
Inthecase<strong>of</strong>theimplementation,wefirstcompiledarepresentation<strong>of</strong><br />
theabstractsyntaxtree(AST)<strong>of</strong>theJavasourcecodeinJavaML[Badros,<br />
2000],anXMLbasedrepresentation<strong>of</strong>Javasourcecode. Similartechnologyisavailableformanyotherprogramminglanguages[Al-Ekram<strong>and</strong><br />
Kontogiannis,2005]. Then,weinjectedthisXMLdocumentintoamodel<br />
representationconformingtoagenericmetamodelforXML.Wecouldreuse<br />
boththisinjection<strong>and</strong>theXMLmetamodel,astheywerealreadyavailable<br />
fromATL’smetamodel<strong>and</strong>transformationrepositories 2 .<br />
Extraction<strong>and</strong>Abstraction<br />
Inextraction<strong>and</strong>abstractionstepstheobtainedimplementation(XML-<br />
JavaML)model<strong>and</strong>thearchitectural(UML)modelareeachtransformed<br />
intoamodelconformone<strong>of</strong>theconformancemetamodelswedefined.<br />
Here, module <strong>and</strong> C&C views requireadifferent approach. Thisis<br />
mainlyduetothedifferentrelationsbetweenbothtypes<strong>of</strong>architectural<br />
viewsontheoneh<strong>and</strong><strong>and</strong>theimplementationontheother.Therelation<br />
betweenmoduleviews<strong>and</strong>theimplementationisarefinementrelation,<br />
astheseviewsareanabstraction<strong>of</strong>theimplementationunitsthatare<br />
tobe(havebeen)delivered(cf. therelationbetweenaclassdiagram<strong>and</strong><br />
1 http://www.omg.org/mda/specs.htm#XMI(June2007)<br />
2 http://www.eclipse.org/gmt/am3/zoos/atlanticZoo<strong>and</strong>http://www.eclipse.org/m2m/atl/<br />
atlTransformations(June2007)