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.

  • Association

  • Composition

  • Relationship

  • Structural Ownership

  • Multiplicity

  • Lifecycle

References