ステートマシン図と状態遷移表
Enterprise Architectでは、ステートマシン図と状態遷移表を利用して、状態に関するモデリングを効率的に行うことができます。このページでは、この機能を紹介します。状態遷移設計に関するさまざまな機能については、こちらのページをご覧下さい。
状態遷移表で編集・追加・削除した内容は、自動的にステートマシン図に反映されます。また、ステートマシン図での編集内容は自動的に状態遷移表に反映されます。これにより、ステートマシン図の内容を状態遷移表で確認・編集して、ステートマシン図で再度確認できます。
状態遷移表の表示形式
状態遷移表はステートマシン図の内容を表形式で表示したものです。ある状態から別の状態にどのように遷移するのか確認できます。表示する形式は、次の2つの形式を選択できます。
状態 - トリガ
縦方向に状態を、横方向にトリガを並べて表形式で表現します。必要に応じて、トリガ - 状態の形式を選択して上と左を逆にすることもできます。それぞれのセルは、ある状態のときにトリガが発生した場合の遷移先を示します。また、遷移の条件も表示されます。
状態 - 次の状態
行・列ともに状態が表示されます。それぞれのセルは状態間を遷移するトリガを示します。また、トリガが発生するときに遷移するための条件も表示されます。
2種類の状態遷移表
状態遷移表には、Enterprise Architect標準(組み込み)の機能と「状態遷移表Exアドイン」の2種類があります。
Enterprise Architect標準の状態遷移表も十分に実用的ですが、対象のステートマシン図について、図形式と表形式のいずれか1つのみしか表示できないという欠点があります。そのため、ステートマシン図として作成した内容の漏れ抜けのチェック時などに、図と表の両方を見ながら確認・修正できません。
状態遷移表Exアドインは、サブウィンドウ(別画面)として表示されますので、ステートマシン図の内容を見ながら状態遷移表の内容を確認できます。また、相互に連携しますので、例えばステートマシン図内の状態要素や遷移をクリックすると状態遷移表の対応部分が明示され、表内のセルの選択でステートマシン図の対応部分が明示されます。
以下の内容は、状態遷移表Exアドインを利用する場合の説明となります。状態遷移表Exアドインはサポートが有効であれば無料で利用できる動作期間限定アドインです。
状態遷移表Exアドイン
利用するまでの操作方法
状態遷移表Exアドインをダウンロード・インストールしEnterprise Architectを起動します。「アドイン・拡張」リボン内の「アドイン」パネル内にある「ウィンドウ」ボタンを押すと、状態遷移表Exアドインが利用できるアドインサブウィンドウが開きます。複数のアドインがこのサブウィンドウを利用する状況の場合には、サブウィンドウ内のタブで切り替えができます。
対象のステートマシン図を開いた状態で、ツールバーの左端の「有効・無効切り替え」ボタンを押すと、その図の内容の状態遷移表が表示されます。
機能・操作
- 状態遷移表内のセルを選択すると、対応する状態要素や遷移が明示されます。
- ステートマシン図内の状態要素や遷移を選択すると、対応する状態要素や遷移が明示されます。
- 状態遷移表のそれぞれのセルには「注記」を記入することができます。注記には「N」「I」の2つがあり、それぞれ「不許可」「無視」を意味します。注記は、右クリックメニューあるいはキーボードの「N」「I」キーで設定できます。
- Deleteキーでセルの内容を削除できます。
- セルの右クリックで、遷移の追加・注記の追加・セル内容の削除ができます。
- 左上の領域は、 「状態」「トリガ」の文字が表示されているあたりをダブルクリックして状態やトリガを追加できます。
- 状態およびトリガのセル内でF2キーを押して名前を編集できます。編集するためのダイアログが表示されます。
- 行および列に表示されている状態やトリガは、SHIFT+カーソルキーで順序を変更できます。
ツールバー
ツールバーから以下の機能を実行できます。(左から順に)
- アドインの有効/無効の切り替えボタン: 機能の有効・無効を切り替えます。有効になっている場合、オプション設定に応じてさまざまな動作が行われますので、不要な場合には無効にしてください。
- 最新の内容に更新ボタン: 現在表示されているステートマシン図の内容で、状態遷移表を更新します。
- 表示形式切り替えボタン: 状態遷移表の表示形式を変更できます。「状態-次の状態」「状態-トリガ」「トリガ-状態」の3つが選択できます。
- 編集内容の保存ボタン: 注記の編集内容を保存します。遷移の追加や削除は自動保存です。
- 表の内容を出力ボタン: 表示されている内容をPNG画像あるいはExcelファイルとして出力するか、画像をクリップボードに保存します。
(注: 現在のところ、状態遷移表が大きく表示範囲外の部分がある場合、画像として保存およびクリップボードへの出力の出力結果が欠けてしまいます。表のすべての内容が表示されている状態で実行してください。) - オプションボタン: アドインの動作を変更できます。
- フィルタリスト: 表示されている内容を、指定したセルを含む行・列のみに絞り込みます。大きな状態遷移表で、特定の移動先・特定のトリガでの遷移のみに絞って確認する場合に便利です。
オプション
オプション設定ボタンからは、以下の設定が変更できます。アドインの動作速度が遅い場合、設定を変更することで動作速度を改善できます。
- Enterprise Architectの動作との連動
- Enterprise Architectでダイアグラムを開いたりタブを切り替えたりした場合に、状態遷移表を自動更新するかどうか
- Enterprise Architectで状態・トリガ・遷移などを編集した場合に、状態遷移表を自動更新するかどうか
- Enterprise Architectで状態要素・遷移を選択した場合に、状態遷移表内の対応部分を明示するかどうか
- 状態遷移表内の動作
- 状態遷移表内のセルを選択した場合に、ダイアグラム内の関係する状態要素や遷移を色づけするかどうか
- 状態遷移表内のセルを選択した場合に、ダイアグラム内の関係する状態要素や遷移をフィルタ表示するかどうか
- 状態遷移表内の状態要素やトリガ要素のセルを選択した場合に、モデルブラウザ内で該当要素を選択状態にするかどうか
- その他
- ダイアグラムを閉じたり他のステートマシン図を表示したりする場合に、注記の編集内容を自動保存するかどうか
- セル内右クリックで遷移を追加する場合に、遷移先の状態をフィルタで明示するかどうか
- セル内の状態やトリガについて、「E1:電源ON」のように、番号と名前を併記するかどうか
- 注記文字として、Enterprise Architect標準機能で利用できない文字を利用できるようにするかどうか
('X', '/', '-'の3つの文字が利用できるようになります) - 選択点要素を、連結点要素と同様に状態として扱わないようにするかどうか
制限事項・注意事項
- 遷移セルのドラッグ&ドロップは、トリガの変更のみの対応です。
- 行・列のサイズや色などは、Enterprise Architect標準の状態遷移表機能の設定を読み込んでいます。その設定を変更することで、このアドインの表示にも反映されます。
- EAPX, FEAP, QEA(QEAX)以外の形式のプロジェクトは未対応です。
謝辞
このアドインでは、「組み込み用表計算スプレッドシート ReoGrid」を利用しています。このような高品質・高機能なライブラリをオープンソースソフトウェアとして提供してくださいまして、関係者の皆様にお礼申し上げます。
動画デモ
内容 | 時間 | リンク |
ツールを利用した状態遷移設計 | 11分42秒 | YouTubeで再生 (音声あり) |