23.08.2013 Views

Specification of Reactive Hardware/Software Systems - Electronic ...

Specification of Reactive Hardware/Software Systems - Electronic ...

Specification of Reactive Hardware/Software Systems - Electronic ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

11.4 Essential <strong>Specification</strong> Modelling 359<br />

11.4.6 Modelling <strong>of</strong> Classes<br />

The discussion in the previous subsection showed that there are many aspects <strong>of</strong> a<br />

system that are incorporated simultaneously into the model by designing Message Flow<br />

Diagrams. By focusing on instances, however, we have paid less attention to a number<br />

<strong>of</strong> aspects related to classes. A model should preferably have:<br />

a minimal number <strong>of</strong> classes;<br />

classes that are designed for reuse;<br />

well designed composites (generic and reusable);<br />

well designed data structures (efficient access).<br />

P:Product_Info_Keeper<br />

Attributes:<br />

Messages:<br />

store<br />

retrieve<br />

servicePerformed<br />

serviceOffered<br />

D: PI<br />

Attributes:<br />

idNumber<br />

Messages:<br />

requires(Service)<br />

markPending(Service)<br />

markPerformed(Service)<br />

D: Destination<br />

Attributes:<br />

name<br />

address<br />

zipcode<br />

city<br />

state<br />

country<br />

Messages:<br />

P: Feeding_Unit_Image<br />

Attributes:<br />

Messages:<br />

giveStatus<br />

mounted<br />

notMounted<br />

feed<br />

misFed<br />

doubleFed<br />

D: Service<br />

Attributes:<br />

type<br />

name<br />

Messages:<br />

D: RequiredService<br />

Attributes:<br />

serviceState<br />

Messages:<br />

markUnserviced<br />

markPending<br />

markPerformed<br />

provides<br />

P: Transporter_Image<br />

Attributes:<br />

Messages:<br />

wakeAt<br />

encoderPuls<br />

keeps<br />

track <strong>of</strong><br />

D: Position<br />

Attributes:<br />

Messages:<br />

setToZero<br />

increment<br />

+(PositionDelta)<br />

-(Position)<br />

=(Position)<br />

asInitialPosition<br />

D: InitialPosition<br />

Attributes:<br />

Messages:<br />

P: Transporter<br />

Attributes:<br />

Messages:<br />

move<br />

models runs at<br />

controls<br />

Figure 11.16: Feeder Station: Object Class Diagram<br />

D: Speed<br />

Attributes:<br />

Messages:<br />

setToZero<br />

setToMaximum<br />

differ<br />

D: PositionDelta<br />

Attributes:<br />

Messages:<br />

Therefore the design <strong>of</strong> Object Class Diagrams (OCDs) should be performed simultaneously<br />

with Message Flow Diagrams. OCDs give the opportunity to look at the system<br />

has

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

Saved successfully!

Ooh no, something went wrong!