Aggregation
Term |
Aggregation |
Aliases |
- |
Identity
-
Term ID:
src/main/doxsite/glossary/object-foundation/aggregation.dox -
English label: Aggregation
-
Japanese label: 集約関係
-
Japanese short label: 集約
-
Scope qualifier: Object Foundation / shared whole-part relationship
-
Bare-label linking: explicit-only
-
Category: Object Foundation
-
Status: normative
-
Definition authority: SimpleModeling BoK, aligned with UML 2.5.1 and narrowed for explicit modeling
DEFINITION
Aggregation is a whole-part Association in which a Part is not exclusively Structurally Owned by, or Lifecycle-dependent on, one Whole and may be shared by multiple Wholes. SimpleModeling uses Aggregation only when the Whole and Part, sharing rule, and any additional Lifecycle constraints are made explicit.
UML
In UML 2.5.1, Aggregation is a whole-part Relationship represented by the shared Aggregation Kind of an Association End. UML does not define strong general semantics for shared aggregation, so SimpleModeling does not rely on the notation alone and records the Whole/Part roles, sharing, Multiplicity, and Lifecycle constraints in the model.
Common Usage
The ordinary word aggregation is also used for collecting information, statistical aggregation, or service aggregation. The term defined here is a modeling whole-part Relationship. Combining data on one screen or collecting API results does not by itself establish Aggregation.
Object-Functional Paradigm
Aggregation expresses a shareable whole-part structure on the Object side. It is distinct from collection aggregation or fold operations on the Functional side.
CML
When CML (Cozy Modeling Language) describes Aggregation, it makes the Whole and Part Ends, roles, Multiplicity, sharing rule, and required constraints explicit. Aggregation is not used when it adds no semantics beyond an ordinary Association.
Scala
Scala collections, fields, and references may realize Aggregation, but they may also realize ordinary Associations or Composition. Aggregation is not inferred from language structure alone.
simplemodeling-lib
Collections, Groups, Schemas, and related simplemodeling-lib constructs may realize an aggregate structure, but using those library Types alone does not establish shareable whole-part semantics.
Public Usage
Japanese articles and videos introduce the term as 集約関係(Aggregation) and shorten it to 集約 only while the same modeling context remains established. Ordinary uses of 集約 are not automatically linked.
Boundary
-
Aggregation is not synonymous with an ordinary Association; it has explicit whole-part semantics.
-
Unlike Composition, Aggregation does not imply exclusive Structural Ownership by one Whole.
-
A collection, calculation, shared display, or API aggregation alone does not establish Aggregation.