シーケンス図は、ロールを割り当てられたオブジェクトの間でやり取りされるメッセージのシナリオを表現します。この機能は、分析および設計シナリオ、実行トレース、テストケース内の予想される振る舞いなど、さまざまな方法で使用できます。
垂直軸は、時間の次元で、システム・オブジェクト間のメッセージの交換を示します。 メッセージは、イベントまたは操作呼び出しの形式で行われるオブジェクト間の相互作用を表します。 これらは、オブジェクト・ライフラインを接続する矢印で描かれます。
以下のシーケンス図は、居住者が入室した後に、その HomeHeatingSystem 内で発生するコラボレーションを示します。 システム・オブジェクトが最初の行に指定されます。ネストされたオブジェクトは、トップレベルのオブジェクトから始まり、階層に従って進むオブジェクト・パスを使用して特定できます。 オブジェクトの配列を使用して、索引によりインスタンスが示されます。

オブジェクトの振る舞いの完成した要件は、各シナリオからのすべてのオブジェクト・ライフラインを投影したものになります。 シーケンス図内の一連のライフラインは、ステートチャートとしてオブジェクトの詳細なライフ・サイクルを形成します。
このシナリオでは、次のメッセージが、イベントとしてオブジェクト間で渡されます。
| メッセージ | 送信側 | 受信側 | 説明 |
|---|---|---|---|
| updateOcc() | <inhabitant> | OccSensor | 誰かが部屋に入りました。 |
| occupied() | <system> | Room | Room は、タイマーを受け取ります。 |
| updateDtemp() | <inhabitant> | Room | 居住者は、必要な温度を設定します。 |
| heatReq() | Room | Furnace | Room は Furnace に暖房を要求します。 |
| motorReady() | <system> | Furnace | システムは、Furnace のモーターが作動可能状態にあるかを検査します。 |
| Fstarted() | Furnace | Room | Furnace は、Room に作動開始を伝えます。 |
| open() | Room | Valve | Room は暖房の Valve を開けるように伝えます。 |
| stopHeat() | Room | Furnace | 温度が十分に暖かくなると、Room は Furnace に発熱を停止するように伝えます。 |
| close() | Room | Valve | Room は暖房の Valve を閉じるように伝えます。 |
| Fstopped() | Furnace | Room | Furnace は Room に停止したことを伝えます。 |
シナリオの各イベントは、パッケージの宣言ファイル内のイベント構造に生成されます。 HomeHeatingSystem の例では、Default という名前の 1 パッケージのみなので、Default.h ファイルにイベント定義が生成されます。