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.

22 On <strong>Specification</strong> <strong>of</strong> <strong>Reactive</strong> <strong>Hardware</strong>/S<strong>of</strong>tware <strong>Systems</strong><br />

an alternative implementation during design. One <strong>of</strong> the biggest problems in actual<br />

design in industries is time pressure. Finding optimum solutions is not the key issue<br />

when a good solution can be found.<br />

2.5 Modelling Concepts<br />

<strong>Reactive</strong> <strong>Hardware</strong>/S<strong>of</strong>tware <strong>Systems</strong><br />

In this thesis we address the problem <strong>of</strong> specifying complex reactive hardware/s<strong>of</strong>tware<br />

systems. <strong>Reactive</strong> systems are systems that persistently communicate with their environment<br />

[MP92]. They perform very complex behaviour and are <strong>of</strong>ten based on communicating<br />

processes that operate in parallel. Communications take various forms such<br />

as synchronous, asynchronous, continuous and interrupt-driven. Interrupts are highpriority<br />

messages that interfere or abort the current course <strong>of</strong> behaviour. Modern reactive<br />

systems further perform complex operations on intricate data structures. Operations<br />

and communications have to satisfy stringent timing requirements. <strong>Reactive</strong> systems<br />

are <strong>of</strong>ten considered to be s<strong>of</strong>tware running on a single embedded processor. <strong>Reactive</strong><br />

hardware/s<strong>of</strong>tware systems, on the other hand, are implemented by a mix <strong>of</strong> hardware<br />

and s<strong>of</strong>tware components. In addition to the constraints <strong>of</strong> general reactive systems,<br />

they have to satisfy stringent architectural constraints that impose physical distribution,<br />

physical topology and hardware/s<strong>of</strong>tware partitioning.<br />

In this thesis we will restrict ourselves to discrete systems. These systems have a discrete<br />

state-space and they perform state transitions at discrete points in time. Next to discrete<br />

systems, there exists an interesting class <strong>of</strong> systems whose state can vary continuously.<br />

The study <strong>of</strong> these, so-called continous systems, is beyond the scope <strong>of</strong> this thesis. An<br />

interesting approach towards the modelling <strong>of</strong> discrete as well as continuous systems is<br />

found in [vBGR].<br />

Modelling Concepts and Primitives<br />

A specification method must <strong>of</strong>fer adequate modelling concepts that allow designers to<br />

reason about the system to be designed. For reactive hardware/s<strong>of</strong>tware systems these<br />

concepts include behaviour, communication, message, interrupt, architecture, topology,<br />

etcetera. To reason about these concepts, a method has to <strong>of</strong>fer adequate modelling<br />

primitives that allow their representation. These modelling primitives are the basic<br />

building blocks from which models <strong>of</strong> a specification are composed.<br />

Modelling <strong>of</strong> complex reactive hardware/s<strong>of</strong>tware systems requires<br />

dedicated modelling concepts. To express these concepts,<br />

supporting specification languages require appropriate<br />

modelling primitives.<br />

Process Objects<br />

The concurrent communication and functional behaviour <strong>of</strong> a complex reactive system<br />

is <strong>of</strong>ten so complicated that it is quite impossible to understand it or model it in its

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

Saved successfully!

Ooh no, something went wrong!