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.

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

a designer. The designer should be able to bridge the gap between final specification<br />

and realisation. Stated otherwise, the designer should be able to construct a realisation<br />

that is an element <strong>of</strong> the realisation space <strong>of</strong> the model. In general, a designer will not<br />

think in this rather artificial way. He is not aware <strong>of</strong> a space. He will consider only a<br />

limited set <strong>of</strong> alternative implementations. For complex systems he will in general lose<br />

overview on relevant aspects. Therefore a specification should allow the deduction <strong>of</strong> as<br />

many relevant properties as possible. Each <strong>of</strong> these properties must be expressed in this<br />

model in an either implicit or explicit way. For reactive hardware/s<strong>of</strong>tware systems the<br />

properties that concern behaviour and architecture are the most relevant (and difficult)<br />

ones.<br />

Views<br />

When systems are very complex, it is impossible to simultaneously take all relevant system<br />

aspects and properties into consideration. Therefore we need abstraction facilities<br />

that highlight particular related aspects. We call such an abstract model a view. Proper<br />

use <strong>of</strong> views enables ’reviewing’ a model with different experts. Experts should be able<br />

to reason about the different relevant system aspects, and should not be bothered by<br />

details that are beyond their expertise. Complexity is usually handled by a divide and<br />

conquer strategy. Hierarchical forms <strong>of</strong> hiding and abstraction also lead to several kinds<br />

<strong>of</strong> views. The availability <strong>of</strong> different views avoids confusion between different, yet<br />

related, system aspects. For instance, both behavioural views and architectural views<br />

have a structure. These structures are quite different and serve different purposes. The<br />

structure <strong>of</strong> behavioural views is <strong>of</strong>ten a logical one and is used to partition the system<br />

behaviour into clear and understandable pieces. Architectural views, on the other hand,<br />

are physical structures and represent the structure <strong>of</strong> (future) implementations.<br />

The modelling <strong>of</strong> complex reactive hardware/s<strong>of</strong>tware systems<br />

requires several modelling views.<br />

Explicit Unified Models<br />

Each view determines a collection <strong>of</strong> (deducible) system properties and implicitly defines<br />

a dedicated realisation space. When a specification is created as a collection <strong>of</strong> separated<br />

views it can be imagined that the view’s realisation spaces do not intersect. Therefore<br />

views should be created such that they all grasp a good part <strong>of</strong> the essence <strong>of</strong> the model.<br />

An adequate strategy must lead to a consistent explicitly defined unified model. This<br />

unified model integrates abstractions <strong>of</strong> various views in a consistent way. In general, a<br />

view will contain information that is not in the unified model.<br />

Consistency <strong>of</strong> Views<br />

Not all methods follow the approach <strong>of</strong> using a unified model. In particular, many<br />

well-known object-oriented methods [SM88, CY91a, CY91b, R 91] typically create three<br />

loosely coupled views (object views, functional views and dynamic views), with a<br />

poorly-defined interrelation. Consequently, it is possible that a specification may define<br />

an inconsistent set <strong>of</strong> models [HC91, Bri94]. Inconsistencies are not easily discovered,<br />

because the unified model is not shown or described explicitly. It is implicitly defined

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

Saved successfully!

Ooh no, something went wrong!