Model-Driven Evolution of Software Architectures - Software and ...
Model-Driven Evolution of Software Architectures - Software and ...
Model-Driven Evolution of Software Architectures - Software and ...
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