Abstract

In object models built according to popular object-oriented formalisms, the commonest relationship types (excluding inheritance) are the structural relationships of association and of whole-part (often called aggregation). This last type is well known to have no accurately prescribed semantics. Here, some of the aggregation semantics frequently presented in the literature and sometimes supported in current object-oriented modelling languages, especially UML, are analysed and criticised. Because of defects, the use of a modelling notation based on these aggregation semantics is dubious and limited. Moreover, many properties are candidates for characterising the whole-part relationship provided that no redundancy and no inconsistency exist between them. A framework known as cOlOr is then offered by means of a metamodel in which the Whole-Part metatype inherits from the Structural-Relationship metatype. Defining a specific aggregation semantics leads then, first, within cOlOr, to the creation of a subtype of the Whole-Part metatype. Next, the behaviour of this last type is extended and/or restricted in using a constraint-based approach. Such a process is developed particularly for considering Composition in UML and Aggregation in OML more formally, as well as for dealing with domain-dependent aggregation semantics. Since a non-negligible feature of cOlOr is the availability of a C++ library that implements the proposed metamodel, some implementation concerns are also briefly discussed.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call