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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

388 Case Study<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 />

D: Speed<br />

Attributes:<br />

Messages:<br />

setToZero<br />

setToMaximum<br />

differ<br />

D: PositionDelta<br />

Attributes:<br />

Messages:<br />

Figure 12.9: Object Class Diagram <strong>of</strong> the Mailing Machine<br />

Through the requires(Service) message, a PI instance can be asked whether it contains<br />

a RequiredService that matches the <strong>of</strong>fered Service contained in the message. A RequiredService<br />

matches a Service if they have the same types and names. Through the<br />

markPending(Service) and markPerformed(Service) messages, a PI instance can change state<br />

<strong>of</strong> its matching RequiredService.<br />

Next to aggregation and generalisation relations Figure 12.9 shows a number <strong>of</strong> conceptual<br />

relations 15 . For instance, a Transporter Image models a Transporter. A Transporter runs<br />

at a certain Speed. The Speed is controlled by the Transporter Image. The Transporter Image<br />

keeps track <strong>of</strong> the Position <strong>of</strong> the Transporter.<br />

A Position can differ from another Position. This is a relation between objects <strong>of</strong> the<br />

same class. The difference between two Positions is modelled by an object <strong>of</strong> class<br />

15 Conceptual relations are indicated by named connection between classes.<br />

has

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

Saved successfully!

Ooh no, something went wrong!