相互作用図の記号と用語
相互作用図では一般的に以下の用語と記号を使用します。
ライフライン : 所与の相互作用内の単一の参加者を示し、特定の分類子のインスタンスが相互作用に参加する方法を表します。
ライフラインの属性には以下のようなものがあります。
- 名前 : 特定の相互作用でライフラインを参照するために使用します。ライフライン名はオプションです。
- タイプ : ライフラインがインスタンスを表す分類子に名前を付けます。
- セレクタ : 要件を満たす特定のインスタンスを選択するためのブール条件として使用されます。
メッセージ : メッセージとは、相互作用における2つのライフライン間の特定の通信タイプを指し、オペレーションの呼び出し、インスタンスの作成や破棄、シグナルの送信に使用できます。ライフラインがメッセージを受信してやり取りする際に、ライフラインからライフラインへ移動する制御のフォーカスが作成されます。これは制御のフローと呼ばれます。
相互作用図では以下のようなメッセージを使用します。
- 同期メッセージ : メッセージの送信者は、受信者がメッセージの実行から制御を返すまで待機し続けます。
- 非同期メッセージ : メッセージの送信者は、メッセージ受信者からのリターンを待たずに、次のメッセージの実行を続けます。
- リターンメッセージ : 前のメッセージの受信者は送信者に制御フォーカスを返します。
- オブジェクトの生成 : メッセージの送信者は分類子のインスタンスを作成します。
- オブジェクトの消滅:メッセージ送信者は生成されたインスタンスを破棄します。
- 検出メッセージ : メッセージの送信者が相互作用の範囲外です。
- 逸失メッセージ : 相互作用内でメッセージが失われ、宛先に到達することはありません。
演算子: 演算子は、被演算子が操作内で実行される方法を指定します。UML において、演算子は、データに対する分岐と反復をサポートしています。
相互作用図では以下のような演算子を使用します。
- Opt (option) : 条件が真である場合に被演算子が実行されます。
- Alt (alternative) : 条件が真である被演算子が実行されます。
- Loop (loop) : 特定の期間につき、命令をループします。
- Break (break) : 条件が真または偽の場合はループが壊れ、次の命令が実行されます。
- Ref (reference) : 別の相互作用を参照します。
- Par (parallel) : すべての被演算子が互いに並列に実行されます。
分岐 : 相互作用図で最も重要な用語のひとつです。相互作用図内で分岐を表すため、個々のメッセージにメッセージの転送可否を検証するガード条件が追加されます。メッセージのガード条件が真である場合にのみ、メッセージを転送できます。メッセージは複数のガード条件をもつことができ、複数のメッセージに同一のガード条件を含めることもできます。
反復 : 相互作用式は相互作用指定子と反復句で構成されます。反復式は、相互作用図で反復式を示すためにも使用でき、特定の構文を含みません。
並列反復指定子は、メッセージが並列に送信されていることを示すために使用され、「*//」で示されます。UML において、反復はループ演算子を使用して達成されます。
状態の不変と制約 : 相互作用図において、状態とはオブジェクトの存続期間中の状況または条件を指します。制約を充足し、さまざまな操作を実行し、イベントを待機するものです。状態はインスタンスまたはライフラインがメッセージを受信した際に変更できますが、すべてのメッセージが状態の変更をトリガーするわけではありません。