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.
8.3. <strong>Model</strong>-<strong>Driven</strong>ArchitecturalViews 173<br />
Toallowtheuse<strong>of</strong>customdefinedDSMLswithouttheneedtospecifically<br />
developcorrespondinggraphicalrepresentations<strong>and</strong>editors,weuse UML<br />
Diagrams.Tothisend,wemapDSML <strong>Model</strong>sto UML <strong>Model</strong>sthatarevisualised<br />
asUMLdiagramsforinclusioninviewdocumentationwithst<strong>and</strong>ardUML<br />
tooling.Thus,inMDAVtheconnectionbetweenviews<strong>and</strong>modelsismade<br />
through(UML)diagrams.Thankstothisconnection,viewscanbe(partly)<br />
generatedfromthesamemodelsasthesourcecode;theybecomemodel<br />
driven.<br />
8.3.2 MDAVProcess<br />
Insummary,comparedtotheconceptualmodelasdescribedbyIEEEStd<br />
1471-2000,weaddtheconcept<strong>of</strong>adiagramthatallowstorelateaviewto<br />
amodel.Furthermore,in-linewithMDE,weexplicitlyaddedametamodel<br />
asadescription<strong>of</strong>themodellinglanguageusedinaview. Application<strong>of</strong><br />
thecorrespondingapproachinvolvesthreesteps:definition<strong>of</strong>1)asuitable<br />
metamodel,2)meanstocreatecorrespondingmodels,<strong>and</strong>3)amappingto<br />
UML.<br />
Asuitablemetamodelforaparticularviewpointcanbedefinedfrom<br />
scratchorbasedonanexistingADLthataddressestherelevantconcern.In<br />
theformercase,weuseadescription<strong>of</strong>theviewpoint(e.g.,fromClements<br />
etal.[2002a])<strong>and</strong>createcorrespondingelements<strong>and</strong>relationsinthemetamodel.Inthelattercase,webasethemetamodelontheADL’sgrammar(or<br />
otherlanguagespecificationmechanism). Giventhetypicallymodestsize<br />
<strong>and</strong>simplesyntax<strong>of</strong> ADLs<strong>and</strong>usingappropriatetooling,corresponding<br />
metamodelsareeasilycreated.<br />
Ameanstocreatemodelsassociatedwiththedefinedmetamodelisalso<br />
required.Dependingonthecomplexity<strong>of</strong>theassociatedmetamodeldifferentalternativesaresuitable,<strong>of</strong>whichwegiveexamplesinSection8.4.Wespecify<strong>and</strong>implementthemappingbetweentheprescribedmetamodel<strong>and</strong>UMLusingamodeltransformationlanguage.ForseveralADLsmappingstoUMLalreadyexist,thatwecanspecifyasmodeltransformations.<br />
Thisallowsustoautomaticallytransformanarchitectural(ADL)<br />
modeltoaUML <strong>Model</strong>. Assuch, ADL <strong>Model</strong>s<strong>and</strong> UML Diagramscanevolve<br />
simultaneously.<br />
AlthoughthecorrespondingUMLdiagrammightnotexactlyrepresent<br />
thearchitecturalmodel(e.g.,becausethelatterusesconceptsthatdonot<br />
correspondtoanyUMLconcept),itistypicallycompleteenoughformany<br />
communicationpurposes. Thiscanbeconcludedbyconsideringthewidespreaduse<strong>of</strong>UMLforarchitecturaldocumentationinindustrialpractice<br />
(e.g.,seeChapter3<strong>and</strong>Langeetal.[2006]). Moreover,inthecase<strong>of</strong>a<br />
semanticmismatch,weusestereotypestoindicatethetype<strong>of</strong>ADLelement<br />
aspecificUMLelementrepresents.