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.
7.6. NormalisationRules 143<br />
7.6 NormalisationRules<br />
UML,asagenericmodellinglanguage,lacksconstructstosupportitsapplicationinthedomain<strong>of</strong>SMCsystems.Thismakesthat,whenusing‘plain’UML,variousdesignidiomsareavailableforh<strong>and</strong>lingSMCconcerns.Forinstance,guards(e.g.,‘subsystemisavailable’)were<strong>of</strong>tenmodelledasevents(e.g.,‘subsystembecomesavailable’)althoughthesearefundamentallydifferent.<br />
Similarly,manufacturingactivitiescanbespecifiedasactionson<br />
statetransitionsorasactionsinseparatestates.Thisidiomdiversityisfuelledfurtherbytoollimitations.Forinstance,toolsthatsupportaspecific<br />
UMLversion,donotnecessarilysupportall<strong>of</strong>itsconstructs.<br />
Todefinearchitecturetransformations,weneedsourcemodelsinanormalisedform.<br />
Thesenormalisedmodelsareassociatedwithametamodel<br />
thataddsconstraintstothelegacysourcemetamodel<strong>and</strong>augmentsitwith<br />
SMC-specificconstructs. Theseconstraints<strong>and</strong>additionalmodelelements<br />
areusedinwell-formednessrulesthatprescribehowtospecifySMC-specific<br />
concerns.Forthis,UMLallowsattachingconstraintstomodelelementsusingOCL,<strong>and</strong>forthedefinition<strong>of</strong>additionalmodelelementsbystereotypes.<br />
Together,theseenablethedefinition<strong>of</strong>asuitableUML-SMCpr<strong>of</strong>ileforthe<br />
normalisedsourcemetamodel.Examplediagramsthatconformtothispr<strong>of</strong>ileareshowninFigures7.7onpage148<strong>and</strong>7.8onpage149.<br />
Normalisedsourcemodelshavetocomplytoaset<strong>of</strong>well-formedness<br />
rules. Mostimportantly,concernshavetobespecifiedinauniformway.<br />
Wehavedefinedast<strong>and</strong>ardisedidiomfortheconcernsasidentifiedinSection7.3.3.Weintroducethisidiombyexample<strong>of</strong>Figures7.7onpage148<strong>and</strong>7.8onpage149.Normalisationinvolvesmodifyingsourcemodelstoremoveanyviolation<strong>of</strong>thesewell-formednessrules.Notethat,duetothediversity<strong>of</strong>theidiomsusedinthesourcemodels,normalisationisperformed<br />
manuallyinourcasestudy.<br />
Table7.1onthefollowingpageliststhestereotypesthatwedefineas<br />
part<strong>of</strong>theSMCpr<strong>of</strong>ile.Nexttostereotypes,thepr<strong>of</strong>ilealsodefinesanumber<strong>of</strong>constraints.Listing7.1onthenextpagelistssome<strong>of</strong>theseconstraints,specifiedinOCLasinvariantsovertheUMLmetamodel(C1-C4).Wemerelyusetheconstraintsindicatedbythedefkeywordtodefineextrapropertiesontheelementsmentionedintheircontext.Thissimplifies<br />
thespecification<strong>of</strong>otherconstraints.Application<strong>of</strong>thesestereotypes<strong>and</strong><br />
constraintsisdiscussedbelow.<br />
Intuitively,thenormalisationiscontextdependent<strong>and</strong>requires(some)<br />
domainknowledge.Moreover,thenormalisationrulesnotonlydependon<br />
thespecificsourceparadigmbutalsoonthemodellingconventionsasencounteredinthespecific(industrial)migrationcontext.Therefore,weillustratethenormalisationstepbydefiningtheusedcontext-specificnormalisationrulesforourcasestudy.