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.4 Distribution 193<br />

6.4.6 Distribution, Concurrency and Synchronisation<br />

A distributed system can be characterised by the sort <strong>of</strong> concurrency <strong>of</strong> its subsystems<br />

and its accompanying way <strong>of</strong> synchronisation and communication. Concurrency can<br />

be synchronous or asynchronous. Communication can be synchronous or asynchronous<br />

as well. However, mark that both notions <strong>of</strong> synchrony have a completely different<br />

meaning, and the same holds for the notion <strong>of</strong> asynchrony.<br />

We chose for asynchronous concurrency together with synchronous communication and<br />

synchronisation. Asynchronous concurrency fits naturally to asynchronously physically<br />

distributed systems. A synchronous communication primitive can express the communication<br />

between subsystems on an abstract level very elegantly. It abstracts from the<br />

underlying implementation which may very well use an asynchronous handshake for<br />

instance. The synchronous primitive can be used to express asynchronous communication<br />

as well, see also Subsection 6.3.4.<br />

6.4.6.1 Asynchronous Physically Distributed <strong>Systems</strong><br />

In general, an asynchronous system has a strong form <strong>of</strong> physical distribution. We call<br />

it a strong form <strong>of</strong> distribution because asynchrony makes modules independent. An<br />

asynchronous distributed system has the following properties. There are no bounds on<br />

the relative speeds <strong>of</strong> the modules and there are no bounds on message delays. Notice<br />

that the characterisation <strong>of</strong> a system cannot be done from a hardware point <strong>of</strong> view only,<br />

where synchrony has the specific meaning <strong>of</strong> to be driven by a global clock. The modules<br />

themselves may be synchronous internally, and the distributed system may even be<br />

synchronised on one clock. In this case the relative speed <strong>of</strong> processors and message<br />

delays over network links will be bound. On top <strong>of</strong> this hardware, layers <strong>of</strong> s<strong>of</strong>tware<br />

may multiplex physical resources. They realise abstractions such as processes and<br />

(reliable) communication channels. In this case the system may better be characterised<br />

as asynchronous [BM93].<br />

6.4.6.2 Synchronous Physically Distributed <strong>Systems</strong><br />

A synchronous system has a weak form <strong>of</strong> physical distribution. It has the following<br />

properties. The relative speed <strong>of</strong> the modules is kept within strict bounds. Bounds on<br />

message delays must be realised. An example <strong>of</strong> such a system is a hardware realisation<br />

in the form <strong>of</strong> collaborating digital ASICs 6 or PLDs 7 with a common clock.<br />

6.4.7 Distribution and Sharing<br />

6.4.7.1 Code Sharing<br />

Instances <strong>of</strong> the same class share the behaviour description <strong>of</strong> that class. This is socalled<br />

specification sharing, and differs from implementation sharing which focuses on<br />

sharing <strong>of</strong> code. In distributed systems the behaviour <strong>of</strong> instances from the same class<br />

6 Application Specific Integrated Circuit.<br />

7 Programmable Logic Device.

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

Saved successfully!

Ooh no, something went wrong!