Rule Name: Non Cyclic Aggregations

Definition

Aggregations are not allowed to form cycles. Associations are.

Rationale

When an object is instanced, you can't have an infinite loop; you must actually finish traversing it and draw the object.

Aggregations represent "has-a" relationships, where a component is part of the aggregation, e.g. an instance of a wall's Geometry Model is part of a building's Geometry Model. It doesn't make sense to say that component A is a proper subset of aggregation B, and then allow B to be a component of A.

Associations, however, often mean that the associated objects are alternate representations of each other, as in, A is an alternate representation of B, so B is an alternate representation of A.

Example

  1. It is not useful to say that a Geometry Model Instance of a Bridge is part of itself.
  2. It is useful to say that a Point Feature represents an instance of a Building Model, and that a Geometry Model Instance is really a Building at a particular location.

FAQs

--FAQs needed here --
Prev: Non Crossing Associations. Next: Non Empty Environment Root. Up:Index.