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