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.
2.3. <strong>Model</strong>-<strong>Driven</strong>Engineering 37<br />
tingthecontextfromthedefinition<strong>of</strong>ahelperitisdefinedinthecontext<strong>of</strong><br />
thetransformationmoduleasawhole,whichisrepresentedbythebuilt-in<br />
thisModuleelement.<br />
Inadditiontothe(declarative)featuresexplainedabove,ATL<strong>of</strong>fersa<br />
number<strong>of</strong>additionalfeaturesthatweonlymentionbriefly. Nexttothe<br />
simpletargetpatternelementsinListing2.1thatgenerateasingletargetmodelelement,iterativetargetpatternelementsthatiterateoversome<br />
collectioncanbeusedtocreateawholeset<strong>of</strong>targetmodelelementsfora<br />
singlematchingsourcemodelelement.ATLalso<strong>of</strong>fersimperativefeatures<br />
thatmakeitpossibletoaddimperativeinstructionstomatchedrules.Finally,apartfrommatchedrules,itispossibletodefine(imperative)rulesthatarenotmatchedbysourcemodelelements,butthatarecalledexplicitly.Assuch,thesecalledrulesdonothaveasourcepattern.<br />
2.3.4 MDE<strong>and</strong>OtherTechnologicalSpaces<br />
Asdiscussedabove,abstraction<strong>and</strong>automationaremadepossibleinMDE<br />
bytheuse<strong>of</strong>metamodels. However,othersolutionsexistaswell. Asan<br />
example,modellinglanguagescanalsobedefinedusinggrammarsorXML<br />
schemas. ThelayeredstructuredepictedinFigure2.3onpage30canbe<br />
recognisedwhenusingthesealternativesaswell,forinstance,inthecase<br />
<strong>of</strong>grammars,EBNFisonthemetametamodellevel,grammarsareonthe<br />
metamodellevel,<strong>and</strong>programsonthemodellevel.<br />
Suchdifferenttypes<strong>of</strong>solutionseachcomewithawholecontext<strong>of</strong>concepts,abody<strong>of</strong>knowledge,requiredskills,<strong>and</strong>possibilities.Kurtevetal.<br />
[2002]coinedthetermtechnologicalspaceforsuchacontext.Assuch,the<br />
MDEspaceincludesmodels,metamodels,modeltransformations,modelling<br />
tools<strong>and</strong>transformationlanguages.Thisspaceisalsoreferredtoasmodelware.Similarly,thegrammarspace,orgrammarware[Klintetal.,2005],includesprograms,programminglanguages,grammars,parsers,<strong>and</strong>programtransformationsystems(e.g.,V<strong>and</strong>enBr<strong>and</strong>etal.[2001];Visser<br />
[2004]). Otherrecognisedtechnologicalspacesarebasedon XMLorontologies,forinstance.Specificoperationsonaparticulartype<strong>of</strong>modelsmightbemoreconvenientinonetechnologicalspacethanintheother.<br />
Forthisreasonit<br />
canbenecessarytocreateabridgebetweendifferenttechnologicalspaces.<br />
InChapter6,forinstance,weusedabridgebetweenthemodelware<strong>and</strong><br />
grammarwaretechnologicalspacetovisualiseMDAmodelsusingagraph<br />
visualisationtoolthathasagrammar-basedinputlanguage.<br />
AnotherbridgethatisveryimportanttoMDAisXMLMetadataInterchange<br />
1 (XMI). Thisbridgemakesitpossibletoserialisemodelsbasedon<br />
1 http://www.omg.org/mda/specs.htm#XMI(June2007)