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.

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

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

Saved successfully!

Ooh no, something went wrong!