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.

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’).

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

Saved successfully!

Ooh no, something went wrong!