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.

356 SHE Framework<br />

accept(PI)<br />

Product_<br />

Input_<br />

Handler<br />

currentPosition<br />

(InitialPosition)<br />

productArrived<br />

productArrived<br />

Transporter_<br />

Image<br />

move(Speed)<br />

Transporter<br />

schedule<br />

(PIKeeperId,<br />

InitialPosition)<br />

wakeAt(Position,Id)/<br />

wakeup(Id)<br />

encoderPuls<br />

free(PIKeeperId)<br />

store(PIKeeperId,PI)<br />

Service_<br />

Scheduler<br />

Product_<br />

Info_<br />

Keeper<br />

feed(PIKeeperId,InitialPosition)<br />

giveStatus/<br />

notMounted,<br />

mounted(Service)<br />

wakeAt(Position,Id)/<br />

wakeup(Id)<br />

wakeAt(Position,Id)/<br />

wakeup(Id)<br />

stop,start<br />

serviceRequired<br />

(PIKeeperId,<br />

Service)/<br />

required,<br />

notRequired<br />

handOver(PIKeeperId,InitialPosition)<br />

Feeding_Unit_<br />

Image<br />

mounted, feed<br />

notMounted<br />

misFed,<br />

doubleFed<br />

Feeding_<br />

Unit<br />

retrieve(PIKeeperId)/take(PI)<br />

servicePerformed<br />

(PIKeeperId,Service)<br />

feedReady<br />

(ProductInfoKeeperId,<br />

Service)<br />

Service_<br />

Administrator<br />

Images_Of_<br />

Other_Functional_<br />

Units<br />

Other_Functional_<br />

Units<br />

Figure 11.14: Feeder Station: Scenario Assembly<br />

parameters, defined by their data object classes;<br />

Feeder_Station<br />

Feeder_Controller<br />

Product_<br />

Output_<br />

Handler<br />

possible alternative replies, for which message names must be defined;<br />

a flow type;<br />

the direction <strong>of</strong> a flow.<br />

accept(PI)<br />

The direction <strong>of</strong> a flow is not always predetermined. Usually an object sends a request<br />

to another object that can perform some service. However a server can also <strong>of</strong>fer its<br />

service by taking the explicit initiative to send messages to potential users <strong>of</strong> their<br />

services. Figure 11.15 shows the alternative message flow types. The choice <strong>of</strong> a<br />

flow type has in general direct consequences for the behaviour <strong>of</strong> the process object<br />

class. Architecture decisions can be taken into account if they concern concurrency,<br />

distribution and implementation. Various boundaries can be used to guide the selection<br />

<strong>of</strong> flow types. Well considered annotation <strong>of</strong> boundaries on clusters in MFDs can prevent<br />

iterations in the selection <strong>of</strong> flow types. We discuss some aspects that can determine the<br />

selection <strong>of</strong> a message flow type.

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

Saved successfully!

Ooh no, something went wrong!