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.
174 Chapter8. Visualisation<strong>of</strong>DSMLs<br />
Figure 8.2:C&Cmodel<strong>of</strong>CaPiTaLiZe(ACME)<br />
8.4 UsingMDAVtoGenerateViews<br />
WeappliedMDAVtotwoarchitecturalviewpoints:wedefinedanappropriatemetamodel(i.e.,amodelling‘language’),meanstocreate<strong>and</strong>manipulateassociatedmodels,<strong>and</strong>amappingtoUML,<br />
WeusetheCaPiTaLiZesystem, <strong>of</strong>tenusedins<strong>of</strong>twarearchitecture<br />
literature[Allen<strong>and</strong>Garlan,1997],asarunningexample. CaPiTaLiZe<br />
transformsacharacterstreambycapitalisingalternatecharacters.AC&C<br />
model<strong>of</strong>CaPiTaLiZedefinedusinganADL(ACME[Garlanetal.,2000])is<br />
visualisedinFigure8.2. CaPiTaLiZeisdesignedasapipe-<strong>and</strong>-filtersystem,withseparatecomponentsforsplittingastream<strong>of</strong>charactersintwo<br />
streams(split),(un)capitalisingcharacters(upper, lower),<strong>and</strong>mergingtwo<br />
streams<strong>of</strong>characters(merge).<br />
Thediagram<strong>of</strong>CaPiTaLiZe’smoduleviewisdepictedinFigure8.3(c)<br />
. In this UML class diagram we represent architectural modules with<br />
UMLPackages<strong>and</strong>use-relationswith UMLDependencies, assuggested<br />
byClementsetal.[2002a].<br />
8.4.1 Module-UsesView<br />
Metamodel Module-usesviewsarebasedonaspecialtype<strong>of</strong>dependency<br />
relation:theusesrelation. Assuch,theseviewsonlycontainonetype<strong>of</strong><br />
element<strong>and</strong>onetype<strong>of</strong>relation[Clementsetal.,2002a].<br />
Although UMLiswell-suited<strong>and</strong>thereforealsotypicallyusedinthe<br />
primary presentation <strong>of</strong> module views, we developed a small custom<br />
metamodeltoillustrateMDAV. ThisMADLmetamodelisspecifiedinFigure8.3(a)<br />
usingtheMOF.InadditiontoaModuleelement<strong>and</strong> userelation<br />
itdefinesan Implementationtoconsist<strong>of</strong>aset<strong>of</strong>modulesthatmay use<br />
othermodules.NotethatthismetamodelisdifferentthantheMADLmetamodelinFigure6.6(b)onpage113.Althoughbothareusedtoaddressthe<br />
sameconcerns,theirpurposeisdifferent(documentationvs.conformance<br />
checking). Forthatreason,theuse-relationismodelledbythelatterasa<br />
first-classmodellingelement(toallowspecifyingitsconformance).