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 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)