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.
100 Chapter5. <strong>Model</strong>-<strong>Driven</strong>ConformanceChecking<br />
Applicability<strong>of</strong>theapproach Ourapproachcanbeappliedtoiterativelydevelopbehaviouralspecifications.Wegeneratedastatemachinewiththepurpose<strong>of</strong>checkingtheconsistencybetweendifferentbehaviouralspecifications.However,ourapproach<br />
mighthaveotherapplicationsaswell. Ageneratedstatemachinecould<br />
alsobeusedforothertypes<strong>of</strong>analyses,suchasmodelcheckingorperformanceanalysis.<br />
Nexttoanalysispurposes,ourapproachisparticularlyinterestingfor<br />
forwardengineering,especiallyinthecontext<strong>of</strong>model-drivendevelopment<br />
approachesasinthecase<strong>of</strong>Océ.UsingourtransformationsbasedonUML,<br />
developerscaneasilygeneratedifferentviewsonthebehaviour<strong>of</strong>as<strong>of</strong>twaresystemorcomponent.Furthermore,thegenerationnotonlyprovides<br />
insightintheconsistency<strong>of</strong>thesequencediagramswithrespecttoeach<br />
other,italsoprovidesdeveloperswithafirstc<strong>and</strong>idatestatemachinethat<br />
canberefined.Assuch,ourtechniquecanbeappliediterativelytodevelop<br />
completebehaviouralspecifications<strong>of</strong>components:(1)specifytheinteractions<strong>of</strong>aninitialset<strong>of</strong>usecasesasscenarios,(2)generateastatemachine,(3)refactorscenariostoremoveinconsistenciesinevent<strong>and</strong>action<br />
sequences,<strong>and</strong>addmissingscenarios,(4)gotostep2.<br />
Themainreasontochooseforamodel-drivenapproachbasedonUML<br />
forourconsistencycheck,istheintegrationwithOcé’sdevelopmentprocess.ItcircumventstheneedtoextractinformationfromtheMDAdomain<br />
toanotherdomain,suchasthegrammarwareortheExtensibleMarkup<br />
Language 1 (XML)domain. Unfortunately,despitetheavailability<strong>of</strong>st<strong>and</strong>ards,currentlyavailabletoolsfor(meta)modelling<strong>and</strong>transformationsdonotintegratewell,hamperingactualintegration<strong>of</strong>ourapproachinpractice.Foralargepartthisisduetotheabundance<strong>of</strong>possiblecombinations<br />
<strong>of</strong>XMI,UML,<strong>and</strong>MOFversions,aswellasvendorspecificimplementations<br />
<strong>of</strong>thosest<strong>and</strong>ards. Otherproblemsoccurduetodifferentcapabilities<strong>of</strong><br />
modellingtools.Asanexample,weusedPoseidonforUMLtocreatesource<br />
modelsbecauseitsmetamodelisavailablefromthedeveloper’swebsite.<br />
However,theUMLmodelswegeneratedonotcontainlayoutinformation.<br />
Unfortunately,Poseidonisnotcapable<strong>of</strong>displayingUMLmodelsthatdo<br />
notcontainlayoutinformation. Asaconsequencewehadtouseanother<br />
toolforvisualisation. Fromalargeset<strong>of</strong>toolswetried,onlyBorl<strong>and</strong>’s<br />
Together 2 iscapable<strong>of</strong>generatingalayoutforaUMLmodel.However,the<br />
XMIrepresentationsusedbythistoolarenotcompatiblewiththosegeneratedbytheATLengine.AsaworkaroundwedevelopedaminimalXSLT<br />
transformationthatmapstheXMI‘flavour’generatedbytheATLengine<br />
tothat<strong>of</strong>Together. Analternativeistogeneratethelayoutinformation<br />
requiredbyPoseidonusingamodeltransformation.<br />
1 http://www.w3.org/XML(June2007)