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.
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)