下図に、HomeHeatingSystem サンプルの Room のステートチャートを示します。

SomeoneEntersTheRoom シーケンス図の Room のライフラインから、 Room が、その occupancy 属性をポーリングして使用中かどうかを確認することがわかります。 使用中の場合は、居住者によってサーモスタットに希望の温度が設定されたときに、必要な暖房を Furnace に送ります。 Room が、Furnace から、作動開始されたというメッセージを受信すると Room は、Valve に開くように伝えるメッセージを送信します。部屋が十分暖かくなると、 Room は Furnace に発熱を停止するように伝え、Valve を閉じます。 最後に、Room は、Furnace から Furnace の作動停止を知らせる確認応答を受け取ります。
この一連のイベントから、Room には 4 つの領域の責務、すなわち、並行状態 があることがわかります。
| 領域 | 責務 |
|---|---|
| mode | 使用の有無に基づき作動温度を決定します。 |
| heatMode | 暖房の必要性を決定します。 |
| FurnaceMode | Furnace の状態をモニターします。 |
| sampling | 定期的に暖房と使用センサーをサンプリングします。 |