ステートマシン図/状態遷移表
概要
システムやクラスの状態とその振る舞いを記述するために、ステートマシン図を利用できます。ステートマシン図に加えて状態遷移表も利用でき、ステートマシン図と状態遷移表を切り替えながらシームレスに設計できます 。
状態遷移表では遷移ありの箇所や遷移なしの箇所を強調表示したり、トリガが定義されていない遷移を確認したりできます。そして、遷移の代わりにそのトリガを無視するもしくは起こり得ないという情報を注記することで、抜け漏れなく設計できます。
このページでは、ステートマシン図と状態遷移表を利用するための操作について、次の順で説明します。
- ステートマシン図を配置する
- 状態を定義する
- 遷移を定義する
- 状態遷移表で設計情報を記述する
また、ユーザーのモデリングを支援するために、次の機能を提供しています。
これらについても、順に説明します。
- モデルを検証する
- 表示内容を設定する
ステートマシン図を配置する
ステートマシン図を配置するには、以下の手順で行います。
- モデルナビゲータにてパッケージを選択し、コンテキストメニューの [モデルの追加] > [ステートマシン図] をクリックします。
- 選択したパッケージの子要素にステートマシン図が配置されます。
現在のバージョンでは、ディスプレイ設定の表示スケールが100%を超える値に設定されている場合、状態遷移表のセルのテキストが一部見切れてしまう場合があります。
この現象を回避するには、ディスプレイ設定の表示スケールを100%に設定してご利用ください。
その他の制約事項はこちらを参照してください。
状態を定義する
状態を定義するには、以下の手順で行います。
- 表示されているステートマシン図にツールボックスから [状態] をドラッグ&ドロップします。
- 表示されているステートマシン図または状態の子要素として新規に状態が追加されます。
ステートマシン図ではツールボックスで表示している以下の要素を配置できます。
アイコン | 名称 |
---|---|
状態 | |
入場点 | |
退場点 | |
開始 | |
終了 | |
履歴 | |
結合 | |
選択 | |
並行 | |
合流 | |
ノート | |
ラベル | |
シェイプ |
入場点・退場点は以下の要素のポートシェイプとして配置します。
- 状態
状態に振る舞いを追加する
入場時の処理を追加するには、以下の手順で行います。
- 状態を選択します。
- プロパティインスペクタの[振る舞い] > [入場時処理]フィールドをダブルクリックすると、編集状態になります。
- 入場時の処理を記述して編集を確定させると、状態に入場時処理が設定され、ステートマシン図上に入場時処理が表示されます。
ステートマシン図上で状態のボディにテキスト入力すると、表記フォーマットに従ってテキスト解析され、状態の各フィールド値に反映されます。
もちろん、各フィールド値を変更すれば図上のテキストに反映されます。
状態の振る舞いとテキスト表記フォーマットと各フィールド値との対応関係
状態に対する振る舞いは、以下のフォーマットに従ってテキスト表示・解析されます。
-
フォーマット:
<