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.

100 Abstraction <strong>of</strong> a Problem Domain<br />

Object C<br />

(Part)<br />

Sensor 1<br />

(terminator)<br />

Aggregate<br />

object<br />

(Whole)<br />

Cluster<br />

system boundary<br />

Virtual cluster<br />

Object B<br />

(Part)<br />

Actor 1<br />

(terminator)<br />

Figure 4.27: Aggregate and System Boundary<br />

We visualise instances <strong>of</strong> these classes in an Object Instance Model. Besides aggregates<br />

we <strong>of</strong>fer clusters to create a hierarchy <strong>of</strong> subsystems. In this section we summarise the<br />

relation between the concepts: object, aggregate, composite, cluster and hierarchical<br />

structuring.<br />

4.11.1 Hierarchy in Class Models<br />

Object-oriented methods usually present analysis results graphically in so called object<br />

class models (in contrast to instance models). It is confusing that both whole-part<br />

relations and subtype/supertype relations are represented as trees, see Figure 4.28. The<br />

triangle symbol and the diamond symbol distinguish both relationships, however they<br />

do not directly catch the eye. Notice that the two sorts <strong>of</strong> trees denote completely<br />

different concepts.<br />

Whole-part relations denote that objects may be composed or aggregated. Subtype/supertype<br />

relations denote common properties (generalisation). They can be used<br />

for an efficient notation <strong>of</strong> properties. Rumbaugh et al. [R 91] notice the following differences<br />

between aggregation and generalisation. Aggregation relates instances <strong>of</strong> distinct<br />

objects, one is a part <strong>of</strong> the other, whereas generalisation relates classes and is a way <strong>of</strong> structuring<br />

the description <strong>of</strong> a single object. Aggregation is sometimes called an ’and-relationship’, and<br />

generalisation an ’or-relationship’. An aggregation is this and that object, but an object is this

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

Saved successfully!

Ooh no, something went wrong!