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.
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)