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.

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

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

Saved successfully!

Ooh no, something went wrong!