english japanese

状態遷移表プラグイン

ステートマシン図を元に状態遷移表を自動生成します。
表は、リアルタイムに更新されるので、ステートマシン図を作成しながら仕様の抜け漏れを確認できます。また、遷移の前状態と後状態を軸に取った一般的な状態遷移表だけでなく、イベント視点から状態遷移を考えられる[状態]と[イベント]の遷移表も備えています。各状態でイベントが起こりえない(can not happen)か、無視する(ignore)かを設定でき、状態遷移パスプラグインと併用することで、無視する(ignore)を設定した場合に、ignoreも考慮したパスも抽出することもできます。

概要

インストール

  1. 上記Downloadボタンから statematrix-x.x..jar ファイルをダウンロードして、.jarファイルを、astah*図上にドラッグ&ドロップします。
  2. プラグイン概要のダイアログが表示されるので[はい]を選択します。
  3. 次に表示されるメッセージに従ってastah*を再起動します。
    astahプラグイン
    ※[プラグイン]メニューは、バージョン7.2以降のみに存在します。 7.1以前をご利用の方はこちら。
  4. 図を開いて、ダイアグラムエディタ下に[状態遷移表]タブが表示されていれば、インストールは完了です。
    状態遷移表, ステートマシン
  5. 拡張ビューが表示されない場合は、[表示] - [拡張ビューの表示/非表示]を選択してください。
    状態遷移表, 拡張ビュー


リファレンス


状態遷移表プラグインをインストール後に、ステートマシン図を含むプロジェクトを開くと、状態遷移表が自動生成されます。
状態遷移表内のセルを選択すると、対象のモデルがハイライトされます。
セル選択時のハイライト

■ 2種類の状態遷移ビュー ■


状態遷移表には、[前状態-後状態]と[状態-イベント]の2つのビューがあります。
状態遷移表のプルダウンメニュー

ビューの切り替えは、右上にコンボボックスで行います。
状態遷移表[状態-イベント]



■ 擬似状態の扱い ■


擬似状態は、選択されているビューによって扱いが異なります。
擬似状態のステートマシン図

例えば、上図の[前状態-後状態]ビューでは、[相手が通話中]と[相手が待機中]の2つの発信イベントに展開されます。
[前状態-後状態]での擬似状態

[状態-イベント]ビューでは、[相手が通話中]と[相手が待機中]の2つの発信イベントは、まとまっています。
[状態-イベント]での擬似状態



■ サブマシンを含む入れ子状態の扱い ■


状態遷移表タブでは、サブマシンを含む入れ子状態に関連する遷移は、コンテナとなる親状態の遷移に変換されます。
入れ子状態に関連するステートマシン図
入れ子状態に関連する遷移表


■ 各ボタンの説明 ■


状態遷移表メニュー

ボタン名 説明
モデル更新時に、自動的にモデルを検証 自動的にタブを更新 モデル更新時に、自動的に状態遷移表タブも更新します (デフォルト:ON)
タブの更新 タブの更新 [更新]ボタンをクリックすると、状態遷移表タブを更新できます
タブの内容をMicrosoft Excelにエクスポート Excelにエクスポート [Excelにエクスポート]ボタンをクリックすると、状態遷移表をExcelに出力できます (詳しく見る)



利用方法


■ [前状態-後状態]の状態遷移表を使って、ステートマシン図を改善する ■

  1. 次のようなステートマシン図を用意します。(ステートマシン図の作成方法は、こちらをご参照)
  2. ステートマシン図のサンプル
  3. ビューを[前状態-後状態]に切り替えます。
    発信イベントが起こった際に[相手が待機中]の条件を満たせば、待機中から発信中に遷移することが分かります。
  4. 状態遷移表[前状態-後状態]
  5. この表で状態遷移の抜け漏れをチェックします。
    状態遷移表から、"終了状態"が存在しないことが分かります。そこで、ステートマシン図に終了状態を追加します。待機中から電源OFFイベントで終了状態へ遷移すると定義します。自動更新がONになっているため、状態遷移表が更新され、終了状態0が表示されます。
  6. ステートマシン図に[終了状態]を追加


■ [状態-イベント]の状態遷移表を使って、仕様を定義する ■

  1. 次に、[状態-イベント]ビューに切り替え、イベントに対する状態遷移を確認します。
  2. 状態遷移表[状態-イベント]
  3. 通話中状態において着信イベントが発生しても、無視する仕様を定義します。
    通話中状態と着信イベントの交点となるセルをクリックし、プルダウンメニューからignoreを設定します。
  4. 状態遷移表でignoreを設定する


■ 状態遷移表タブの内容を Microsoft Excel にエクスポートする方法 ■


情報量の多いステートマシン図を状態遷移表で確認する場合は、Execlに出力すると便利です。

  1. [Excelにエクスポート]ボタンをクリックします。
  2. Excelにエクスポートボタン
  3. エクスポートダイアログが表示されます。[生成]ボタンをクリックすると状態遷移表タブの内容が出力されます。
  4. エクスポート画面
  5. 「作成したドキュメントを自動的に開く」チェックボックスにチェックがある場合、Excelに出力した後、そのファイルを開きます。
  6. 出力されたExcel画面

いかがでしたか?
【チュートリアル】ステートマシン図&状態遷移表では、 CDプレイヤーを題材に、「振舞い」の設計に使うステートマシン図の描き方と、図を描いた後に、状態遷移表を使って仕様漏れなどを確認する方法を紹介していますので、是非お読みください。