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.

146 Chapter7. <strong>Model</strong>-<strong>Driven</strong>Migration<br />

Application<strong>of</strong>thestereotypestosourcemodelsrequiresdomainknowledgetorecognisethesubsystemusageconcern.<br />

Thisbecomesapparent<br />

whenreconsideringFigure7.8onpage149. Here, WAIT_FOR_WSisastate<br />

inwhichthesystemwaitsforasubsystemtobecomeavailable. Thisis<br />

intuitivelydifferentfromthe WAIT_WAFER_MEASUREDstatesinFigure7.7on<br />

page148,wheretheintentionistospecifythatthesystemwaitsforamanufacturingactivitytobecompleted.The<br />

≪wait≫stereotypeisonlyapplied<br />

totheformerstate.<br />

Fornormalisation<strong>of</strong>sourcemodelswerequirethatresourceusagepatternsaremadecomplete.<br />

InFigure7.6onpage142,forinstance,onlya<br />

releaseactionisspecifiedfor WS.InListing7.1onpage144C1,C2,<strong>and</strong>C3<br />

arerelatedtothesubsystemusagepattern. C1specifiesthata≪release≫<br />

ActiononlyoccursasastateexitAction. C2statesthatatleastone<strong>of</strong>the<br />

outgoingTransitionsfora≪wait≫Stateistriggeredbyan ≪available≫<br />

Event.Finally,toconformtoconstraintC3,allActionsrelatedtomanufacturingactivitiesaremovedtoStatesasentryActions.Anexample<strong>of</strong>thisis<br />

the report done(entry)ActioninFigure7.6onpage142thatwasnormalised<br />

toanexitAction(Figure7.8onpage149).<br />

Synchronousexecution Synchronisationbetweensubsequentmanufacturing<br />

activitiesinthesourcemodelsissimplyachievedbytheirorderinthestate<br />

machine. Furthermore,synchronisationbetweensubsystemstatetransitionsisnotmodelledatthislevel.<br />

Assuch,nospecificidiomisusedto<br />

specifythisconcern. Ingeneral,however,wehavetotakethisconcern<br />

intoaccountwhilenormalisingthepatternsassociatedwithotherconcerns.<br />

Whileinserting<strong>and</strong>movingactivitieswehavetomakesurethatwedonot<br />

changetheirorderinthenormalisedsourcemodel.<br />

Concurrentexecution Intheoriginalsourcemodels,concurrencywas<strong>of</strong>ten<br />

modelledusingStates,includingActionsthatstarttwoormoremanufacturingactivities<strong>and</strong>separatetransitionpathsforallpossiblecompletion<br />

sequences,whichareenabledby(external)completionEvents. Asanexample,considerstate<br />

MEASURE_AND_PREPARE<strong>and</strong>associatedcompletionsevents<br />

prepared<strong>and</strong> measuredinFigure7.5onpage141.Becausethoseeventscan<br />

onlybeassociatedwiththeircorrespondingmanufacturingactivitiesusing<br />

namingconventions,suchanapproachcomplicatesthedetermination<strong>of</strong><br />

thescope<strong>of</strong>concurrentexecution.Therefore,werequirethatconcurrency<br />

ismodelledusingaconcurrentCompositeStatecontaining(orthogonal)regions.<br />

Thisimpliesthatduringnormalisation,manufacturingactivities<br />

aremappedtoCompositeStateswhentheyarestartedinasingleState<br />

node<strong>and</strong>alternativecompletionsequencesarespecifiedexhaustively.Figure7.8onpage149containsanexample<strong>of</strong>concurrentexecution,where

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

Saved successfully!

Ooh no, something went wrong!