相互作用
UML 2.0 相互作用図 への移動
モデリングを使用して、プロセス間コミュニケーションの詳細な描画や分析を行うための相互作用を作成できます。
相互作用を モデリング プロジェクト内で視覚的に表現するには、一般的な 2 つの相互作用図(シーケンス図とコミュニケーション図)を使用します。 一方、相互作用は、視覚的な表現がなくてもプロジェクト内に存在できます。
相互作用利用
ある相互作用から、プロジェクト内に記述されている別の相互作用を参照できます。 「相互作用利用」と呼ばれる要素がこの機能を提供します。 参照される相互作用は、明示的にモデルから定義することも、単にテキスト文字列として指定することもできる点に留意してください。
各相互作用利用は、黒丸でライフラインに付けられます。 この点は、1 つの図要素です。 相互作用利用が複数のライフラインにまたがって拡張されている場合は、1 つ以外のすべてのライフラインから接続点を削除できます。 相互作用利用は、少なくとも 1 つのライフラインに接続されている必要があります。
フレームの結合
モデリングでは、複合フラグメントおよび相互作用利用を複数のライフラインにまたがって拡大できます。 それには、図のツール パレットの[フレームの結合]ボタンを使用します。
1 つのフレームをターゲット ライフライン上の複数のポイントに接続できます。 ターゲット ライフライン上で、そこにすでに存在するほかの要素やフレームの間のどこにフレームを配置するかを選択できます。 これにより、フレームはソース ライフラインに沿って移動します。
黒丸でマークされたライフラインだけが、参照される相互作用または複合フラグメントに接続されていることに注意してください。 フレームが交差しているだけのライフラインとは接続されていません。 接続点は、個別の図要素として選択したり削除することができます。
ライフライン
ライフラインは、相互作用の個々の構成要素を定義するためのものです。 ライフラインは、垂直の点線が付いた長方形としてシーケンス図に表示されます。
相互作用のライフラインは、クラスまたはコンポジット構造図で定義されたパートを表すことができます。 その参照される要素が複数の値を持つ場合は、どの特定のパートがそのライフラインによって表されているのかを指定するために、セレクタが付けられます。
ライフラインが接続可能要素を表す場合、型が指定されている場合、またはほかの相互作用を参照している場合は、そのライフラインのコンテキスト メニューで [選択] メニューが有効になります。 このメニューを使用すると、そのライフラインに関連付けられているパート、型、または分解要素に移動できます。 これらのプロパティは、オブジェクト インスペクタを使用して定義されます。 表現プロパティが設定されている場合、型とパートのプロパティは無効になります。
これらのプロパティを手動で定義するには、オブジェクト インスペクタの該当するフィールドに値を入力します。 指定した値がモデル内に存在しない場合は、単引用符内に表示されます。 このような参照は、実際の要素に関連付けられず、 [選択] メニューも利用できません。 指定した値がモデル内で解決される場合は、引用符なしで表示され、 [選択] メニューが有効になります。
状態不変式
状態不変式とは、ライフライン上に配置される制約のことです。 この制約は、実行時、次の実行仕様が実行される前に評価されます。 状態不変式は、OCL 式または状態図への参照という 2 つの形式で相互作用図内に表されます。 この状態不変式を使用して、相互作用図にコメントを付けたり、相互作用を状態に関連付けることができます。
さらに、モデリングは、OCL 式で表された状態不変式の検証も実行します。 構文が不正な場合、または有効なコンテキストが存在しない場合、制約が赤色で表示されます。 たとえば、ライフラインが有効なコンテキストで使用されるには、型と表現のプロパティが定義されている必要があります。