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.
84 Chapter5. <strong>Model</strong>-<strong>Driven</strong>ConformanceChecking<br />
isveryverbose,makingitatedious<strong>and</strong>errorpronetasktodevelopsuch<br />
transformations[VanDijketal.,2005].<br />
<strong>Model</strong><strong>Driven</strong>Architecture 1 (MDA)developedbytheObjectManagement<br />
Group 2 (OMG)<strong>of</strong>fers,amongothers,asolutiontothisproblem.MDAisOMG’s<br />
incarnation<strong>of</strong>model-drivenengineering(MDE).WithMDE,s<strong>of</strong>twaredevelopmentlargelyconsists<strong>of</strong>aseries<strong>of</strong>modeltransformationsmappinga<br />
sourcetoatargetmodel. EssentialtoMDEaremodels,theirassociated<br />
metamodels,<strong>and</strong>modeltransformations.Inthecase<strong>of</strong>MDA,metamodels<br />
aredefinedusingtheMetaObjectFacility 3 (MOF). TheUMLmetamodelis<br />
onlyoneexample<strong>of</strong>suchmetamodels.Finally,modeltransformationlanguagesareusedtodefinetransformations.<br />
WeusetheAtlasTransformationLanguage[Jouault<strong>and</strong>Kurtev,2005]<br />
(ATL) 4 tospecify<strong>and</strong>implementthemappingbetweenscenarios<strong>and</strong>state<br />
machines. ATLisusedtodevelopmodeltransformationsthatareexecutedbyatransformationengine.<br />
WithATL,transformationsaredefined<br />
intransformationmodulesthatconsist<strong>of</strong>transformationrules<strong>and</strong>helper<br />
operations. Thetransformationrulesmatchmodelelementsinasource<br />
model<strong>and</strong>createelementsinatargetmodel.Tothisendtherulesdefine<br />
constraintsonmetamodelelementsinasyntaxsimilartothat<strong>of</strong>theObject<br />
ConstraintLanguage 5 (OCL).Ahelperisdefinedinthecontext<strong>of</strong>ametamodelelement,towhichiteffectivelyaddsafeature.Helperscanbeused<br />
inrules,<strong>and</strong>optionallytakeparameters.<br />
TheATLtransformationenginecanbeusedwithXMIserialisations<strong>of</strong><br />
models<strong>and</strong>metamodelsdefinedusingtheMOF.Forthesequencediagrams<br />
<strong>and</strong>statemachinesinthischapterweusedtheMOF-UMLmetamodelavailablefromtheOMG[OMG,2007a].Tocreatetheassociatedmodels,aUML<br />
modellingtoolsupportingXMIexportcanbeused(weusedPoseidonfor<br />
UML 6 forthispurpose).<br />
Oncethesourcemodel<strong>and</strong>metamodel,targetmetamodel,<strong>and</strong>transformationmodulearedefined<strong>and</strong>located,theATLtransformationengine<br />
generatesthetargetmodelinitsserialisedform,which,inturn,canbe<br />
importedintoaUMLmodellingtoolforvisualisation,orcanserveassource<br />
modelforanother(model)transformation.<br />
1 http://www.omg.org/mda(June2007)<br />
2 http://www.omg.org(June2007)<br />
3 http://www.omg.org/m<strong>of</strong>(June2007)<br />
4 ForamoredetailedintroductiontoATL,pleaserefertoSection2.3.3.<br />
5 http://www.omg.org/technology/documents/modeling_spec_catalog.htm#OCL(June2007)<br />
6 http://www.gentleware.com(June2007)