状態マシン

<< 目次を表示 >>

ページ位置:  プログラムの動作解析 > 動作の記録 > 状態遷移の情報を追加 >

状態マシン

状態マシンと、状態マシンに含まれるステートマシン図では、アプリケーションの実行中に発生する状態の変化を図示します。ステートマシン図では、有効な状態と、状態間の明示的な遷移を定義します。

 

手順

まず、対象のクラス要素の子要素として、状態マシン要素を作成する必要があります。状態マシンに含まれるステートマシン図に、対象のクラス要素内部の状態変化をモデリングします。

 

次に、それぞれの状態の「制約」として、それぞれの状態であるを示すための条件を入力します。

 

条件は、クラスの属性を利用して実際のコードとして記述します。OCLを利用するのではありません。複数の内容の場合には、改行して記載してください。以下は定義の一例です。

 

    m_strColor ==  "Blue"

 

設定後、記録サブウィンドウからデバッガを起動します。

 

記録サブウィンドウの実行ボタンを押します。

 

シーケンス図の自動生成を実行する際に、関係するステートマシン図として、このステートマシン図を指定します。指定する際には、モデル内に存在するすべての状態マシン要素が一覧に含まれ、その中のステートマシン図を指定します。

 

デバッグを実行し終了すると、シーケンス図を生成するかどうかの確認ダイアログが表示されます。その際に、状態遷移をシーケンス図上に表現するかどうかを指定できます。対象のクラスを示すライフライン上で状態の変化がある位置に、状態要素が配置されます。

 

 

例:

下の図は、メルボルンの地下鉄のシステムに含まれる状態を示しています。地下鉄のネットワーク上を移動する電車は、下の状態マシン図で定義される駅に停車します。

 

 

この駅のステートマシン図を含む状態マシン要素は、CTrainクラスの下に配置されます。

 

 

対象のダイアグラムを指定する状態遷移の記録ダイアログでは、モデルルートが表示されています。状態マシン要素の子ダイアグラムになっているステートマシン図が指定できます。

 

 

 

参照: