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.

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

Recursive aggregate (contains, directly or indirectly, an instance <strong>of</strong> the same kind <strong>of</strong><br />

aggregate; the number <strong>of</strong> potential levels is unlimited).<br />

Civello [Civ93] distinguishes three sorts <strong>of</strong> relations. Two <strong>of</strong> them are sorts <strong>of</strong> aggregates.<br />

Additionally he describes a collection <strong>of</strong> semantic properties <strong>of</strong> aggregates in detail:<br />

Strong WPAs: Functional aggregation relations (the part is conceptually included in the<br />

whole and contributes to the function <strong>of</strong> the whole).<br />

Weak WPAs: Non-functional aggregation relations (relations between independent entities,<br />

as used in data modelling. Two sorts have been identified: tuples and groups).<br />

Non-Whole-Part-Associations.<br />

The lists <strong>of</strong> sorts mentioned above illustrate the complexity <strong>of</strong> the subject. All authors<br />

distinguish sorts <strong>of</strong> aggregates, however there is no consensus on what properties. For<br />

example, Rumbaugh et al. [R 91] state that aggregation is commonly encountered<br />

in bill-<strong>of</strong>-materials or parts explosion problems. They also state that: ’unless there are<br />

common properties <strong>of</strong> components that can be attached to the assembly as a whole, there is<br />

little point in using aggregation.’ We do not agree with this narrow view. We consider<br />

aggregation also as means for architecture design. Aggregates and composites can be<br />

used for example to define a hierarchy <strong>of</strong> objects that act as controllers. A controller is a<br />

whole object with the character <strong>of</strong> a supervisor over parts. The parts are subsystems that<br />

on their turn may fall apart again. This kind <strong>of</strong> interpretation <strong>of</strong> whole part is needed for<br />

complex system design. This means that besides traditional capturing <strong>of</strong> the semantics<br />

<strong>of</strong> the problem domain, the capturing <strong>of</strong> various forms <strong>of</strong> hierarchical structure deserves<br />

attention.<br />

This point <strong>of</strong> view is confirmed by Civello [Civ93]. He observed that existing methods<br />

do not give rules or guidelines for whole-part structures throughout analysis, design<br />

and implementation. The difference between whole-part associations and other associations<br />

is not emphasised, they are shown <strong>of</strong>ten only ’cosmetic and diagrammatic’. It is<br />

however generally admitted that whole-part associations seem more strong than other<br />

associations between classes. Especially the following statement matches with our observations:<br />

’There are no further rules or constraints to guide design and implementation<br />

decisions. For example, the duties <strong>of</strong> an aggregate object as owner and manager <strong>of</strong> its parts<br />

are not sufficiently elaborated by any existing method....’ We also agree that ’most semantic<br />

properties discussed above are not directly supported by current object-oriented programming<br />

languages; however, as they impose important constraints on the implementation, they should<br />

be explicitly captured in an object-oriented model’ [Civ93]. This statement legitimates our<br />

special interest in whole-part relations, in the context <strong>of</strong> the path from analysis to design<br />

and implementation. Civello [Civ93] describes a number <strong>of</strong> relevant properties <strong>of</strong><br />

whole-part relations, such as visibility, encapsulation, sharing, inseparability, ownership,<br />

and various forms <strong>of</strong> collaborations in composites. Based on his work we interpret<br />

these concepts for our purpose (see Section 4.8).

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

Saved successfully!

Ooh no, something went wrong!