ステートマシン図と状態遷移表

Enterprise Architectでは、ステートマシン図と状態遷移表を相互に変換し、状態に関するモデリングを効率的に行うことができます。このページでは、この機能をご紹介します。状態遷移設計に関するさまざまな機能については、こちらのページをご覧下さい

Enterprise Architectの状態遷移表で編集・追加・削除した内容は、自動的にステートマシン図に反映されます。また、ステートマシン図での編集内容は自動的に状態遷移表に反映されます。これにより、UMLのステートマシン図の内容を状態遷移表で確認・編集して、ステートマシン図で再度確認する、というラウンドトリップ設計が可能になります。

State-Diagram Rounttrip

状態遷移表の表示形式

状態遷移表はUMLのステートマシン図の内容を表形式で表示したものです。ある状態から別の状態にどのように遷移するのかを確認することができます。表示する形式は、次の2つの形式を選択することができます。

状態 - トリガ

縦方向に状態を、横方向にトリガを並べて表形式で表現します。必要に応じて、上と左を逆にすることもできます。この場合には、トリガ - 状態の形式を選択してください。それぞれのセルは、ある状態のときにトリガが発生した場合の遷移先の状態を示します。また、遷移の条件も表示されます。

State-Trigger

状態 - 次の状態

行・列ともに状態が表示されます。それぞれのセルは状態間を遷移するトリガを示します。また、トリガが発生するときに遷移するための条件も表示されます。

State-Next

状態遷移表の機能

状態遷移表の遷移はドラッグ&ドロップで他のセルに移動したり、ダブルクリックやF2キーで内容を編集したりできます。ステートマシン図での操作と同じように簡単な編集を実現しています。

状態遷移表のそれぞれのセルには、下の図のように「注記」を記入することができます。注記には「N」「I」の2つがあり、それぞれ「不許可」「無視」を意味します。また、状態遷移表の内容をCSV形式で出力することも可能です。

State-Next

ソースコード生成

「Enterprise Architect Suite システムエンジニアリング版」(あるいはアルティメット版)では、この状態遷移表(ステートマシン)の内容から、C言語・C++・Java・C#・VB.NET・SystemC・VHDL・Verilog・Ada2005のソースコードを出力することが可能です。
「Enterprise Architect Suite ビジネスモデリング版」では、状態遷移表(ステートマシン)の内容からC言語・C++・Java・C#・VB.NETのソースコードを出力することが可能です。

ステートマシン図からのソースコード生成の詳細はこちらをご覧下さい。

動画デモ

内容更新日時間-
ステートマシン図と状態遷移表の連携 2011/7/14 3分31秒再生開始
ステートマシン図のシミュレーション 2013/1/21 3分22秒再生開始