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.

118 Concepts for the Integration <strong>of</strong> <strong>Specification</strong> and Design<br />

5.1 Introduction<br />

Complex hardware/s<strong>of</strong>tware systems cannot be specified without integration <strong>of</strong> specification<br />

and design. Traditional methods define a development path partitioned into<br />

a sequence <strong>of</strong> phases. Design is placed after analysis and specification. A design <strong>of</strong><br />

a complex system consists <strong>of</strong> various activities on various levels <strong>of</strong> abstraction. On<br />

the lower levels, design means making decisions towards an implementation. On the<br />

higher levels, design means decision making about global system structure, also called<br />

architecture structure. This structure is denoted in Architecture Structure Diagrams in free<br />

style graphical representations.<br />

Design should integrate aspects from multidisciplinary views, such as test, maintenance,<br />

safety and many other aspects. All those aspects provide additional behaviour that must<br />

be integrated into both behaviour and structure <strong>of</strong> a system. This chapter describes<br />

concepts for performing structure design simultaneously with behaviour modelling.<br />

5.2 Architecture<br />

5.2.1 Definition<br />

We define architecture as a view <strong>of</strong> a system that reveals a structure, which influences the<br />

modularity <strong>of</strong> the system. Modularity may be interpreted as logical, physical, spatial<br />

or even temporal modularity. The difference between implementation structure and<br />

architecture is the relative level <strong>of</strong> abstraction. Architecture design is performed on<br />

a relatively high level. For a system this is ’system level’, for a subsystem it is the<br />

upper level structure <strong>of</strong> the subsystem. Lower levels <strong>of</strong> structure design belong to the<br />

implementation design. Free form graphical representations can be used to specify<br />

architectures as structures that consist <strong>of</strong> modules and their interfaces.<br />

5.2.2 Implementation Dependent <strong>Specification</strong><br />

Creation <strong>of</strong> an architecture structure is a design activity. This is in contrast to implementation<br />

independent specification activities, that are not design activities. There is a community<br />

which strives for specifications that do not contain implementation details. An example<br />

<strong>of</strong> such an approach can be found in [Par90]. They consider an algorithm, specifying a<br />

piece <strong>of</strong> behaviour, to be an overspecification. After all, an algorithm implements a specific<br />

approach to realise the behaviour. We choose completely for the opposite point <strong>of</strong><br />

view. POOSL is an imperative specification language, which uses algorithms to describe<br />

behaviour. We recommend to start design activities simultaneously with the specification<br />

<strong>of</strong> the essential objects. This introduces substantial implementation aspects into a<br />

specification. We recommend to do overspecification.<br />

This can be motivated by the necessary industrial practice. We refer to Chapter 2 in<br />

which we argue that implementation and specification cannot be separated. Besides the<br />

fact that structures may be designed, they are <strong>of</strong>ten specified (prescribed) in an Initial

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

Saved successfully!

Ooh no, something went wrong!