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.
7.6. NormalisationRules 145<br />
Subsystemsetups Inthesourcemodel,subsystemstateconsistencyisensuredbyspecifyingsetuptransitionsforeverypossiblesubsystemstateat<br />
design-time. Inpractice,thisisnotdoneexhaustively. Instead,domainknowledgeisusedtolimitthenumber<strong>of</strong>setuprelatedalternativetransitions.<br />
Althoughsubsystemsetupscanbeperformedautomaticallyusing<br />
theTRSparadigm<strong>and</strong>,thus,donotneedtobespecifiedexplicitly,wedo<br />
preservethemduringthenormalisationstep.Thisinfactensuresthatthe<br />
migratedcontrolsystemmimicsthebehaviour<strong>of</strong>thelegacycontrolsystem<br />
exactly. WhenreconsideringFigure7.6onpage142<strong>and</strong>7.8onpage149,<br />
the move to rotateActionisinfactaresourcesetup.<br />
Forthenormalisedsourcemodelwedonotuseaspecificidiomforsetup<br />
activities;setupsaremodelledasanyothermanufacturingactivity. Ifwe<br />
wouldbelessconcernedwithexactpreservation<strong>of</strong>behaviour,setupactivitiescouldbesimplyremovedduringnormalisation.Inthatcase,domainknowledgeisrequiredtodistinguishbetweensetupactivities<strong>and</strong>manufacturingactivities.<br />
Subsystemusage Thepatterntoaddressthe‘subsystemusage’concernis<br />
bestunderstoodfromone<strong>of</strong>theorthogonalregionsinthecompositestate<br />
inFigure7.8onpage149. Beforeamanufacturingactivity(e.g., finish exchange)thatrequiresacertainsubsystem(WS)isexecuted,achoicepseudostateisentered.Then,iftherequiredresourceisavailable([WS<br />
available]),<br />
itisclaimed(claim WS)bythetransitiontowardsthestateinwhichthe<br />
manufacturingactivityisexecuted(FINISH).Otherwise,astate(WAIT_FOR_WS)<br />
isenteredthatisonlyleftwhenaneventoccursindicatingtheresource<br />
hasbecomeavailable(WS available). Theresourceisclaimed(claim WS)on<br />
thetransitiontriggeredbythatevent.Oncethemanufacturingactivityis<br />
performed,claimedresourcesarereleasedagainbyareleaseactionthatis<br />
executedwhenexitingthestate(release).Thispatterncaneasilybegeneralised.<br />
WeusethestereotypesdefinedbytheSMCpr<strong>of</strong>ile(Table7.1)todistinguishbetweenActions,Guards,Events,<strong>and</strong>Statesrelatedtotheuse<strong>of</strong><br />
subsystems<strong>and</strong>thoserelatedtotheexecution<strong>of</strong>manufacturingactivities<br />
(towhichnostereotypesareapplied). Normalisationintroducesstereotypesforspecificmodelelementsthatarerelatedtothesubsystemusage<br />
concern. Furthermore,fromFigure7.6onpage142,<strong>and</strong>itsnormalised<br />
counterpartinFigure7.8onpage149,itcanbeseenthatadditionalmodel<br />
elementsareintroducedtocompletethepatterndescribedabove.Notethat<br />
inFigures7.7onpage148<strong>and</strong>7.8onpage149stereotypesaredisplayed<br />
onlyforstates:thisisalimitation<strong>of</strong>theUMLtoolweareusing(i.e.,’PoseidonforUML’).