特許
J-GLOBAL ID:200903087296958542

階層化状態遷移決定表に基づくプログラム実行方法および装置

発明者:
出願人/特許権者:
代理人 (1件): 矢島 保夫
公報種別:公開公報
出願番号(国際出願番号):特願平7-127130
公開番号(公開出願番号):特開平8-305554
出願日: 1995年04月27日
公開日(公表日): 1996年11月22日
要約:
【要約】 (修正有)【目的】並行動作する複数のコンポーネントの状態遷移の組み合わせを階層木構造で定義し、動作をそれぞれ決定表で表現し、下位の決定表の内容を合成して上位の決定表の内容を作るというボトムアップな階層化を行うだけで、コンポーネントの動作を容易に管理し、実行制御する。【構成】並行動作する複数のコンポーネントが互いにインタラクションを取りながら非決定的に状態遷移をしているような対象システムの階層木構造を入力し、階層木構造の各ノードにおける状態決定表を定義する。そして、任意の状態ノードにイベントが入力したときは、状態決定表に基づいてその状態ノードにおける状態遷移を生起するとともに、状態遷移の生起を内部イベントとして、状態遷移の影響が及ぶ上位の状態ノードに送る。内部イベントを入力した上位の状態ノードは、同様にして状態遷移を起こしさらに上位に内部イベントを送る。
請求項(抜粋):
少なくとも記憶装置とプログラムを実行する処理装置とを備えた装置において、状態遷移とその遷移を生起させるイベントとの組み合わせを記憶しておき、入力されたイベントに基づいて、状態遷移および該状態遷移に付随するプログラムの実行を制御するプログラム実行方法であって、プログラムを実行する対象システムの階層木構造を入力して上記記憶装置内に記憶するステップと、該階層木構造の各ノード(状態ノードと呼ぶ)ごとに、(i)最下位の状態ノードについては、当該状態ノードが取り得る状態値、当該状態ノードに直接入力される外部イベント、および遷移前後の状態値を入力し状態遷移決定表として上記記憶装置内に記憶し、(ii)下位に状態ノードが存在する状態ノードについては、当該状態ノードが取り得る状態値(下位状態ノードの取り得る状態値を合成した合成状態値からなる)、当該状態ノードに直接入力される外部イベントと下位状態ノードにおいて生じた状態遷移で表わされる内部イベント、および遷移前後の状態値を入力し状態遷移決定表として上記記憶装置内に記憶するステップと、上記記憶装置内に、各状態ノードの現在の状態値を記憶するためのカレント状態記憶領域と、発生した外部イベントおよび内部イベントを記憶するためのイベント記憶領域とを確保するステップと、最下位の状態ノードの現在の状態値をカレント状態記憶領域に初期設定するとともに、最下位以外の状態ノードについても、下位状態ノードの現在の状態値を合成して合成状態値を求めることにより、当該状態ノードの現在の状態値をカレント状態記憶領域に初期設定するステップと、上記イベント記憶領域からイベントを読み出し、(i)読み出したイベントが外部イベントである場合には、該外部イベントが入力した状態ノードの状態遷移決定表を参照して、現在の状態値に対して発生する遷移後の状態値を検索し、現在の状態値を遷移後状態値に置き換え、該状態ノードについての{ノードID、遷移後の状態値}の組み合わせを内部イベントとして、上記イベント記憶領域に格納し、(ii)読み出したイベントが内部イベントである場合には、上記階層木構造をたどって、該内部イベントが通知されるべき上位状態ノードを検索し、該上位状態ノードに対応する状態遷移決定表に記載されているイベントの中から、読み出した内部イベントと一致するものを検索し、検索された状態ノードにおいて現在の状態から当該内部イベントが入力されて生起する遷移後の状態値を検出し、現在の状態値を該遷移後状態値に置き換え、さらに該状態ノードにおいてそのような遷移が発生したことを内部イベントとして上位状態ノードへ通知するために上記イベント記憶領域に格納するイベント処理ステップと、上記外部イベントまたは内部イベントによる遷移によって引き起こされる付随プログラムがあれば、その付随プログラムを起動する付随プログラム起動ステップとを備え、上記イベント処理ステップおよび付随プログラム起動ステップを、上記イベント記憶領域に格納したすべての外部イベントおよび内部イベントについて、さらに最終的に上記階層木構造におけるすべての状態ノードについて、繰り返すことにより、各状態ノードにおける状態遷移の制御および該状態遷移に付随するプログラムの実行制御を行なうことを特徴とする階層化状態遷移決定表に基づくプログラム実行方法。
IPC (2件):
G06F 9/06 530 ,  G06F 9/06
FI (2件):
G06F 9/06 530 G ,  G06F 9/06 530 T

前のページに戻る