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