第8章 ステートマシン図
本日から、第8章 ステートマシン図に入ります。
ステートマシン図は、昔から良く使われている状態遷移図をオブジェジェクト指向風に再定義した物で、直感的にも非常に解りやすい図です。
図D-01は、ステートマシン図の例です。
角の丸い四角形は状態を表しており、図中には「活動状態」と「待機状態」の2つの大きな状態があり、「活動状態」はさらに複数の下位の状態(サブステート)を持っています。
矢印は、状態の遷移を示しており、トリガー[ガード条件]/ アクションと言う表記を行ないます。
また、状態の中をさらにコンパートメントに分解することができ、トリガー/アクションと言う形で細かいアクションの指定が可能です。
図中の[タイムアウト」の状態では、do/メーッセージ案内 と言う記述がありますが、このdoは、一種の予約語で、その状態にある間は指定のアクションを取り続けなさいという意味になります。
他の予約語として、entry(その状態に入った時に取るべきアクションを指定)と、exit(その状態から出る時に取るべきアクションを指定)などがあります。
また、状態を示す四角形以外に黒丸の図形がありますが、これは疑似状態と呼ばれ、厳密には状態ではなく制御記号であり、黒丸は開始状態と呼ばれ、開始時に取る状態を指し示すために用いられます。
また、二重黒丸は終了状態で、これは疑似ではなく本物の状態です。(終了状態は、ステートマシンの終了を意味し、これ以降終了以外のいかなる状態へも状態遷移しません。)
図 D-01