In object models built according to popular object-oriented formalisms, the
commonest relationship types (excluding inheritance) are the structural re
lationships of association and of whole-part (often called aggregation). Th
is 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, esp
ecially UML, are analysed and criticised. Because of defects, the use of a
modelling notation based on these aggregation semantics is dubious and limi
ted. Moreover, many properties are candidates for characterising the whole-
part relationship provided that no redundancy and no inconsistency exist be
tween them. A framework known as cO1Or is then offend by means of a metamod
el in which the Whole-Part metatype inherits from the Structural-Relationsh
ip metatype. Defining a specific aggregation semantics leads then, first, w
ithin cO1Or, 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 c
onstraint-based approach. Such a process is developed particularly for cons
idering Composition in UML and Aggregation in OML more formally, as well as
for dealing with domain-dependent aggregation semantics. Since a non-negli
gible feature of cO1Or is the availability of a C++ library that implements
the proposed metamodel, some implementation concerns are also briefly disc
ussed. (C) 2001 Elsevier Science B.V. All rights reserved.