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.

6.3 Communication 157<br />

between process objects connected by static channels is different from the communication<br />

between rather dynamic data objects. This section describes various aspects and<br />

problems <strong>of</strong> object communication.<br />

6.3.2 Communication Concepts for <strong>Reactive</strong> <strong>Systems</strong><br />

The desire to be able to design a wide variety <strong>of</strong> complex distributed reactive systems at<br />

various levels <strong>of</strong> abstraction requires that we <strong>of</strong>fer the primitives to model various sorts<br />

<strong>of</strong> communication. The following sorts <strong>of</strong> pair-wise communication have been identified.<br />

Synchronous communication with reply:<br />

Simultaneous activity <strong>of</strong> a sending and a receiving object, with the purpose<br />

<strong>of</strong> information transport. This information may be substantial in the form<br />

<strong>of</strong> data or the simple fact that the communication took place without data<br />

transport. There are three forms <strong>of</strong> synchronous communication:<br />

1. Synchronous communication with reply and waiting:<br />

This form is needed to model sequential behaviour. The activities <strong>of</strong> the<br />

sending object are suspended, until the required operation is performed<br />

by the receiving object, and the result has been returned.<br />

2. Synchronous communication with reply, waiting and time-out:<br />

Is similar to the previous form. The difference is that the sending object<br />

stops waiting after a predetermined period <strong>of</strong> time. The sender must<br />

decide what to do with results that come back too late.<br />

3. Synchronous communication with reply but without waiting:<br />

The sender may continue performing its activities after the first synchronous<br />

communication that transfers the request. A second synchronous<br />

communication is necessary to transport a possible result to<br />

the sender. This form is needed to model fully concurrent behaviour.<br />

Synchronous communication without reply:<br />

Simultaneous activity <strong>of</strong> a sending and a receiving object, with the purpose<br />

<strong>of</strong> transport <strong>of</strong> information. This information may be substantial in the form<br />

<strong>of</strong> data or the simple fact that the communication took place. The sending<br />

object does not expect a result so it can continue its activities immediately.<br />

This form enables concurrent behaviour.<br />

Asynchronous communication without reply:<br />

Sending <strong>of</strong> a message may happen, independent <strong>of</strong> the readiness <strong>of</strong> the receiver.<br />

The sending object continues performing its own activities without<br />

waiting for confirmation. The message can only be handled by the receiving<br />

process when it is ready to receive it. This form <strong>of</strong> communication requires<br />

buffering <strong>of</strong> messages to overcome the period between message sending and<br />

readiness <strong>of</strong> the receiver. A lack <strong>of</strong> readiness can also be handled by discarding<br />

a message.

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

Saved successfully!

Ooh no, something went wrong!