協会の継承は、UMLは、おそらくほとんどの場合、オブジェクト指向分析設計に使用されているが、それは汎用モデリング言語ことを目指して2005年にUML 2.0で導入されました。そのため、プログラミング言語では必ずしもサポートされていない、多重継承、属性の特殊化/洗練化、関連付け継承などの機能が含まれています。しかし、OWL 2のようなオントロジ言語では、これらの概念は自然に表現することができます。
いくつかの他の目的のために、私はw -r.tを書きました。アソシエーション継承およびそれに相当するUML表現を提供しています。アソシエーションに関して
とUMLの仕様、すなわちassociation specialization
、subsetting
とredefinition
3つの密接に関連する概念を定義する属性。アソシエーションの特殊化は完全アソシエーションのレベルで適用され、サブセット化および再定義 はアソシエーションの終端および属性のレベルで適用されます。
関連性の専門用語の意味は、クラスの意味に似ています。つまり、アソシエーションA2
は図(a)のアソシエーションA1
の特殊化です。したがって、クラスC3
とC4
のインスタンス間のすべてのリンクは、クラスC1
とC2
のインスタンス間のリンクである必要があります。ただし、クラスC1
とC2
のインスタンス間のすべてのリンクは、クラスC3
とC4
のインスタンス間のリンクである必要はありません。図(A)におけるC1/C2
を専門によりC3/C4
に
、C1
とC2
間のすべての関連付けがC3
とC4
によって継承されることになります。さらに、C3
とC4
の間のすべての継承された関連付けは、必ずC1
とC2
の間の関連のサブセットになります。しかし、 図(a)はそれ以上です:がC3
とC4
に継承されているだけでなく、新しいアソシエーションA2
も導入されています。 A2
は新しい協会であるため、関連性の専門化なしでは、A1
がA2
に関連する方法について何かを推論することはできません。したがって、図(a)では、継承継承の目的は、新しいアソシエーションA2
を導入し、それが既存のアソシエーションA1
にどのように関係するかを述べることです。
図(b)では、c4 {subsets c2}
と記載されています。これは、アソシエーションの終了によって表されるインスタンスの集合が、アライメントの末尾c2
によって表されるインスタンスの集合のサブセットであることを意味します。アソシエーショナルエンドc3
およびc1
についても同様です。サブセット化 は、サブセット化はセットメンバーシップのみを考慮し、関連性の専門化はリンクメンバシップを決定する特性を特化する点で、関連性の専門化とは区別されます。
機能の定義を変更するには、再定義を使用します。例示的な関連付けとして、c4
は、図(c)のc2
を再定義します。再定義は、完全な関連ではなく、関連の終わりのために定義されている点で、関連専門から区別されます。
元の質問は継承階層で使用されていた関連継承に関連していましたが、継承階層がない場合でも継承継承も使用できることに注意してください。図(d)では、男性が離婚したすべての女性は、結婚した女性のサブセットです。図において
(A)及び(d)アソシエーションモデルの第一級オブジェクトです。したがって、それぞれの関連クラス間の継承関係を持つ関連クラス(A1/A2
およびMarriedTo/DivorceFrom
)で表すことができますが、関連付けを使用することで、関連クラス間の専門化よりも関連を専門化する意思表示がより簡潔になる場合があります。
要約:関連付けの特殊化は、その末尾の1つのサブセット化に相当し、再定義はサブセット化のサブコンセプトとして扱うことができます。
有効なUMLであれば本当ですか? – Vanguard
UMLツールで作成されたようです。こちらの画像は少し変わっています。だから、私は正しいと思います。 –