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.

5.7. Discussion 99<br />

rivedpre-<strong>and</strong>postconditionsfromdecorationsinthesequencediagrams.<br />

Ingeneral,pre-<strong>and</strong>postconditionsarenotalwaysobviousfromdesigndocumentation.<br />

Insuchsituationsthesemighthavetobederivedindirectly<br />

fromdocumentationorreverseengineeredfromsourcecode.<br />

Theintroduction<strong>of</strong>pre-<strong>and</strong>postconditionseffectivelyisanormalisationtotheUMLst<strong>and</strong>ardusedbyOcé<strong>and</strong>ourtools(version1.4[OMG,<br />

2007a]).ForthecurrentUML(version2.1.1)thisisnotnecessary,assuch<br />

lifeline decorations became part <strong>of</strong> the specification (the corresponding<br />

metamodel element is called StateInvariant [OMG, 2007b, page 500]).<br />

Tosupportthis,onlyminormodificationstoourATLtransformationsare<br />

required.<br />

Scalability<strong>of</strong>theapproach Ourapproachconstitutesafirststeptowardsfully<br />

automatedconsistencychecking.<br />

IntheOcécasestudy,thesourcemodelforthetransformationstep<strong>of</strong><br />

ourapproachincludes10sequencediagramsthatcontain62messages.The<br />

resultingintegrated,hierarchicalstatemachine,<strong>of</strong>whichafragmentwas<br />

depictedinFigure5.8onpage97,contains23transitionsbetween14compositestatescontainingintotal47simplestates.<br />

Ourapproachisafirststept<strong>of</strong>ullyautomatedconsistencychecking<br />

<strong>of</strong>behaviouralspecifications. Fornow,werelyonmanualinspection<strong>of</strong><br />

theresultingstatemachineforactualevaluation<strong>of</strong>theconsistency. As<br />

such,thescalabilityiscurrentlynotlimitedbythetransformationsteps(in<br />

theOcécasetheyeachtakelessthan10seconds),butbythecomparison<br />

step. Forcaseswerethenumber<strong>of</strong>statesislimited<strong>and</strong>developershave<br />

knowledgeonthesystem,thisisafeasibleapproach.ForESM,whichisa<br />

medium-sizedcomponent(approximately10KLOC),thisturnedoutnotto<br />

beaproblem.<br />

Fullyautomaticconsistencycheckingcouldbedonebyrelyingonnaming.Anexample<strong>of</strong>suchanapproachisdiscussedbyVanDijketal.[2005].<br />

ItcheckstheconsistencybetweentheunderlyingXMIrepresentations<strong>of</strong><br />

UMLmodels.However,inthiscase,thenames<strong>of</strong>messagesinthescenarios<br />

didnotpreciselycorrespondtothenames<strong>of</strong>transitioneffects<strong>and</strong>events<br />

intheimplementationstatemachine.Althoughtheyareeasilymatchedby<br />

ahuman,thishampersfullautomation.<br />

Theuse<strong>of</strong>graphmatchingtechniquesisanotherpossibility<strong>of</strong>checkingtheconsistency<strong>of</strong>twostatemachines.Alsousingsuchtechniquesthe<br />

problem<strong>of</strong>matchingnode<strong>and</strong>edgelabelsremains.<br />

Als<strong>of</strong>orautomaticapproaches,however,thegeneration<strong>of</strong>astatemachinefromaset<strong>of</strong>scenarios,asdiscussedinthischapter,islikelytobea<br />

firststep.

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

Saved successfully!

Ooh no, something went wrong!