11.12.2012 Views

Model-Driven Evolution of Software Architectures - Software and ...

Model-Driven Evolution of Software Architectures - Software and ...

Model-Driven Evolution of Software Architectures - Software and ...

SHOW MORE
SHOW LESS

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)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!