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.2. RunningExample 81<br />
Figure 5.2:Architectureforcopierengines<br />
Forthedevelopment<strong>of</strong> ESM<strong>and</strong>othercomponents,aprocessisused<br />
similartotheprocessoutlinedinSection5.1.ForthisOcéreliesonamodeldrivenapproachbasedon<br />
UML[Dohmen<strong>and</strong>Somers,2003]. Architects<br />
specifyusecaserealisationsusingUMLsequencediagrams.Basedonthese<br />
diagrams,foreverycomponentaUMLstatechartdiagramiscreated.Using<br />
specialtooling 1 ,thesourcecodefortheenginecomponents(e.g., ESM)is<br />
largelygeneratedbasedonthosestatechartdiagrams.ForOcé’sdevelopers<br />
thesestatechartdiagramsactuallyaretheimplementation.<br />
One<strong>of</strong>thereasonsforintroducinga(automated)model-drivendevelopmentapproachwastoovercomeconsistencyproblemswithrespectto<br />
statemachinemodels<strong>and</strong>sourcecode[Dohmen<strong>and</strong>Somers,2003]. By<br />
automaticallygeneratingsourcecodefromstatemachinesthisproblemis<br />
effectivelymoved‘upwards’totheconsistencybetweenscenarios<strong>and</strong>state<br />
machines.<br />
ForESM,eachusecaseaddressesaspecificenginestatetransition. A<br />
usecaseisaccompaniedbyaUMLsequencediagram.Asanexample,considerthediagraminFigure5.7(a)onpage96.<br />
Itdepictstheinteraction<br />
thatoccurswhenacopierengineisrequestedtogotost<strong>and</strong>by,whileitis<br />
running. AtOcéthesesequencediagramsarepurelyusedforcommunicationpurposes,ratherthanasinputforautomaticprocessing(e.g.,model<br />
transformations,orcodegeneration).Because<strong>of</strong>this,theyarenotalways<br />
complete<strong>and</strong>precise. Furthermore,proprietary(non-UML)constructsare<br />
used. Asanexample,inthesesequencediagramsthelifeline<strong>of</strong>theESM<br />
componentisdecoratedwiththename<strong>of</strong>its(high-level)stateatthatpoint<br />
<strong>of</strong>theinteraction.<br />
Toensuresuccessfulevolution<strong>and</strong>maintenance<strong>of</strong>thereferencearchitecture<strong>and</strong>thecomponentsitdefines,ameanstoassesstheconsistencybetweentheinvolvedbehaviouralspecificationsisessential.Itisthischallengeweaddressinthischapter.<br />
1 IBMRationalRoseTechnicalDeveloper-http://www.ibm.com/s<strong>of</strong>tware/awdtools/<br />
developer/technical(June2007)