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.

138 Chapter7. <strong>Model</strong>-<strong>Driven</strong>Migration<br />

Finally, variousmodeltransformationlanguagesareavailabletodefine<br />

transformations.<br />

We defined all transformations in the Atlas Transformation Language[Jouault<strong>and</strong>Kurtev,2005](ATL).Anadvantage<strong>of</strong>ATLisitssyntax,<br />

whichissimilartothat<strong>of</strong>theObjectConstraintLanguage 1 (OCL). This<br />

allowspeoplethathavebeenworkingwiththeUMLmetamodeltounderst<strong>and</strong><strong>and</strong>createtransformationruleswithrelativeease.<br />

TheactualATL<br />

transformationenginereliesontwoimplementations<strong>of</strong>MOF:theEclipse<br />

<strong>Model</strong>ingFramework 2 (EMF)<strong>and</strong>theMetadataRepository 3 (MDR).TheATL<br />

transformationenginecanbeusedincombinationwithMOF-basedmodels<br />

<strong>and</strong>metamodelsserialisedwithXMLMetadataInterchange 4 (XMI).Asour<br />

sourcemetamodelweusedthe MOF-UMLmetamodelavailablefromthe<br />

ObjectManagementGroup 5 (OMG)[OMG,2007a].Tocreatesourcemodels,<br />

wecansimplyuseaUMLmodellingtoolthatsupportsXMIexport.Forthe<br />

targetmetamodelwealsousedEMFasitallowsforautomaticgeneration<br />

<strong>of</strong>aprimitive,tree-basededitorforanyarbitrarymetamodel. Thiseditor<br />

canthenbeusedtoinspecttheresults<strong>of</strong>ourtransformations.<br />

7.5 SourceMetamodel<br />

Inthischapter,weconsiderFSMsasthegivenstartingpointforthemigration.<br />

Theuse<strong>of</strong>FSMsasaparadigmforsupervisorycontrolhasbeen<br />

proposedby,forinstance,Ramadge<strong>and</strong>Wonham[1987]. Here,theset<strong>of</strong><br />

possiblemachinebehavioursisconsideredt<strong>of</strong>ormalanguage. Adiscrete<br />

supervisory FSMissynthesisedthatrestrictsthislanguagebydisabling<br />

asubset<strong>of</strong>eventstoenforcevalidmachinebehaviour. Thisrequiresthe<br />

behaviourinallpossiblestatesforallrequeststobespecifiedexplicitly<br />

using(un)conditionalstatetransitionswithassociatedtriggers(events),<br />

<strong>and</strong>effectsorstateactions(manufacturingactivities). Whenusingthis<br />

paradigm,concurrentexecutionistheresult<strong>of</strong>independentparts<strong>of</strong>concurrentlyexecutingstatemachinesthatcanoptionallyshareeventstosynchronise.<br />

Consequently,multipleFSMsareusedpercontroller(typically<br />

oneforeachtype<strong>of</strong>request).<br />

OursourcemodelsarespecifiedusingUMLstatechartdiagrams. The<br />

relevantpart<strong>of</strong>themetamodelisshowninFigure7.4. Apartfromthis<br />

metamodel,the UMLspecificationalsoprovidesalargenumber<strong>of</strong>wellformednessrules,specifiedinOCL,<strong>of</strong>whichafewarementionedbelow.<br />

1http://www.omg.org/technology/documents/modeling_spec_catalog.htm#OCL(June2007) 2http://www.eclipse.org/emf(June2007) 3http://mdr.netbeans.org(June2007) 4http://www.omg.org/mda/specs.htm#XMI(June2007) 5http://www.omg.org(June2007)

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

Saved successfully!

Ooh no, something went wrong!