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.
104 Chapter6. ConformanceCheckingII<br />
Implementation<br />
alignment<br />
Design Space<br />
Architecture<br />
alignment<br />
Figure 6.1:Aligningarchitecture<strong>and</strong>implementation<br />
welearntthatnewproductsarerarelydevelopedfromscratch<strong>and</strong>that<br />
reuse<strong>of</strong>existingdevelopmentartefactsistypicallyadhoc. Theseobservationstriggeredourresearchinthefield<strong>of</strong>conformancecheckingasa<br />
secondstepinenhancingthefunctionality<strong>of</strong>aproductoradaptingittoa<br />
changedenvironment(seeFigure1.2onpage5).Inourviewaconsistent<br />
set<strong>of</strong>s<strong>of</strong>twaredevelopmentartefactsisaprerequisiteforsuccessfulreuse.<br />
Conformancecheckingisrequiredtodeterminethisconsistency.<br />
Ingeneral,conformancecheckingcouldbeappliedtoallrelatedartefactsproducedindifferentphases<strong>of</strong>thes<strong>of</strong>twaredevelopmentprocess.In<br />
thischapterwefocusontheconformancebetweens<strong>of</strong>twarearchitectural<br />
views<strong>and</strong>thecorrespondingimplementation.<br />
Anarchitecturalviewisadescription<strong>of</strong>as<strong>of</strong>twarearchitecturethat<br />
addressesaspecificset<strong>of</strong>concerns.Theguidelinesforthecreation<strong>of</strong>such<br />
viewsaredescribedbyassociatedviewpoints[IEEE-1471,2000].Viewsare<br />
developedduringthearchitecturephasetospecifyconstraintsoverdesign<br />
elements<strong>and</strong>relations[Perry<strong>and</strong>Wolf,1992]forthesubsequentproduct<br />
implementation,thatis,thedesignspace<strong>of</strong>Figure6.1.<br />
Tocheckwhetheranimplementationdoesnotviolatetheconstraints<br />
imposedbyaview,viewsneedtobecreated(reconstructed)fromimplementations[VanDeursenetal.,2004]todetermine(predicate)theproperties<strong>of</strong>theactualimplementationfromanarchitecturalperspective,for<br />
instance,todeterminehowimplementationunitsarerelatedtoeachother.<br />
Theconstraintsthatanarchitecturespecificationdefineseffectivelydeterminethebounds<strong>of</strong>thedesignspaceinwhichtheimplementationhastoberealised.Figure6.1illustratesthattheimplementationinthiscaseviolatessome<strong>of</strong>thearchitecturalconstraints<strong>and</strong>thusdoesnotcompletely<br />
fallwithinthepermitteddesignspace.Theseviolationscanberesolvedby<br />
eitherupdatingthearchitectureortheimplementation.<br />
Here,atechnical<strong>and</strong>aconceptualproblemarise. Firstthelanguages<br />
usedinimplementation(programminglanguages)<strong>and</strong>architecturalviews