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.

2.5 Modelling Concepts 25<br />

Traditional Object-Oriented Methods<br />

To model dynamic behaviour, most currently accepted object-oriented methods [CY91a,<br />

CY91b, J 92, Boo91, SM88] use conventional state-machine models similar to those <strong>of</strong><br />

structured analysis and structured design techniques [WM85, HP88]. Others [C 94] use<br />

simple object interaction diagrams. The only accepted method that deals with complex<br />

behaviour is OMT [R 91]. OMT builds upon Statecharts [Har87], but violates this<br />

elegant formalism by ’extending’ it with several doubtful and badly defined constructs<br />

(such as inheritance <strong>of</strong> state diagrams). In OMT each class <strong>of</strong> objects is assigned a private<br />

state diagram. This enhances modularity and encapsulation. However, OMT permits<br />

objects to communicate by direct monitoring each other’s states: ’Guarded transitions<br />

for one object can depend on another object being in a given state’ (sic!). OMT does<br />

not <strong>of</strong>fer any decent primitive for inter-machine communication [HC91] and hence the<br />

support for concurrency is doubtful.<br />

HOOD and HRT-HOOD<br />

The HOOD method [Rob92] and its hard real-time variant HRT-HOOD [BW95] have<br />

a well-defined notion <strong>of</strong> objects. Both methods provide several forms <strong>of</strong> inter-object<br />

communication, including synchronous, asynchronous and interrupt-driven communication.<br />

Objects are specified in an Ada-like language. HOOD and HRT-HOOD are<br />

s<strong>of</strong>tware-oriented methods that have no support for the modelling <strong>of</strong> physical architecture<br />

or topology.<br />

Formal Description Techniques and ROOM<br />

From all methods we studied, the methods LOTOS [Tur93, Pir92, Bri88], SDL<br />

[Tur93, BH93] and Estelle [Tur93, D 89] as well as ROOM [SGW94] satisfy our re-<br />

quirements best 3 . These methods are based on autonomous, independent, encapsulated<br />

concurrent entities that are connected in a static topology <strong>of</strong> channels and that communicate<br />

using well-defined interaction primitives. Communication in SDL, Estelle and<br />

ROOM, however, is buffered asynchronously 4 . Buffered asynchronous message passing<br />

is certainly a useful concept 5 and should be supported, but it is not sufficient for reactive<br />

hardware/s<strong>of</strong>tware systems. We have experienced that especially at higher levels <strong>of</strong><br />

abstraction, the concept <strong>of</strong> synchronous communication 6 is indispensable. This is also<br />

pointed out in [itV94] and [Wor91]. It should be noted that asynchronous interaction<br />

can easily be expressed in terms <strong>of</strong> synchronous interaction. This is not true in the other<br />

direction. Synchronous interaction is incorporated in the LOTOS language. Although<br />

it is based on undirected (multi-way) action synchronisation, and not message passing,<br />

it can be used to express directed message passing too [Mor94], be it in less natural<br />

3 A disadvantage <strong>of</strong> LOTOS is that it does not support a powerful modularisation concept [Mau91]. A<br />

formalism that has the advantages <strong>of</strong> LOTOS, but in addition has modularisation <strong>of</strong> data and processes<br />

is PSF [Mau91, MV93].<br />

4 A sender can always send a message without knowing the readiness <strong>of</strong> the receiver. In general,<br />

messages are buffered until they are consumed by the receiver, but under some circumstances they can<br />

also be discarded.<br />

5 This form <strong>of</strong> message passing is in particular useful to model telecommunication systems. LOTOS,<br />

SDL and Estelle were originally developed for this purpose.<br />

6 A sender may only send a message if the receiver is ready and willing to receive it.

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

Saved successfully!

Ooh no, something went wrong!