下图显示了 HomeHeatingSystem 示例中 Room 的状态图。

从 SomeoneEntersTheRoom 时序图中 Room 的生命线中,您可以看到 Room 轮询其 occupancy 特性以查看它是否占用。如果已占用,它会在住户在调节器上设置希望的温度时向 Furnace 发送所需要的热量。一旦 Room 从 Furnace 接收到表示它已启动的消息,Room 会向 Valve 发送消息指示它打开。当房间足够温暖时,Room 会告诉 Furnace 停止供暖,然后关闭 Valve。最后,Room 从 Furnace 接收到应答,使它知道 Furnace 已停止。
从这个事件序列中,您可以看到 Room 有四个区域的职责或并发状态:
| 区域 | 职责 |
|---|---|
| 方式 | 根据占用确定工作温度。 |
| heatMode | 确定需要供暖。 |
| FurnaceMode | 监视 Furnace 的状态。 |
| 采样 | 定期对供暖和占用传感器进行采样。 |