Part-Whole
UML distinguishes between aggregation and composition only. OntoUML distinguishes among
sharing
shared part (white ◊)
exclusive part (black ♦)
multiplicity of relationship
mandatory part with respect to the whole
mandatory whole w.r.t. the part
mandatory non-rigid type (e.g. role, phase, mixin)
OntoUML also distinguishes among various types of wholes and their parts
functional whole (and ComponentOf relation)
Collective (and SubCollectionOf and MemberOf relations)
Quantity (and Containment and SubQuantityOf relations)
Examples
EX1:
EX2:
Notice that maximum multiplicity of the whole is > 1.
EX3:
Notice that maximum multiplicity of the whole is = 1.
EX4:
Optional part w.r.t. the rigid whole. The whole doesn´t necessarily need any part.
EX5:
Mandatory part w.r.t. the rigid whole. The whole does need a part, instances of the part may mute.
EX6:
Essential part w.r.t. the rigid whole. The whole does need a part, instances mustn´t mute.
EX7:
Optional rigid whole w.r.t. the part. The part may exist alone, even without the whole.
EX8:
Mandatory rigid whole w.r.t. the part. The part must belong to some whole, instances of the whole may mute.
EX9:
Inseparable part of the rigid whole. The part must belong to the same whole, instances of the whole mustn´t mute.
EX10:
Immutable part of the antirigid whole. Whenever the whole exists in the particular role or phase, its parts must be still the same instances – they cannot not mute. Compare to {essential}.
EX11:
Immutable whole w.r.t. the antirigid part. Whenever the part exists in the particular role or phase, its wholes must be still the same instances – they cannot not mute. Instances of the whole may mute only as the part changes it´s role or phase.
References:
GUIZZARDI, Giancarlo. Ontological Foundations for Structural Conceptual Models. Enschede: CTIT, Telematica Instituut, 2005. GUIZZARDI, Giancarlo. Introduction to Ontological Engineering. [presentation] Prague: Prague University of Economics, 2011.