In UML, the aggregation kind 'composite' is one of the two types of aggregation, shared and
composite. Composite aggregation, also known as composition, implies that the composed objects
do not have a separate lifecycle from the owner object and are parts of the whole. This is in contrast
to shared aggregation (aggregation), where the parts can be shared with different owners and have
their own lifecycle.
Let's look at the options:
A . Composite aggregation implies ownership and is related to, but not equivalent to namespace
containment. Namespace containment is more about the scope for named elements rather than
lifecycle management.
B . While it's true that instances of the composed object's type are often associated only with the
composite object, the key aspect of composite aggregation is not just the exclusive context but the
lifecycle dependency, which is not captured in this option.
C . This option is correct because, in UML, composite aggregation (composition) implies that the
parts are existentially dependent on the whole. When the composite (whole) object is destroyed, so
are all of its parts, indicating a strong lifecycle dependency between the composite object and its
composed parts.
D . This option describes a relationship more akin to set theory than UML composition. In UML,
composite aggregation doesn't deal with subsets and unions in the context of set theory.
Thus, the most accurate answer, according to the UML specification regarding composite
aggregation, is C: When the Property's composite object ceases to exist, all of its composed objects
also cease to exist.