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.

106 Chapter6. ConformanceCheckingII<br />

audiblemusic.Here,wefocusontheprocess<strong>of</strong>readingtherecord<strong>and</strong>generatingthesymbolstream.Ahardwareview<strong>of</strong>thissystemisdepictedin<br />

Figure6.2. Thesystemiscomposed<strong>of</strong>atraditionalturntable<strong>and</strong>aset<br />

<strong>of</strong>simplelightsensorsthatcanbemovedaxiallybyamotor. Thecontrol<br />

isimplementedinJava<strong>and</strong>distributedbetweenasimplemicrocontroller<br />

<strong>and</strong>aPC.<br />

Track<br />

Sensor<br />

Data<br />

Sensor<br />

Symbol<br />

map<br />

Motor<br />

control<br />

Figure 6.2:Digitalmusicboxreadersystem<br />

Thes<strong>of</strong>twarearchitecturedocumentationconsists<strong>of</strong>aset<strong>of</strong>views.Two<br />

<strong>of</strong>themaredepictedinFigure6.3. Theirgoverningviewpointswillbe<br />

explainedinmoredetaillater.<br />

Figure6.3(a) depictsthesystemasaset<strong>of</strong>communicatingprocesses.<br />

Thisviewusesstereotyped[OMG,2007a]Unified<strong>Model</strong>ingLanguage 1<br />

(UML)objectstorepresentcomponents(processes)<strong>and</strong>stereotypeslinks<br />

torepresentconnectors(messages,<strong>and</strong>shareddata). Here,the trackmotor<br />

processcontrolsthespeed<strong>of</strong>themotorthatmovesthesensorsovertherotatingdisc(axially).<br />

The trackprocesscontrolsthe Track Sensor<strong>and</strong>uses,<br />

viaaMessageconnector,the trackmotorprocesstokeepthe Data Sensorpositionedoverthespiraltrack.<br />

The readprocessusesthe Data Sensorto<br />

readthedisc.ViaaSharedDataconnectorthe outputprocessplaystheread<br />

bitsonsomeoutputdevice.Finally,itwasforeseenthatthe read<strong>and</strong> track<br />

processesneededtocommunicateviaaMessageconnector,forinstanceto<br />

communicatethestatus<strong>of</strong>thereadprocess.<br />

Theplannedorganisation<strong>of</strong>implementationunits(modules)isgiven<br />

bythemodule-usesviewdepictedinFigure6.3(b).Here,modulesarerepresentedbystereotypedUMLclasses<strong>and</strong>usesrelationsbydependencies.<br />

Furthermore,alayeringisrepresentedusingthepackagestructure.Here,<br />

thelowerlayersareclosertothehardware(e.g.,motors<strong>and</strong>sensors),while<br />

theupperlayersareclosertotheuser.<br />

1 http://www.uml.org(June2007)<br />

M

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

Saved successfully!

Ooh no, something went wrong!