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 29<br />

sametimepowerfulenoughto,forexample,generatesourcecode<strong>and</strong>performassessments[Bézivin,2005].Thisrequiresthatmodelsleaveoutdetailsthatareirrelevantfortheirpurpose.Thissimplification(orabstraction)istheessence<strong>of</strong>modelling[Bézivin<strong>and</strong>Gerbé,2001].<br />

Strictlyspeaking,sourcecodeisalsoamodel[Mens<strong>and</strong>VanGorp,2006]<br />

that,withMDE,isthetarget<strong>of</strong>amodeltransformation.Inpractice,however,code<strong>and</strong>modelsare<strong>of</strong>tenconsideredtobedifferenttypes<strong>of</strong>artefacts.<br />

Typically,ins<strong>of</strong>twareengineeringpractice<strong>and</strong>inparticularinthecontext<br />

<strong>of</strong>MDEsomethingisconsideredtobeamodelifithasagraphicalrepresentationinstead<strong>of</strong>onlyatextualoneasinthecaseforsourcecode[Mellor<br />

etal.,2003;Bézivin,2006].<br />

Kleppeetal.[2003]addanotherelementtothedefinition<strong>of</strong>amodelby<br />

statingthatamodeliswritteninawell-definedlanguage. Thus,forthe<br />

creation<strong>of</strong>modelsmodellinglanguagesarerequired. Basicallytwotypes<br />

<strong>of</strong>suchlanguagesexist: general-purposelanguages(GPLs)<strong>and</strong>domainspecificlanguages(DSLs).<br />

UMLisanexample<strong>of</strong>alanguageintheMDA<br />

framework<strong>of</strong>theformertype.Itisappliedinmanydifferentdomains<strong>and</strong><br />

formanydifferentpurposes. Thelattertype<strong>of</strong>languagesis<strong>of</strong>tenspecificallydefined.<br />

Inthisthesisthes<strong>of</strong>twareevolutiontaskswedefinedareappliedto<br />

modelsasinthecontext<strong>of</strong>MDE. Tothisend,wenotonlyuseUML,but<br />

also(domain-specific)languageswedefinedourselvesusingtheMetaObject<br />

Facility 1 (MOF),themetamodellinglanguagedefinedbytheOMG.<br />

2.3.2 Metamodelling<br />

WithMDE,themodellinglanguagesusedtocreatemodelsaredefinedby<br />

metamodels. Ametamodelisagraphcomposed<strong>of</strong>concepts<strong>and</strong>theirrelationships.Fromausageperspectiveametamodeldetermineswhichaspects<strong>of</strong>asystemwillbemodelledinacorrespondingmodel[Bézivin,2006].<br />

Ametamodelisamodelitself,thatis,amodel<strong>of</strong>alanguage.Assuch,a<br />

metamodelis,inturn,createdusingamodellinglanguage.Themetamodel<br />

usedtodefinethismetamodellinglanguageisreferredtoasthemetametamodel.<br />

Thismetametamodelisdefinedreflectivelybyusingthelanguage<br />

itdefinesitself.Thisyieldsalayeredstructure(architecture)<strong>of</strong>modelsas<br />

depictedinFigure2.3onthenextpagethatistypicalforMDEapproaches.<br />

Itisbasedonthetw<strong>of</strong>undamentalrelations(represented by<strong>and</strong> conforms to)<br />

<strong>and</strong>concepts(system<strong>and</strong> model)<strong>of</strong>Figure2.2. ForstructuresasinFigure2.3onthenextpagethatmodelMDEconcepts,suchassystem,model,<br />

<strong>and</strong>metamodel,thetermmegamodelwasintroduced[Bézivinetal.,2005;<br />

Favre,2005b].<br />

1 http://www.omg.org/m<strong>of</strong>(June2007)

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

Saved successfully!

Ooh no, something went wrong!