Model-Driven Evolution of Software Architectures - Software and ...
Model-Driven Evolution of Software Architectures - Software and ...
Model-Driven Evolution of Software Architectures - Software and ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
3.3. Embedded-S<strong>of</strong>twareDevelopmentContext 45<br />
3.3 Embedded-S<strong>of</strong>twareDevelopmentContext<br />
Whenconsideringtheembedded-s<strong>of</strong>tware-developmentprocess,youneed<br />
tounderst<strong>and</strong>thecontextinwhichitisapplied. Afterall,mostcompaniesthatdevelopembeddeds<strong>of</strong>twaredonotsellit.<br />
Althoughatthetime<br />
<strong>of</strong>writingthisisslowlychanginginsomeindustries(e.g.,consumerelectronics,seeVanGenuchten[2007],theyprimarilysellmobilephones,CD<br />
players,lithographysystems,<strong>and</strong>otherproducts. Thes<strong>of</strong>twareinthese<br />
productsconstitutesonlyone(important)part. Embedded-s<strong>of</strong>twareengineering<strong>and</strong>otherprocessessuchasmechanicalengineering<strong>and</strong>electrical<br />
engineeringareinfactsubprocesses<strong>of</strong>systemsengineering.Coordinating<br />
thesesubprocessestodevelopqualityproductsisone<strong>of</strong>embedded-system<br />
development’smostchallengingaspects.Theincreasingcomplexity<strong>of</strong>systemsmakesitimpossibletoconsiderthesedisciplinesinisolation.Forinstance,whenlookingatcommunicationbetweendifferentdevelopmentteams,wenoticedthatbesidesverticalcommunicationlinksalong<br />
thelines<strong>of</strong>thehierarchy<strong>of</strong>architectures,horizontalcommunicationlinks<br />
existed. Verticalcommunicationoccursbetweendeveloperswhoareresponsibleforsystems,subsystems,orcomponentsatdifferentabstraction<br />
levels(e.g.,asystemarchitectcommunicatingwithas<strong>of</strong>twarearchitect).<br />
Horizontalcommunicationoccursbetweendeveloperswhoareresponsible<br />
forthesethingsatthesameabstractionlevel(e.g.,aprogrammerresponsibleforcomponentAcommunicatingwithaprogrammerresponsiblefor<br />
componentB).<br />
Still,wefoundthatsystemsengineeringwasmostlyhardwaredriven<br />
–thatis,fromamechanicaloranelectronicviewpoint. Insomecompanies,s<strong>of</strong>twarearchitectsweren’teveninvolvedindesigndecisionsatthe<br />
systemlevel. Hardwaredevelopmentprimarilydominatedsystemdevelopmentbecause<strong>of</strong>longerleadtimes<strong>and</strong>logisticaldependenciesonexternalsuppliers.Consequently,s<strong>of</strong>twaredevelopmentstartedwhenhardware<br />
developmentwasalreadyatastagewherechangeswouldbeexpensive.<br />
Hardwarepropertiesthennarrowedthesolutionspacefors<strong>of</strong>twaredevelopment.Thisresultedinsituationswheres<strong>of</strong>twareinappropriatelyfulfilledtherole<strong>of</strong>integrator;thatis,problemsthatshouldhavebeensolved<br />
inthehardwaredomainweresolvedinthes<strong>of</strong>twaredomain. Embeddeds<strong>of</strong>twaredevelopersfeltthatthiswasbecomingaseriousproblem.<br />
So,<br />
inmanycompaniesthiswaschanging;s<strong>of</strong>twarearchitectswerebecoming<br />
moreinvolvedonthesystemlevel.<br />
Dependingontheproduct’scomplexity,projectsusedsystemrequirements<br />
to design a system architecture containing multidisciplinary or<br />
monodisciplinary subsystems. (A multidisciplinary subsystem will be<br />
implementedbydifferentdisciplines; adisciplinereferstos<strong>of</strong>tware, or<br />
mechanics,orelectronics,oroptics,<strong>and</strong>soon.Amonodisciplinarysubsys-