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.2. Architecture-<strong>Driven</strong>S<strong>of</strong>twareDevelopment 21<br />

architectureconsisting<strong>of</strong>elements,form,<strong>and</strong>rationale. Themodeldistinguishesbetweenthreetypes<strong>of</strong>(design)elements:processing,data,<strong>and</strong><br />

connectingelements.Formincludestherelationshipsamongtheelements<br />

<strong>of</strong>anarchitecture.Rationaleprovidesthemotivationforthedecisionsthat<br />

yieldaparticularset<strong>of</strong>elements<strong>and</strong>form.Thethreeaspects<strong>of</strong>thismodel<br />

fors<strong>of</strong>twarearchitecturecanbefoundinvariousdefinitionsfors<strong>of</strong>tware<br />

architectureusedbylaterresearch(<strong>and</strong>practice).<br />

Garlan<strong>and</strong>Shaw[1993]enumerateaset<strong>of</strong>issuess<strong>of</strong>twarearchitecturesareconcernedwiththatincludesgrossorganisation,globalcontrolstructure,communicationprotocols,<strong>and</strong>assignment<strong>of</strong>functionalitytodesignelements.<br />

Amorerecentdefinition<strong>of</strong>s<strong>of</strong>twarearchitecturecanbefoundinIEEE-<br />

1471[2000]:<br />

Thefundamentalorganisation<strong>of</strong>asystemembodiedinitscomponents,<br />

theirrelationshipstoeachother,<strong>and</strong>totheenvironment,<strong>and</strong>theprinciples<br />

guidingitsdesign<strong>and</strong>evolution.<br />

Thisdefinitionnotonlyincludescomponents(elements)<strong>and</strong>theirrelations,butalsoprinciples,referringto,forinstance,theuse<strong>of</strong>aparticular<br />

architecturalstyle(seeSection2.2.3)ortheuse<strong>of</strong>particularconventions<br />

duringdesign<strong>and</strong>maintenance<strong>of</strong>as<strong>of</strong>twaresystem.<br />

AnalternativedefinitionthatisfrequentlyusedisgivenbyBassetal.<br />

[2003]:<br />

Thes<strong>of</strong>twarearchitecture<strong>of</strong>aprogramorcomputingsystemisthestructureorstructures<strong>of</strong>thesystem,whichcomprises<strong>of</strong>twareelements,theexternallyvisibleproperties<strong>of</strong>thoseelements,<strong>and</strong>therelationshipsamong<br />

them.<br />

This definition acknowledges the now common underst<strong>and</strong>ing that<br />

thereisnosuchthingasthestructure<strong>of</strong>as<strong>of</strong>twaresystem<strong>and</strong>thatdifferenttypes<strong>of</strong>structurescanbeusedtodescribethearchitecture<strong>of</strong>asingle<br />

system.<br />

Kruchten[1998]statesthats<strong>of</strong>twarearchitectureencompassesaset<strong>of</strong><br />

significantdecisionsregardingsystemorganisation,selection<strong>of</strong>elements,<br />

theircomposition,<strong>and</strong>selection<strong>of</strong>anarchitecturalstyletoguidethesedecisions.Inthisdefinition,architectureisthusconsideredasaset<strong>of</strong>decisions,aperspectivefurtherexploredbyJansen[2005].<br />

Insummary,s<strong>of</strong>twarearchitecturecanbeunderstoodinatleasttwo<br />

differentways:1)asaset<strong>of</strong>(architectural)designdecisions,or2)asthe<br />

structurethatistheresult<strong>of</strong>thosedecisions. Inthisthesisweoptfor<br />

thelatter,sinceweonlyconsiders<strong>of</strong>twarestructuresasprescribedbyan<br />

architecturespecificationorasimplementedinsourcecode.<br />

Unfortunately,throughtheuse<strong>of</strong>adjectiveslike“significant”,“fundamental”,“gross”,<strong>and</strong>“global”thedefinitionscitedabovedonotcompletely<br />

clarifywhichparts<strong>of</strong>adesignarearchitectural<strong>and</strong>whichpartsarenot.

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

Saved successfully!

Ooh no, something went wrong!