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.

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)

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

Saved successfully!

Ooh no, something went wrong!