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.
2.3. <strong>Model</strong>-<strong>Driven</strong>Engineering 27<br />
aredevelopedinaprocesscalledapplicationengineering.<br />
Aproductlinecanbeorderedalongamaturityscalebyconsideringits<br />
(domain)scope,theextentthatcommonalities<strong>and</strong>variabilityaremade<br />
explicit,<strong>and</strong>bindingtime<strong>of</strong>itsvariationpoints[Bosch,2002].Afirststep<br />
onthisscaleisthedefinition<strong>of</strong>allcommonalities<strong>and</strong>theirimplementation<br />
asa(domain-specific)s<strong>of</strong>twareplatform. Product-linemembersarethen<br />
builtontop<strong>of</strong>thatplatform.<br />
Boththesystemsthatarethesubject<strong>of</strong>ourindustrialcasestudies(the<br />
ASMLwaferscanners<strong>and</strong>Océcopiers)aredevelopedusingproduct-line<br />
principles.<br />
2.3 <strong>Model</strong>-<strong>Driven</strong>Engineering<br />
Tohidethestructural<strong>and</strong>behaviouralcomplexity<strong>of</strong>s<strong>of</strong>twareplatforms,<br />
approachestos<strong>of</strong>twaredevelopmenthavebeenintroducedthatarereferred<br />
toasmodel-drivenengineering(MDE)[Schmidt,2006]. WithMDEmodels<br />
arecentralinstead<strong>of</strong>code. Theideaistodevelops<strong>of</strong>twarebytransformingabstractmodelsintomoreconcretemodels<strong>and</strong>eventuallyintocode<br />
thattypicallyrunsontop<strong>of</strong>as<strong>of</strong>twareplatform. Suchtransformations<br />
arereferredtoasmodeltransformations. Becausethesetransformations<br />
areautomated,weareparticularlyinterestedinMDEtechnologiesforthe<br />
support<strong>of</strong>thes<strong>of</strong>twareevolutiontaskswedefined.Furthermore,bothMDE<br />
<strong>and</strong>s<strong>of</strong>twarearchitecturesarebasedonabstractions.<br />
Some<strong>of</strong>thebasicideasbehindMDE,thatis,development<strong>of</strong>s<strong>of</strong>tware<br />
byaseries<strong>of</strong>modeltransformations<strong>and</strong>separation<strong>of</strong>functionalspecificationsfromthetechnicaldetails<strong>of</strong>aspecificplatform,areverysimilartothat<strong>of</strong>stepwiserefinementproposedbyWirth[1971].ManytopicsrelatedtoMDEhavebeenextensivelystudiedbytheresearchcommunity:<br />
s<strong>of</strong>twarereuse[Krueger,1992],generativeprogramming[Horowitz<br />
etal.,1985;Cleavel<strong>and</strong>,1988;Czarnecki<strong>and</strong>Eisenecker,2000],transformationalprogramming[Partsch<strong>and</strong>Steinbrüggen,1983],domain-specificlanguages[VanDeursenetal.,2000;Merniketal.,2005],<strong>and</strong>environments<strong>and</strong>approachesfordevelopment<strong>of</strong>suchlanguages[Klint,1993;Van<br />
Deursenetal.,1996].<br />
Foralargepartthedevelopment<strong>of</strong>currentMDEapproaches,however,<br />
hasbeendrivenbyindustry.Severalimplementations<strong>of</strong>theMDEconcept<br />
areinusetoday.Oftenthesearebasedonproprietaryinfrastructurethat<br />
includesdomain-specific(modelling)languages, applicationframeworks,<br />
codegenerators,<strong>and</strong>modelrepositories(see,e.g.,Doyleetal.[2006]).<br />
Additionally, a set <strong>of</strong> industry st<strong>and</strong>ards for MDE has been defined