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.

156 Modelling <strong>of</strong> Concurrent <strong>Reactive</strong> Behaviour<br />

<strong>of</strong>fer an interrupt and an abort mechanism that enable to break in on running behaviour<br />

and switch to other behaviour. So the number <strong>of</strong> possible sequences <strong>of</strong> operations may<br />

be huge.<br />

6.2.3.3 Summary<br />

In this section we described various aspects related to concurrency and synchronisation.<br />

We decided to choose the following approaches:<br />

A system model consists <strong>of</strong> asynchronous concurrent process objects. Asynchronous<br />

concurrency is most natural for distributed systems. The concurrent<br />

system parts can autonomously perform their operations at their own speed. They<br />

are less dependent on each other’s progress. This makes our method suitable to<br />

describe distributed concurrent hardware/s<strong>of</strong>tware systems as well as (pseudo)<br />

concurrent systems. In contrast many other methods are sequential or have synchronous<br />

concurrency.<br />

Objects encapsulate their state. This prevents sharing problems.<br />

Process objects form the grain <strong>of</strong> concurrency. Internal behaviour <strong>of</strong> process objects<br />

is sequential. This choice keeps the internal behaviour description <strong>of</strong> objects relatively<br />

simple, in contrast to objects that can perform complex concurrent behaviour<br />

internally.<br />

Concurrency boundaries specify the concurrency properties <strong>of</strong> modules on system<br />

level. They specify whether modules have a sequential or a concurrent internal<br />

behaviour. Processes in a sequential module are modelled as a composite that<br />

behaves sequential as a whole. Processes are alternately active in such a composite.<br />

Interleaving semantics are used for the formal behaviour description <strong>of</strong> concurrency.<br />

Processes synchronise their behaviour by synchronous message passing. We<br />

restrict synchronisation <strong>of</strong> concurrent threads to one mechanism, which is synchronous<br />

message passing via the message interface <strong>of</strong> process objects<br />

6.3 Communication<br />

6.3.1 Introduction<br />

A specification and design method must be able to express various forms <strong>of</strong> communication.<br />

We have chosen to emphasise to model systems as a collection <strong>of</strong> communicating<br />

objects. Communication between objects is realised by message passing. All objectoriented<br />

methods agree on that. At first glance this concept is straightforward and<br />

simple. Problems arise when communication is related to concurrency, infinite (nonterminating)<br />

activity <strong>of</strong> objects, and implicit assumptions about sharing. Recall that<br />

SHE <strong>of</strong>fers two kinds <strong>of</strong> objects, process objects and data objects. The communication

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

Saved successfully!

Ooh no, something went wrong!