メッセージは、相互作用内のインスタンス間での特定の種類の通信を定義する、統一モデリング言語 (UML) シーケンス図エレメントです。メッセージは、ライフラインによって表される 1 つのインスタンスから、相互作用内の別のインスタンスに情報を運びます。
メッセージは送信側と受信側を指定し、ライフライン間で行われる通信の種類を定義します。たとえば、通信は synchCall または asynchCall を使用して操作を起動、または呼び出し、asynchSignal を使用してシグナルを掲げ、参加者を作成または破棄することができます。
次の図で説明するように、メッセージは相互作用フレーム内に、メッセージが送信される方向を指す矢印を伴った線として表示されます。すなわち、メッセージの送信側から受信側までを示す線です。
ソース・ライフラインがターゲット・ライフラインに送信するメッセージは、ターゲット・ライフラインが実装する操作またはシグナルを表します。メッセージに名前および順序をつけることができます。線または矢印の外観は、メッセージのプロパティーを反映します。次の表は、シーケンス図でメッセージを表すグラフィックスを示したものです。
グラフィック | 説明 | 表記 |
---|---|---|
![]() |
受信側ライフラインの方向を指す塗りつぶし矢印を伴う線 | このグラフィックは同期呼び出し操作を表し、システムは制御のフローが完了するまで待ってから外部フローを続行します。 |
![]() |
開いた矢印を伴う線 | このグラフィックは非同期シグナルまたは非同期呼び出しを表し、ソース・オブジェクトはメッセージを送信すると即時に次のステップを続行します。 |
![]() |
発信側ライフラインの方向を指す塗りつぶし矢印を伴う破線 | このグラフィックは、呼び出しからプロシージャーへのリターン・メッセージを表します。同期メッセージを作成するとき、デフォルトでリターン・メッセージが作成されます。このデフォルトは「設定」ウィンドウで変更することができます。 |
メッセージは名前または操作シグニチャーを使用して識別することができます。
タイプ | 例 | 説明 |
---|---|---|
名前 | ¥Get the Password¥ | 名前はそのメッセージの名前のみを識別します。規則により、メッセージ名が操作と関連付けられていないことを示すために、名前が円記号 (¥¥) の間に置かれます。操作がメッセージと関連付けられると、操作名がその名前を置き換えます。 |
シグニチャー | getPassword | 操作がメッセージに割り当てられると、操作シグニチャーを表示してその操作の名前を識別することができます。シグニチャーは、開発者が設計をコーディングする際に必要となる詳細を提供するため、設計段階の図中でよく使用されます。 |
非同期メッセージは、その送信ポイントと受信ポイントを個々に移動できる唯一のメッセージ・タイプです。非同期メッセージのポイントをライフラインの間で移動して、送信イベントと受信イベントの間の時刻遅延を操作することができます。その結果は、スキューされたメッセージと呼ばれます。
次の図で説明するように、スキューされたメッセージは、送信ライフラインと受信ライフラインの間で発生する複数の相互作用をもった、開いた矢印を伴う線として表示されます。
送信イベントはブロックされず、送信ライフライン上のポイントと受信ライフライン上のポイントの間で相互作用が発生することがあります。