モデル上の関連

用語

モデル上の関連

用語(英)

Association

別名

-

識別情報

  • Term ID: src/main/doxsite/glossary/object-foundation/association.dox

  • English label: Association

  • Japanese label: モデル上の関連

  • Japanese short label: 関連

  • Scope qualifier: Object Foundation / Association among typed instances

  • Bare-label linking: explicit-only

  • Category: Object Foundation

  • Status: normative

  • Definition authority: SimpleModeling BoK, aligned with UML 2.5.1

定義

モデル上の関連(Association)とは、型付けされたインスタンス間に成立し得るリンクの集合を分類し、参加する型、関連端、役割、多重度、ナビゲーションなどを表すモデル関係です。SimpleModelingでは、オブジェクト間の業務上または構造上の意味を、単なる実装上の参照から分離して記述します。

UML

UML 2.5.1では、Associationは、型付けされたオブジェクトを参照する値の組であるLinkの集合を分類するRelationshipです。関連端は参加するType、役割、Multiplicityなどを表します。AggregationおよびCompositionは、Association EndのAggregation Kindによって表される全体部分関係です。

一般的な用法

一般語の「関連」は、話題、資料、出来事などの緩やかなつながりにも使われます。この用語が表す関連は、参加端と制約を持つモデル要素です。「関連資料」「関連する処理」などの通常表現は、この用語への参照ではありません。

SimpleModeling

SimpleModelingでは、AssociationをObject間の業務上または構造上の意味を表す基本的な関係として使います。単なる参照実装やデータベース外部キーとは同一視しません。

オブジェクト関数パラダイム

関連関係はオブジェクト側の構造を表します。関数値の依存や関数合成とは別の概念であり、実装時に関数を使って関連を操作することだけで両者を同一視しません。

CML

CML(Cozy Modeling Language)では、関連端、役割、多重度、ナビゲーション、および必要な制約を明示します。全体部分の意味がある場合は、通常の関連のまま曖昧にせず、集約関係または合成関係として記述します。

Scala

Scalaのフィールド、参照、コレクションは関連の実現候補ですが、それだけでは業務上の関連、役割、多重度、所有、ライフサイクルを完全には表しません。

simplemodeling-lib

simplemodeling-libの属性、コレクション、スキーマなどは関連構造の実現に利用できます。実装上の型だけから関連、集約、合成を推論せず、正規モデルで指定された関係種別を維持します。

公開成果物での用法

日本語の記事と動画では、初出を「関連(Association)」とします。ただし、SmartDoxの自動リンク候補には一般語の「関連」を登録せず、Glossaryの正規名を「モデル上の関連」とします。概念が確立した範囲でのみ「関連」と短縮し、一般語の「関連」は用語として扱いません。

境界

  • 関連関係はモデル関係(Relationship)一般と同義ではありません。

  • 関連関係は集約関係または合成関係と同義ではありません。全体部分と所有の意味は明示する必要があります。

  • プログラム上の参照やデータベース外部キーだけでは、モデル上の関連は確定しません。

関連語

  • モデル関係

  • 集約関係

  • 合成関係

  • 多重度

参照