コードミックス ビジュアルプログラミング StateGo

テンプレートと変換について

ステートとテンプレート

SteteGoは『状態遷移図』を設計するツールです。
状態をあらわすステートと呼ばれるノードに直接プログラムコードを書き込みます。
書き込まれたプログラムコードは、テンプレートを使い、再配置され、ソースコードに変換されます。

 

ステートは内部にテーブルを持ち、プログラムの各要素ごとにプログラムコードを書くようになっています。

 

プログラム要素は以下の通りです。 ※説明のため簡略化しています。

 

  1. ステート名
  2. 初期化処理
  3. 更新処理
  4. 待機条件
  5. 分岐処理

 

テンプレートは、これらの要素を再配置します。

 

例えばC#の場合以下のテンプレートが用意されます。

 

 

void [[ステート名]](bool bFirst) // 分岐されるまで何度も呼ばれる
{
  if (bFirst) //最初のみtrueとなる。
  {
    [[初期化処理]]
  }

 

  [[更新処理]]

 

   if ([[待機条件]]) return; // 条件がtrueであれば再びこの関数が呼ばれる。

 

  [[分岐処理]]
}

 

 

StateGoは、ステートのテーブルの各項目のプログラムをテンプレートに当てはめて再配置します。

 

上記のテンプレートでは初期化処理がない場合や待機条件がない場合に文法エラーが発生します。
しかし、テンプレートでは回避する方法が用意されています。


トップへ戻る