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.

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

execution-time <strong>of</strong> an operation (algorithm) is determined by processor speed as well as<br />

by value(s) <strong>of</strong> data to be transformed.<br />

If two objects can perform their operations independently and concurrently we do not<br />

want them to be waiting for each other until they both finish their operations. We want<br />

them to perform a next operation immediately after a former operation is finished. As<br />

long as there is no need for communication there is no need for synchronisation.<br />

Operations as well as communications take time in a realistic model. In general, the<br />

actual times cannot be assessed until implementation decisions have been taken. Most<br />

analysis methods do not take time into account during specification. They focus on the<br />

order <strong>of</strong> events in the system, such as timeless actions and timeless communications.<br />

If behaviour is studied with this abstraction <strong>of</strong> time, independence <strong>of</strong> two processes is<br />

interpreted as the independence <strong>of</strong> the order <strong>of</strong> their actions. This means that it does<br />

not matter whether a process performs some action after or before an action <strong>of</strong> another<br />

(concurrent) process. This reasoning leads to an interpretation <strong>of</strong> concurrency according<br />

to the so-called interleaving semantics (see Paragraph 6.2.2.8).<br />

6.2.2.3 Synchronous Concurrency<br />

The alternative for asynchronous concurrency is synchronous concurrency. This form <strong>of</strong><br />

concurrency matches well to the description <strong>of</strong> systems with a synchronous implementation.<br />

A system with only synchronous concurrency consists <strong>of</strong> modules that perform<br />

operations concurrently and synchronously start a new operation. All modules must<br />

be ready with their operations before they can synchronously start a new operation.<br />

The time intervals between the points <strong>of</strong> synchronisation can be arbitrary or fixed (periodical).<br />

If a synchronous system is directed by a common clock the duration <strong>of</strong> the<br />

operations <strong>of</strong> all modules must all fit in a fixed time interval. <strong>Systems</strong> implemented in<br />

digital hardware usually have a synchronous common clock.<br />

6.2.2.4 Computation Time and the Grain <strong>of</strong> Concurrency<br />

Our decision for an asynchronous approach towards concurrency is confirmed by Wegner<br />

[Weg90]. He notices that a synchronous approach is not practical for modelling<br />

concurrency ’when the computation time within a module or the communication time among<br />

modules is greater than the synchronous computation interval.’ This is <strong>of</strong>ten the case in complex<br />

reactive (distributed) systems. However, because <strong>of</strong> the importance <strong>of</strong> synchronous<br />

implementations we must <strong>of</strong>fer the possibility to describe synchronous systems as well.<br />

In general complex systems are a mix <strong>of</strong> asynchronous and synchronous subsystems.<br />

Although processes have asynchronous concurrency we can describe synchronous systems<br />

if processes can be modelled such that they always synchronise their actions.<br />

Communication can be used for synchronisation.

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

Saved successfully!

Ooh no, something went wrong!