Model-Driven Evolution of Software Architectures - Software and ...
Model-Driven Evolution of Software Architectures - Software and ...
Model-Driven Evolution of Software Architectures - Software and ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
122 Chapter6. ConformanceCheckingII<br />
repository. Theproblemremainstopopulateamodelconformthismetamodelbasedonaset<strong>of</strong>Javasourcefiles.Asolutiontothisproblemcould<br />
beatransformationthattransformsXMLmodels(basedonJavaML)into<br />
modelsbasedontheJavametamodel.Thiswouldallowtospecifythemodel<br />
extractionatthedesiredlevel<strong>of</strong>abstraction. Ingeneral,suchatransformationwouldalsobeusefulforothers<strong>of</strong>twareevolutiontasksthatinvolve<br />
Javasourcecode<strong>and</strong>mightbesolvedinthemodelwaretechnologicalspace<br />
(e.g.,architecturereconstruction,programunderst<strong>and</strong>ing,metriccalculations).<br />
<strong>Model</strong>wareManagement Withtheapplication<strong>of</strong>modeltransformationsto<br />
more<strong>and</strong>morecomplicated<strong>and</strong>diverseproblems(see,e.g.,Chapters5,<br />
7,<strong>and</strong>8<strong>of</strong>thisthesis),managingtheinvolvedmodelartefactsbecomesan<br />
issue.<br />
Althoughwedidnotdiscussall<strong>of</strong>them,theapproachpresentedinthis<br />
chapteralreadyinvolvedsevendifferentmetamodels,11differenttransformations,<strong>and</strong>over20source,target,<strong>and</strong>intermediate(generated)models.<br />
Inaddition,thecompletesolutioninvolvedseveraltransformations<br />
executedoutsidethemodelwarespaceusingtoolssuchassed,Perl,<strong>and</strong><br />
java2xml(fortransformation<strong>of</strong>aJavaprogramtextintoaJavaMLrepresentation).<br />
Currently,wemanagealltheseartefactsusingtheJavabuild<br />
toolAnt 1 ,forwhichtheATLdevelopmenttoolsprovidespecialtaskstoexecutetransformations,save<strong>and</strong>load(meta)models,<strong>and</strong>applyprojectors.<br />
UsingAnt,wecompletelyautomatedourapproach,includingcompilation<br />
<strong>of</strong>anXMLrepresentationforJavasourcecode,execution<strong>of</strong>variousmodel<br />
transformations,<strong>and</strong>generation<strong>of</strong>PostScriptoutputforDOTgraphs.<br />
<strong>Model</strong>wareReuse Fortunately,notall<strong>of</strong>themodelwareartefactsmentioned<br />
abovehavetobedevelopedfromscratch.Wereused<strong>and</strong>adaptedmetamodelsfromATL’smetamodelrepository(e.g.,metamodelsforDOT<strong>and</strong>XML).Alsoprojectorswerereused(e.g.,theXMLinjector,<strong>and</strong>theDOTtotextextractor).Stillspecification<strong>of</strong>allremainingmetamodels<strong>and</strong>modeltransformationstakesconsiderableeffort.<br />
However,transformationsdefinedforthe<br />
modeltransformationphaseforinjection<strong>of</strong>Javasourcecodeintoamodel<br />
representationcanbereusedforconformancechecking<strong>of</strong>otherviews,as<br />
wellasfordifferenttypes<strong>of</strong>applicationsthatinvolvethemanipulation<strong>of</strong><br />
programs.<br />
Themetamodels<strong>and</strong>transformationsusedinthecomparison<strong>and</strong>presentationphasesarespecifictoaparticularviewpoint.Ontheotherh<strong>and</strong><br />
thesemetamodelsareeasilyextendedforotherviewpoints,forinstance,by<br />
1 http://ant.apache.org/(June2007)