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.

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

communication (message passing) must be synchronous or asynchronous.<br />

1. Synchronous communication is a form <strong>of</strong> communication where two or more process<br />

objects participate at the same moment. A message can only be passed if sender<br />

and receiver are ready to do so simultaneously.<br />

2. Asynchronous communication is a form <strong>of</strong> communication where two or more process<br />

objects may start an interaction without concern about the readiness <strong>of</strong> the others.<br />

In general, messages must be buffered in languages with asynchronous message<br />

passing. Languages with synchronous message passing can express buffered<br />

asynchronous interaction in terms <strong>of</strong> synchronous interaction.<br />

We experienced synchronous interaction to be very expressive in building simple and<br />

understandable models. Especially at the higher levels <strong>of</strong> abstraction, the expressive<br />

power <strong>of</strong> synchronous interaction primitives can be exploited efficiently and effectively.<br />

This point <strong>of</strong> view is confirmed in the work <strong>of</strong> Huis in ’t Veld who studied language<br />

characteristics for design frameworks for communication systems [itV94].<br />

Besides the expressive power that a communication primitive has for analysis, there<br />

are more aspects. Complex system specification and design requires that modelling<br />

is supported by consistency checking, verification, validation, and model transformations.<br />

This requires a formal basis. The language POOSL with its formal mathematical<br />

semantics forms this basis. POOSL is based on the concepts <strong>of</strong> Milner’s calculus <strong>of</strong><br />

communicating systems (CCS) [Mil80, Mil89]. CCS and CSP [Hoa85] form the root <strong>of</strong><br />

a family <strong>of</strong> so-called process calculi and process algebras. Over the past years process<br />

theories have proven to be very useful for the description <strong>of</strong> systems in which concurrency<br />

and communication are major features. Moreover, a collection <strong>of</strong> techniques and<br />

tools, supporting various kinds <strong>of</strong> design activities, have been developed. Examples<br />

include: formal verification [CPS93, RV94], simulation [vE89] and rapid prototyping<br />

[MMvT89], compilation [MM89], correctness-preserving transformations [Lan92], conformance<br />

tests derivation techniques [Bri89] and performance evaluation [VvR95].<br />

Since POOSL is strongly related to CCS, we foresee that many <strong>of</strong> these techniques<br />

and tools can be incorporated in the SHE development environment. In a design<br />

project for a POOSL compiler special attention has been paid to enable translation<br />

to various target languages. This tool is intended to establish a link to a wide variety<br />

<strong>of</strong> automated verification tools, thereby incorporating formal verification in the SHE<br />

method. Currently the POOSL compiler (developed by Kuppens [Kup96]) can translate<br />

to PROMELA [Hol93], thereby enabling the use <strong>of</strong> the SPIN [Hol93] tool for formal<br />

verification. SPIN can check for deadlocks, unreachable code, progress, system invariant<br />

correctness, etcetera. In addition SPIN can perform simulations.<br />

Besides verification we aimed at a particular form <strong>of</strong> formal design transformations. The<br />

careful selection <strong>of</strong> the concepts such as process and synchronous message passing enabled<br />

the specific definition <strong>of</strong> observation and transformation equivalence that is given in<br />

Chapter 9 about the semantics <strong>of</strong> POOSL and in Chapter 10 about behaviour-preserving<br />

transformations.

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

Saved successfully!

Ooh no, something went wrong!