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.

6.6. Discussion 121<br />

6.5.3 <strong>Model</strong>Presentation<br />

ThefinalstepinourCCSisthepresentation<strong>of</strong>thegeneratedconformance<br />

models.AsthedefinedMADL<strong>and</strong>CPADLmetamodelonlydefinethestructure(abstractsyntax)<strong>of</strong>theassociatedmodels<strong>and</strong>nottheirgraphicalnotation(concretesyntax)additionaltransformationsarenecessarytoalanguagethathasanassociatedgraphicalnotation.<br />

Weusedthegraphdescriptionlanguage DOT 1 tovisualisetheresult.<br />

AlthoughDOTisatextual(grammar-based)language,aMOF-basedmetamodelisalsoavailable,allowingprocessingusingATL.WedefinedtransformationsfromCPADL<strong>and</strong>MADLtotheDOTmetamodel.Finally,thetextual<br />

representation<strong>of</strong>thegeneratedDOTmodelswasextractedbyaspecialtype<br />

<strong>of</strong>transformation. ThistransformationqueriesaDOTsourcemodel<strong>and</strong><br />

generatescorrespondingDOTcodeasoutput.Theresultcanbevisualised<br />

usingdot.ExamplesweredepictedinFigures6.7to6.10onpages117–120.<br />

6.6 Discussion<br />

Belowweaddressanumber<strong>of</strong>issuesrelatedtotheuse<strong>of</strong> MDEforour<br />

CCS.Subsequently,wediscussanumber<strong>of</strong>potentialimprovements<strong>of</strong>the<br />

approach.<br />

6.6.1 <strong>Model</strong>ware<br />

<strong>Model</strong>Population Inourexperimentweimplementedthepopulation<strong>of</strong>conformancemodelsviaXML.<br />

Weusedexistingbridgesfromgrammarware<br />

toXML(JavaML)<strong>and</strong>fromXMLtothemodelwaretechnologicalspace(the<br />

injectorforXMLdata). Thedrawback<strong>of</strong>usingthesebridges,isthatsubsequenttransformationsthatpopulatethe<br />

MADL<strong>and</strong> CPADLmodelsare<br />

specifiedinterms<strong>of</strong> XMLmetamodelelements(e.g.,Node,Element,Attribute),ratherthanelementsspecificforJava(e.g.,Class,Method,Field).Thismakesspecifyingthesetransformationspronetoerrors.Ahelperoperationtomanipulateaclass,forinstance,isspecifiedinthecontext<strong>of</strong>XML<br />

elementsthatrepresentclasses.Instead<strong>of</strong>usingthetypesystem,ithasto<br />

becheckedexplicitlythatanXMLelementindeedrepresentsaclass.<br />

Byconstruction<strong>of</strong>anATLlibrary<strong>of</strong>helperoperationsrelatedtotheXML<br />

modelrepresentation<strong>of</strong>Java(e.g.,anoperationtocollectallXMLelements<br />

thatrepresentamethodinvocationforan XMLelementthatrepresents<br />

aclass)wecouldraisetheabstractionlevelsomewhat. However,ideally,<br />

wewouldliketousearepresentationbasedona‘real’Javametamodel.<br />

Infact,suchametamodeliscurrentlyavailablefromtheATLmetamodel<br />

1 http://www.graphviz.org(June2007)

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

Saved successfully!

Ooh no, something went wrong!