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.

52 Chapter3. State<strong>of</strong>thePractice<br />

IBM’sRationalRoseTechnicalDeveloper 1 (formerlyknownasRational<br />

RoseRealTime)letsdeveloperscreateexecutablemodels<strong>and</strong>completely<br />

generatesourcecode.Afewprojectstriedthisapproach.Oneprojectcompletelygeneratedreusableembedded-s<strong>of</strong>twarecomponentsfromRational<br />

RoseRealTimemodels. However,most<strong>of</strong>theseprojectsusedthesetools<br />

onlyexperimentally.<br />

ForcreatingUMLdiagrams,respondentsfrequentlymentionedonlytwo<br />

tools:Micros<strong>of</strong>tVisio<strong>and</strong>RationalRose. Projectsusedthesetoolsmostly<br />

fordrawingratherthanmodelling.Thismeans,forinstance,thatmodels<br />

weren’talwayssyntacticallycorrect<strong>and</strong>consistent.<br />

Otherwell-knownnotationsthatprojectsusedforarchitecturalmodellingweredata-flowdiagrams,entity-relationshipdiagrams,flowcharts,<strong>and</strong>Hatley-Pirbhaidiagrams[Hatley<strong>and</strong>Pirbhai,1987]fortherepresentation<strong>of</strong>controlflow<strong>and</strong>state-basedbehaviour.Projects<strong>of</strong>tenuseddiagramsbasedonthesenotationstoclarifytextualarchitecturaldescriptionsinarchitecturedocuments.Someprojectsusedmorefree-formboxlinedrawingstodocument<strong>and</strong>communicatedesigns<strong>and</strong>architectures.<br />

OneprojectusedtheKoalacomponentmodel[VanOmmeringetal.,<br />

2000]todescribethes<strong>of</strong>twarearchitecture. Comparedtobox-linedrawings,theKoalacomponentmodel’sgraphicalnotationhasamoredefined<br />

syntax.Koalaprovidesinterface<strong>and</strong>componentdefinitionlanguagesbased<br />

onCsyntax. AKoalaarchitecturediagramspecifiestheinterfacesthata<br />

componentprovides<strong>and</strong>requires.ThisprojectusedMicros<strong>of</strong>tVisiotodraw<br />

theKoaladiagrams.<br />

Projects<strong>of</strong>tenusedpseudocode<strong>and</strong>pre-<strong>and</strong>postconditionstospecify<br />

interfaces. Althoughthistechniqueismorestructuredthannaturallanguage,theresultingspecificationsweremostlyincomplete,withmanyimplicitassumptions.Thisnotonlysometimesledtomisunderst<strong>and</strong>ingsbut<br />

alsohamperedtheuse<strong>of</strong>othertechniquessuchasformalverification.<br />

Someprojectsreferredtoareferencearchitectureoranarchitecture<br />

usermanual. Thesedocumentsdefinedthespecificnotationsinarchitecturaldocuments<strong>and</strong>explainedwhicharchitecturalconceptstouse<strong>and</strong><br />

howtospecifythem.<br />

3.5.3 S<strong>of</strong>twareArchitectureEvaluation<br />

Mostprojectsdidnotexplicitlyaddressarchitectureverificationduringdesign;thosethatdidprimarilyusedqualitativetechniques.<br />

Fewprojects<br />

usedquantitativetechniquessuchasPetrinetsorratemonotonicschedulinganalysis[Liu<strong>and</strong>Layl<strong>and</strong>,1973].Onereasonisthatquantitativeanalysistoolsneeddetailedinformation.Inpractice,projects<strong>of</strong>tenusedan<br />

1 http://www-306.ibm.com/s<strong>of</strong>tware/awdtools/developer/technical(June2007)

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

Saved successfully!

Ooh no, something went wrong!