状態
UMLで扱うステートマシンは、有限の離散的な状態をもつものに限定されます。(状態を無限に持ったり、連続的な状態を扱うことはできません。)
また、UMLでは、振舞いステートマシーンとプロトコル・ステートマシーンの2種類がありますが、本講座では振舞いステートマシーンの方を主に取り扱います。
状態には、次の3種類があります。
シンプルステート : 下位状態を持たない単純な状態です
コンポジット・ステート: 状態の中に複数の区画(リージョン)があり、それぞれが状態(下位状態)を持ちます。
サブマシーン・ステート: ステート・マシーンの中に、さらにステートマシーンがあります。セマンティックス的には、コンポジット・ステートと同等です。
状態の表記
状態は、図D02のように角の丸い四角形として表します。また、図D03のように、状態名をタブで表記することも可能です。
図D02
図D03
コンパートメント表記
状態は、図D04の様に、コンパートメント表記することが可能です。
コンパートメント部分は、トリガー / アクションの形で表します。
トリガー名として、前回触れましたように、entry、exit、doがあらかじめ予約語として定義されています。
図D04