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.

11.5 Extended <strong>Specification</strong> Modelling 367<br />

implementation choices. All these activities have the goal <strong>of</strong> minimising iterations in<br />

the overall system development process. It is still important, however, that the emphasis<br />

<strong>of</strong> the modelling is on an exploration <strong>of</strong> the essence <strong>of</strong> the system to be designed.<br />

The models must be kept simple, abstract. The models should also be kept relatively<br />

shallow, which implies a small number <strong>of</strong> hierarchical levels. The main purpose is to<br />

get feedback <strong>of</strong> users, managers and various other experts that do in general not have<br />

the skills to design an information processing system.<br />

When the essence <strong>of</strong> the system is modelled, it is time to take various more detailed<br />

design decisions. The evaluation <strong>of</strong> these decisions and the further development <strong>of</strong> the<br />

model towards implementation requires peer to peer communication among system<br />

design specialists. So the milestone between the specification phases is determined<br />

by the need to go to a level <strong>of</strong> detail that is not understandable anymore for users,<br />

marketing experts, etcetera. During the extended modelling phases, the models will<br />

become substantially more complex and therefore less accessible for a broader public.<br />

The step from ’finished’ Essential <strong>Specification</strong> to the modelling <strong>of</strong> an Extended <strong>Specification</strong><br />

means that the Essential <strong>Specification</strong> is retained, and copied for use in the<br />

extended modelling phase. Of course we can find new aspects during the extended<br />

modelling phase that can force us to iterate to the Essential <strong>Specification</strong>. In such a case<br />

we also need discussion with the partners that participated in the first modelling phase<br />

to get their approval for the new points <strong>of</strong> view.<br />

The amount <strong>of</strong> design decisions that are left for the extended modelling phase, depends<br />

on the part <strong>of</strong> the implementation decisions that have been taken in the essential modelling<br />

phase. For complex systems we expect a substantial growth <strong>of</strong> complexity <strong>of</strong> the<br />

model after adding the consequences <strong>of</strong> implementation decisions. In general a lot <strong>of</strong><br />

new objects must be introduced in the extension phase. These objects introduce new<br />

behaviour and can make the interaction in the system substantially more complex. This<br />

behaviour must be simulated and validated. All diagrams can need extensions on all<br />

existing levels, and can need extension with additional lower hierarchical levels as well.<br />

In general, the following activities are needed:<br />

Implementation Structure Diagrams are created based on Architecture Structure<br />

Diagrams. This means that channels are marked with chosen protocols and that<br />

the implementation technologies for the various modules are denoted in the diagrams.<br />

These choices include hardware/s<strong>of</strong>tware partitioning, selection <strong>of</strong> processors,<br />

mapping <strong>of</strong> modules on processors, mapping <strong>of</strong> modules on ASICs, etcetera.<br />

Design decisions are motivated in an Implementation Decisions Statement.<br />

Message Flow Diagrams are extended and changed consistently with Implementation<br />

Structure Diagrams. Objects that model buffers, channels and additional functions<br />

are added. Objects that implement the behaviour <strong>of</strong> protocols on channels<br />

are introduced. Further various forms <strong>of</strong> implementations can require additional<br />

behaviour that is typically related to technology. Implementation boundaries and<br />

concurrency boundaries are denoted on clusters.

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

Saved successfully!

Ooh no, something went wrong!