时序图显示对象所扮演的角色之间的消息交换方案。该功能可以以多种方式使用,包括在测试用例中分享和设计方案、执行跟踪和预期行为等。
垂直轴是时间维度,显示系统对象之间的消息交换。消息代表对象之间以事件或操作调用形式的交互。它们描绘为连接对象生命线的箭头。
以下时序图显示了住户进入房间时 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 的程序包,事件定义生成在 Default.h 文件中。