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.

6.3 Communication 169<br />

statement after the message send statement <strong>of</strong> the message. There may be no statements<br />

in between, because that would imply parallelism instead <strong>of</strong> waiting. If there is more<br />

than one possible answer the behaviour after the send statement must be an or statement<br />

that contains all possible receive statements (the or statement is explained in Subsection<br />

6.6.6). This statement can specify a (non-deterministic) choice.<br />

Again we emphasise the importance <strong>of</strong> choosing expressive names. Message with reply<br />

flows <strong>of</strong>ten represent a request to a server. In this case the message name must have the<br />

flavour <strong>of</strong> a request. The possible answers must also be denoted in the flow text. We<br />

must abbreviate them in case they are too long. We can for instance skip their parameters.<br />

The guideline is to place a slash symbol between the message and its possible replies.<br />

Example:<br />

giveStatus/notMounted,mounted<br />

Summary<br />

The message with reply flow symbol is useful for modelling <strong>of</strong>:<br />

synchronous message passing with reply and waiting;<br />

a client-server model with waiting for reply;<br />

a double rendezvous in one symbol, provided that waiting is required.<br />

The POOSL description needs two statement pairs, and the waiting must be specified<br />

explicitly. The statement pair that specifies the passing <strong>of</strong> the reply may be constructed<br />

for multiple answers by using an or statement.<br />

6.3.6.3 The Continuous Flow Symbol<br />

A continuous flow symbol represents a time-continuous flow. A continuous flow has a<br />

value at every instant, within a time interval that the source <strong>of</strong> the flow is actively<br />

producing that flow. The symbol has a double arrowhead, see Figure 6.6. The symbol is<br />

designed to visualise that there is a message (value) immediately after each acceptance<br />

<strong>of</strong> a previous message (continuously).<br />

A continuous flow is useful to model physical devices such as sensors and actors. By<br />

using the method <strong>of</strong> Ward and Mellor (Structured Development for Real-Time <strong>Systems</strong><br />

[WM85]) we experienced that continuous flows are a useful concept. Other methods,<br />

such as Hatley and Pirbhai [HP88] do not <strong>of</strong>fer this concept. Their notion <strong>of</strong> continuous<br />

signals is differently defined as ’signals that may take on one <strong>of</strong> an arbitrarily large number<br />

<strong>of</strong> ordered numeric values.’ The notion <strong>of</strong> time-continuous should not be confused with<br />

this notion <strong>of</strong> a continuous function, where the range <strong>of</strong> values is continuous. A timecontinuous<br />

flow may transport values from either a discrete set <strong>of</strong> values or from a<br />

continuous range <strong>of</strong> values. Sources such as sensors can give for instance a voltage as<br />

a time-continuous output. Such an output can be a time-continuous flow. A name <strong>of</strong> a<br />

flow must adequately represent the quantity that is measured for instance temperature<br />

(See Figure 6.6).

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

Saved successfully!

Ooh no, something went wrong!