プライマリ要素とセカンダリ要素について

アクティビティ・モデラーでは、プライマリ要素とセカンダリ要素という概念によって、要素間の所有と被所有という関係が定義されます。

プライマリ要素

プライマリ要素は、独自に(つまり他の要素を必要とせずに)存在できる要素です。プライマリ要素はパッケージに含めることができ、パッケージにはオペレーティング・システムのフォルダがマップされます。プライマリ要素には独自のオペレーティング・システム・ファイルがあり、これらのファイルにもプライマリ要素が所有するセカンダリ要素が含まれます。要素を、その要素を所有するパッケージのコンテキスト内に作成しない場合、その要素に対するオペレーティング・システム・ファイルはワークスペース・ファイルと同じディレクトリに作成されます。

セカンダリ要素

セカンダリ要素は、適切なプライマリ要素のコンテキスト内でのみ存在できます。セカンダリ要素はその要素だけで存在することはできません。たとえば会社の場合、社員は部門がなければ存在できませんが、部門は社員がなくても存在できます。したがって部門はプライマリ要素で、社員はセカンダリ要素です。UMLでは、部門は社員で構成されるものと定義されます。

セカンダリ要素には独自のオペレーティング・システム・ファイルはなく、セカンダリ要素を所有するプライマリ要素のファイル内にリストされます。

アクティビティ・モデラーにおけるプライマリ要素とセカンダリ要素

プライマリ要素 セカンダリ要素
イベント -
シグナル -
アクティビティ オブジェクト・フロー状態
オブジェクト 擬似状態
ダイアグラム 遷移
スイムレーン メッセージ・アダプタ
スイムレーン チャネル
スイムレーン システム・インスタンス

プライマリ要素およびセカンダリ要素に対する削除規則

プライマリ要素が削除されると、所有するセカンダリ要素もすべて削除されます。ダイアグラムから要素を削除しても、ファイル・システムから削除した場合と同じ結果にはなりません。ダイアグラムから要素が削除されても、そのファイルはファイル・システムに残ります。これは、同じ要素が他のダイアグラムで使用されている可能性があるためです。

セカンダリ要素が削除されると、その要素を所有するプライマリ要素のファイルから削除されます。