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.
5.4. <strong>Model</strong>-<strong>Driven</strong>ConsistencyChecking 83<br />
Foreveryscenarioitischeckedwhetherthemessageorderingisconsistent<br />
withthedomaintheory. Ifnot,eitheronecanbereconsidered. Then,for<br />
eachscenarioa‘flat’statemachineisgeneratedforeverycomponent.Messagestowardsacomponentresultinaneventthattriggersatransition;messagesdirectedawayfromacomponentresultinanactionthatisexecuteduponatransition.Loopsareidentifiedbydetectingstatesthathaveunifiablestatevectors.Twostatesvectorsareunifiableiftheydonotspecifydifferentvaluesforthesamestatevariable.Subsequently,the‘flat’state<br />
machinesgeneratedforacomponentfromdifferentscenariosaremerged<br />
bymergingsimilarstates. Twostatesaresimilariftheirstatevectoris<br />
identical<strong>and</strong>theyhaveatleastoneincomingtransitionwiththesamelabel.<br />
Hierarchyisaddedtotheresultingstatechartsbyauserprovided<br />
subset<strong>and</strong>(partial)ordering<strong>of</strong>thestatevariables.<br />
V<strong>and</strong>erAalstetal.[2004]presentanapproachforthediscovery<strong>of</strong><br />
(business)processmodelsfromeventlogs. Instead<strong>of</strong>statemodels,they<br />
usePetrinetsasprocessmodels.Wheretheyonlyrelyonevent(message)<br />
sequencetomergedifferentworkflowinstances(scenarios),werelyonstate<br />
variablesaswell.<br />
Mostworkinthisareafocusesonthesynthesisalgorithm,whereasthe<br />
integrationinindustrialpracticeremainsimplicit. Infact,many<strong>of</strong>the<br />
approachesarenotsupportedbyatoolorvalidatedinindustrialpractice.<br />
Theirapplicationinpracticeonlybecomesrealisticwhentheyintegrate<br />
withexistingtools<strong>and</strong>st<strong>and</strong>ardsusedinindustry.Therefore,wefocusin<br />
thischapteronUMLsequencediagramsasanotationforscenarios,<strong>and</strong>on<br />
UMLstatemachines.<br />
5.4 <strong>Model</strong>-<strong>Driven</strong>ConsistencyChecking<br />
Inthissectionweoutlineourapproachforconsistencychecking<strong>of</strong>behaviouralspecifications,but,first,weintroducethetechnologiesthatenableourmodel-drivenapproach<strong>and</strong>theunderlyingstructure<strong>of</strong>theinvolvedbehaviouralmodels.<br />
5.4.1 EnablingTechnologies<br />
Ourapproachtakesadvantage<strong>of</strong>thest<strong>and</strong>ardsthatarewidelyusedin<br />
industry,suchasUML<strong>and</strong>XMLMetadataInterchange 1 (XMI),enablingeasy<br />
integrationwiththetoolsusedinindustrialpractice.XMIprovidesameans<br />
toserialiseUMLmodelstobemanipulated,forinstance,usingExtensible<br />
StylesheetLanguageTransformations 2 (XSLT). However,theXMIformat<br />
1 http://www.omg.org/mda/specs.htm#XMI(June2007)<br />
2 http://www.w3.org/TR/xslt(June2007)