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