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.

360 SHE Framework<br />

from a completely different point <strong>of</strong> view. Figure 11.16 shows an example <strong>of</strong> an OCD.<br />

First OCDs make us aware <strong>of</strong> the number <strong>of</strong> classes we have. In contrast, Message Flow<br />

Diagrams invite us to define an ’unrestrained’ number <strong>of</strong> classes, in worst case as many<br />

process object classes as there are process objects. By concurrent development <strong>of</strong> OCD<br />

and Message Flow Diagrams we can promote a conscious design <strong>of</strong> classes. We give<br />

some guidelines that implicitly define requirements for tools to be developed.<br />

We recommend to denote a class in an OCD for every new object that we define in<br />

a Message Flow Diagram. We must consider suitable existing classes as the class<br />

<strong>of</strong> a new object.<br />

Parameters on message flows require that we have corresponding data object<br />

classes. These classes require special attention in OCDs because they are not<br />

visualised otherwise. So their design must be performed in OCDs. By exploring<br />

their relations, attributes and messages we must try to find well balanced reusable<br />

objects. We observed that data objects tend to be reused much more than process<br />

objects. So extra attention will pay.<br />

The name <strong>of</strong> each message that is received by an object in a Message Flow Diagram<br />

must be denoted in the object’s class symbol in an OCD. This notation <strong>of</strong><br />

message names helps the conscious design <strong>of</strong> classes. Scenarios and even scenario<br />

assemblies do not show all messages that can be accepted by a class. By keeping<br />

overview on them in OCDs we can take considered decisions whether a new<br />

classes must be defined or existing ones can be reused.<br />

Attributes determine the abstraction that we incorporate in a model. OCDs typically<br />

show these attributes. The traditional way <strong>of</strong> object-oriented modelling<br />

pays a lot <strong>of</strong> attention to the modelling <strong>of</strong> attributes and relations between object<br />

classes. For this reason we do not elaborate on this subject. We refer to [R 91] for<br />

an extensive description <strong>of</strong> heuristics and notations.<br />

11.4.7 Modelling <strong>of</strong> Instance Structure Diagrams<br />

The place <strong>of</strong> the development <strong>of</strong> Instance Structure Diagrams (ISDs) in an Essential <strong>Specification</strong><br />

has been illustrated in Figure 11.17. This figure shows the (idealised) place <strong>of</strong><br />

the development <strong>of</strong> ISDs in time and its relative modelling effort. This effort is relatively<br />

small and therefore visualised as a relatively small area in Figure 11.17. ISDs formalise<br />

two forms <strong>of</strong> structure that usually have been developed earlier. These two forms are<br />

Message Flow Diagrams and Architecture Structure Diagrams. An important heuristic<br />

in the method is that the structure that has been designed in the Architecture Structure<br />

Diagrams must be consistently incorporated into Message Flow Diagrams. If this is<br />

done adequately the design <strong>of</strong> Instance Structure Diagrams can be a straightforward<br />

activity. Otherwise inconsistencies are discovered and must lead to adjustments <strong>of</strong> the<br />

models.

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

Saved successfully!

Ooh no, something went wrong!