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.

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

way. The LOTOS language supports interrupts, but behaviour can only be aborted and<br />

not interrupted. In ROOM behaviour can both be aborted as well as interrupted. SDL<br />

and Estelle do not have interrupt facilities. The grain <strong>of</strong> concurrency in ROOM, SDL<br />

and Estelle is at the level <strong>of</strong> process objects 7 . LOTOS supports concurrent processes.<br />

LOTOS processes are pieces <strong>of</strong> behaviour, but they are not objects that perform this<br />

behaviour. Nevertheless, objects can be modelled by processes. This is exploited in the<br />

ROOA method [Mor94]. Except for ROOM, none <strong>of</strong> the methods support data objects.<br />

LOTOS and SDL use abstract data types and Estelle uses Pascal types to model data.<br />

Abstract data type descriptions are elegant from a mathematical point <strong>of</strong> view, but are<br />

difficult to understand for non-mathematicians. Pascal is a procedural language and<br />

has insufficient support for data modularisation.<br />

The Concept <strong>of</strong> Inheritance<br />

The reader may wonder why we did not discuss the concept <strong>of</strong> inheritance. Inheritance<br />

is <strong>of</strong>ten regarded as the key feature <strong>of</strong> object-orientation. We do not agree with this<br />

statement and share the viewpoint <strong>of</strong> P. America [Ame89] who argues that the essence<br />

lies in encapsulation and in the protection <strong>of</strong> individual objects against each other.<br />

Inheritance is certainly a useful concept for structuring large systems. It is not the key<br />

issue for the modelling <strong>of</strong> reactive hardware/s<strong>of</strong>tware systems. In this thesis we do<br />

not pay as much attention to inheritance as a number <strong>of</strong> other specification methods do<br />

[R 91, C 94, CY91a, CY91b, J 92, Boo91, Mor94, BH93].<br />

2.6 Activity Frameworks for <strong>Specification</strong> Development<br />

The Role <strong>of</strong> Activity Frameworks<br />

Creating a specification is a very complicated task that can hardly be performed without<br />

an activity framework guiding the specification and design development. In theory,<br />

an activity framework should determine the different modelling or design phases, the<br />

order in which they are visited and the transition criteria (such as verification and validation<br />

criteria) for progressing from one phase to the next 8 . It should further determine<br />

the objectives <strong>of</strong> each design or modelling phase and give guidance to the navigation<br />

through each phase in order to obtain these objectives. This point <strong>of</strong> view upon activity<br />

frameworks is theoretically appealing since it allows the specification development to<br />

be split into clear-cut modelling phases. In practice this cannot work, as will be shown<br />

in the remainder <strong>of</strong> this section.<br />

A specification method requires an activity framework that<br />

guides the development <strong>of</strong> specifications.<br />

7In ROOM these objects are called actors, in SDL process instances and in Estelle they are called<br />

modules.<br />

8In literature this part <strong>of</strong> an activity framework is <strong>of</strong>ten called a process model. Examples <strong>of</strong> process<br />

models are the waterfall model [Roy70] and the spiral model [Boe88].

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

Saved successfully!

Ooh no, something went wrong!