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.

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)

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

Saved successfully!

Ooh no, something went wrong!