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.
8.2. Background 171<br />
Inpracticethearchitecturalmodelforaviewisprimarilyusedasafigureordiagram(theview’sprimarypresentation[Clementsetal.,2002a])in<br />
adocumentthatdescribestheview.Because<strong>of</strong>theirwide-acceptance<strong>and</strong><br />
availabletoolsupport<strong>of</strong>tenUMLdiagramsareusedforthis(seeChapter3).<br />
8.2.2 EnablingMDETechnologies<br />
Ourapproachformodel-drivendocumentationisbasedonmodeltransformations.Thisrequirescapabilitiesfor(meta)modelling,modeltransformation,<strong>and</strong>modelinterchange.<br />
Forthedefinition<strong>of</strong>metamodelsweusetheMetaObjectFacility 1 (MOF)<br />
<strong>and</strong>itsimplementationasanEclipseplugin:theEclipse<strong>Model</strong>ingFramework<br />
2 (EMF).<br />
TheEMFplugingeneratesanimplementationforametamodelasaset<br />
<strong>of</strong>Javaclassesthat<strong>of</strong>fersaninterfacethatallowsdeveloperstomanipulateconformingmodels.<br />
Thesemodelscanbeserialisedtoadocument<br />
intheExtensibleMarkupLanguage 3 (XML)using XMLMetadataInterchange<br />
4 (XMI). Additionally,asimpletree-basededitorisgeneratedthat<br />
canbeusedasanEclipsepluginforthecreation<strong>and</strong>inspection<strong>of</strong>associatedmodels.<br />
Asanexampleconsiderthescreenshot<strong>of</strong>suchaneditorin<br />
Figure8.3(b)onpage175.Thiseditorisalsocapable<strong>of</strong>validatingamodel<br />
againstitsmetamodel.<br />
TheAtlasTransformationLanguage[Jouault<strong>and</strong>Kurtev,2005](ATL)is<br />
basedonEMF.Weuseittodefinemodeltransformationsthatareexecuted<br />
byatransformationengine. InATL,transformationsaredefinedinmodulesthatconsist<strong>of</strong>declarativetransformationrules<strong>and</strong>helperoperations.<br />
Usingasyntaxsimilartothat<strong>of</strong>theObjectConstraintLanguage 5 (OCL),<br />
thetransformationrulesmatchmodelelementsinasourcemodel<strong>and</strong>createelementsinatargetmodel.<br />
Ahelperisdefinedinthecontext<strong>of</strong>a<br />
metamodelelement,towhichiteffectivelyaddsafeature.<br />
Fortheirinput,modeltransformationtoolstypicallyuseXMIserialisations<strong>of</strong>MOF-based(meta)models.<br />
Inthecase<strong>of</strong>UML,thesemodelscan<br />
simplybecreated<strong>and</strong>visualisedusingst<strong>and</strong>ardUMLtooling.<br />
1 http://www.omg.org/m<strong>of</strong>(June2007)<br />
2 http://www.eclipse.org/emf(June2007)<br />
3 http://www.w3.org/XML(June2007)<br />
4 http://www.omg.org/mda/specs.htm#XMI(June2007)<br />
5 http://www.omg.org/technology/documents/modeling_spec_catalog.htm#OCL(June2007)