(57)【要約】【課題】  縮退された状態遷移図を上位レイヤとして生成できるようにする。【解決手段】  操作部１１は、少なくとも２以上の状態、それぞれの状態における動作、それぞれの状態における遷移時のイベント、およびイベントによりどの他の状態に遷移するかを示す遷移方向の情報を含む第１の状態遷移情報に基づいた、第１の状態遷移図における第１の状態および第２の状態を指定する。レイヤ管理部３４は、指定された第１の状態を起点とし、第２の状態を終点とする第１の状態遷移図上の経路を縮退した、第２の状態遷移図に対応した第２の状態遷移情報を生成する。状態遷移図表示制御部６１前記第１の状態遷移図、および、第２の状態遷移図を表示する。本発明はステートマシンに適用させることができる。【選択図】      図１
2007079955.tif 000002
【特許請求の範囲】
【請求項１】
それぞれの状態における動作、それぞれの前記状態における遷移時のイベント、および前記イベントによりどの他の前記状態に遷移するかを示す遷移方向の情報を含む第１の状態遷移情報に基づいた、第１の状態遷移図における第１の状態および第２の状態を指定する指定ステップと、
前記指定ステップの処理により指定された前記第１の状態を起点とし、前記第２の状態を終点とする前記第１の状態遷移図上の経路を縮退した、第２の状態遷移図に対応した第２の状態遷移情報を生成する生成ステップと、
前記第１の状態遷移図、および、前記生成ステップの処理により生成された第２の状態遷移図を表示する表示ステップと
を含む情報処理方法。
【請求項２】
前記表示ステップの処理は、前記第１の状態遷移図および前記第２の状態遷移図を、それぞれ異なる透明度でオーバラップして表示する
請求項１に記載の情報処理方法。
【請求項３】
前記第１の状態遷移図または前記第２の状態遷移図が表示される前期透明度を設定する透明度設定ステップをさらに含む
請求項２に記載の情報処理方法。
【請求項４】
前記指定ステップの処理により指定された前記第１の状態を起点とし、前記第２の状態を終点とする前記第１の状態遷移図上の経路が複数である場合、その経路を選択させる選択ステップを含み、
前記生成ステップは、前記指定ステップの処理により指定された前記第１の状態を起点とし、前記第２の状態を終点とする前記第１の状態遷移図上の複数の経路のうち、選択ステップの処理で選択された経路を縮退した、第２の状態遷移図に対応した第２の状態遷移情報を生成する
請求項１に記載の情報処理方法。
【請求項５】
前記第１の状態遷移図または前記第２の状態遷移図を決定する決定ステップをさらに含み、
前記表示ステップの処理は、前記決定ステップの処理により決定された前記状態遷移図を表示する
請求項１に記載の情報処理方法。
【請求項６】
それぞれの状態における動作、それぞれの前記状態における遷移時のイベント、および前記イベントによりどの他の前記状態に遷移するかを示す遷移方向の情報を含む第１の状態遷移情報に基づいた、第１の状態遷移図における第１の状態および第２の状態を指定する指定手段と、
前記指定手段により指定された前記第１の状態を起点とし、前記第２の状態を終点とする前記第１の状態遷移図上の経路を縮退した、第２の状態遷移図に対応した第２の状態遷移情報を生成する生成手段と、
前記第１の状態遷移図、および、前記生成ステップの処理により生成された第２の状態遷移図を表示する表示手段と
を含む情報処理装置。
【請求項７】
それぞれの状態における動作、それぞれの前記状態における遷移時のイベント、および前記イベントによりどの他の前記状態に遷移するかを示す遷移方向の情報を含む第１の状態遷移情報に基づいた、第１の状態遷移図における第１の状態および第２の状態を指定する指定ステップと、
前記指定ステップの処理により指定された前記第１の状態を起点とし、前記第２の状態を終点とする前記第１の状態遷移図上の経路を縮退した、第２の状態遷移図に対応した第２の状態遷移情報を生成する生成ステップと、
前記第１の状態遷移図、および、前記生成ステップの処理により生成された第２の状態遷移図を表示する表示ステップと
を含むコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項８】
それぞれの状態における動作、それぞれの前記状態における遷移時のイベント、および前記イベントによりどの他の前記状態に遷移するかを示す遷移方向の情報を含む第１の状態遷移情報に基づいた、第１の状態遷移図における第１の状態および第２の状態を指定する指定ステップと、
前記指定ステップの処理により指定された前記第１の状態を起点とし、前記第２の状態を終点とする前記第１の状態遷移図上の経路を縮退した、第２の状態遷移図に対応した第２の状態遷移情報を生成する生成ステップと、
前記第１の状態遷移図、および、前記生成ステップの処理により生成された第２の状態遷移図を表示する表示ステップと
を含む処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理方法および装置、記録媒体、並びにプログラムに関し、特に、詳細な状態遷移図と、その詳細な状態遷移図から縮退された簡易な状態遷移図とをそれぞれの関係を認識しつつ、容易に開発できるようにした情報処理方法および装置、記録媒体、並びにプログラムに関する。
【背景技術】
【０００２】
アプリケーションソフトウェアプログラムの開発を支援する開発ツールが一般に普及しつつある。例えば、オブジェクト指向型のプログラムの開発を支援するものがある（例えば、特許文献１参照）。
【０００３】
また、UML（Unified Modeling Language）に代表される状態遷移図を用いたアプリケーションソフトウェアプログラムのUI（User Interface）の開発ツールも提案されている。
【０００４】
状態遷移図は、各状態毎に実行されるべき動作が論理的に記述されるとともに、各状態において発生する所定のイベントにより他の状態に遷移する方向が示された図である。上述したアプリケーションソフトウェアプログラムのUIの開発ツールは、プログラムを状態遷移図として表示させると共に、その表示された状態遷移図そのものが操作されると、状態遷移図の操作内容をプログラムに反映させることで、プログラムを編集するものである。
【０００５】
【特許文献１】特開平６−１１０７６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、初心者用のUIと、すでにそのUIに馴染みのある経験者用のUIとを開発する場合、経験者用の細かい設定が可能なUIの状態遷移図に基づいたプログラムが開発された後、これをベースとして、ベースの状態遷移図を縮退させた形式で示される初心者用の簡易なUIを生成することにより、経験者用のUIと非経験者用のUIとを表現できるようにすることがある。このようなUIとしては、例えば、操作マニュアルなどが挙げられる。つまり、操作マニュアルなどでは、経験者にとっては有用であるが、経験の浅い初心者にとっては説明しても理解すること事態が困難なUIがある。そこで、操作マニュアルのUIなどでは、経験者用の詳細なUIと、経験の浅い初心者用の簡易なUIとが用意されることがある。
【０００７】
より具体的には、例えば、状態Ａにおいて、イベントＡ１が発生すると、状態Ｂに遷移し、さらに、状態ＢにおいてイベントＢ１が発生すると、状態Ｃに遷移するといった状態遷移図があるような場合、状態Ｂが経験者であれば理解が容易な内容を説明する動作であるが、非経験者には馴染みがなく理解が困難である内容を説明する動作であるものとする（ここでは、状態Ａ乃至Ｃは、それぞれ異なる操作マニュアルの記載が表示されるといった動作が実行される状態を示す）。
【０００８】
このような場合、ベースとなる状態遷移図（状態ＡにおいてイベントＡ１が発生すると、状態Ｂに遷移し、さらに、イベントＢ１が発生すると状態Ｃに遷移する状態遷移図）から非経験者にとって実質的に不要な状態Ｂを削除して、状態ＡでイベントＡ１が発生すると、状態Ｃに遷移するという状態遷移図にした方が初心者には理解しやすいUIとなる。このように、経験者用のベースとなる状態遷移図から状態数を減らすようにして、状態遷移図に再構成することを状態遷移図の縮退という。
【０００９】
しかしながら、縮退された状態遷移図は、あくまでも、非経験者にとって理解しやすい構成となっているのみであって、プログラムの実行そのものは、ベースとなる状態遷移図に従ったものになる。
【００１０】
結果として、縮退された状態遷移図においては、状態ＡでイベントＡ１が発生すると状態Ｃに遷移するが、実際には、ベースとなる状態遷移図に従って、状態Ａ１においてイベントＡ１が発生すると、状態Ｂに遷移し、状態Ｂに遷移すると強制的にイベントＢ１が発生し、状態Ｃに遷移するといった処理が実行されることになる。
【００１１】
しかしながら、縮退された状態遷移図だけでは、実際にプログラムが実行されるベースとなる状態遷移図における状態Ｂの存在や、状態Ｂにおいて、どのようなイベントが発生することにより状態Ｃに遷移するかといった情報が認識できず、経験のない初心者にはよいが、経験者にとっては、本来有用な処理であるはずの状態Ｂの処理を生かすことができない恐れがあった。
【００１２】
本発明は、このような状況に鑑みてなされたものであり、特に、状態遷移図の表示において、レイヤを用いて詳細な状態遷移図と、縮退された状態遷移図とをそれぞれ認識できるように表示すると共に、同時に、縮退された状態遷移図と、詳細なベースとなる状態遷移図との関係を容易に認識できるようにするものである。
【課題を解決するための手段】
【００１３】
本発明の一側面の情報処理方法は、それぞれの状態における動作、それぞれの前記状態における遷移時のイベント、および前記イベントによりどの他の前記状態に遷移するかを示す遷移方向の情報を含む第１の状態遷移情報に基づいた、第１の状態遷移図における第１の状態および第２の状態を指定する指定ステップと、前記指定ステップの処理により指定された前記第１の状態を起点とし、前記第２の状態を終点とする前記第１の状態遷移図上の経路を縮退した、第２の状態遷移図に対応した第２の状態遷移情報を生成する生成ステップと、前記第１の状態遷移図、および、前記生成ステップの処理により生成された第２の状態遷移図を表示する表示ステップとを含む。
【００１４】
前記表示ステップの処理には、前記第１の状態遷移図および前記第２の状態遷移図を、それぞれ異なる透明度でオーバラップして表示させるようにすることができる。
【００１５】
前記第１の状態遷移図または前記第２の状態遷移図が表示される前記透明度を設定する透明度設定ステップをさらに含ませるようにすることができる。
【００１６】
前記指定ステップの処理により指定された前記第１の状態を起点とし、前記第２の状態を終点とする前記第１の状態遷移図上の経路が複数である場合、その経路を選択させる選択ステップを含ませるようにすることができ、前記生成ステップには、前記指定ステップの処理により指定された前記第１の状態を起点とし、前記第２の状態を終点とする前記第１の状態遷移図上の複数の経路のうち、選択ステップの処理で選択された経路を縮退した、第２の状態遷移図に対応した第２の状態遷移情報を生成させるようにすることができる。
【００１７】
前記第１の状態遷移図または前記第２の状態遷移図を決定する決定ステップをさらに含ませるようにすることができ、前記表示ステップの処理には、前記決定ステップの処理により決定された前記状態遷移図を表示させるようにすることができる。
【００１８】
本発明の一側面の情報処理装置は、それぞれの状態における動作、それぞれの前記状態における遷移時のイベント、および前記イベントによりどの他の前記状態に遷移するかを示す遷移方向の情報を含む第１の状態遷移情報に基づいた、第１の状態遷移図における第１の状態および第２の状態を指定する指定手段と、前記指定手段により指定された前記第１の状態を起点とし、前記第２の状態を終点とする前記第１の状態遷移図上の経路を縮退した、第２の状態遷移図に対応した第２の状態遷移情報を生成する生成手段と、前記第１の状態遷移図、および、前記生成ステップの処理により生成された第２の状態遷移図を表示する表示手段とを含む。
【００１９】
本発明の一側面の記録媒体のプログラムは、それぞれの状態における動作、それぞれの前記状態における遷移時のイベント、および前記イベントによりどの他の前記状態に遷移するかを示す遷移方向の情報を含む第１の状態遷移情報に基づいた、第１の状態遷移図における第１の状態および第２の状態を指定する指定ステップと、前記指定ステップの処理により指定された前記第１の状態を起点とし、前記第２の状態を終点とする前記第１の状態遷移図上の経路を縮退した、第２の状態遷移図に対応した第２の状態遷移情報を生成する生成ステップと、前記第１の状態遷移図、および、前記生成ステップの処理により生成された第２の状態遷移図を表示する表示ステップとを含む。
【００２０】
本発明の一側面のプログラムは、それぞれの状態における動作、それぞれの前記状態における遷移時のイベント、および前記イベントによりどの他の前記状態に遷移するかを示す遷移方向の情報を含む第１の状態遷移情報に基づいた、第１の状態遷移図における第１の状態および第２の状態を指定する指定ステップと、前記指定ステップの処理により指定された前記第１の状態を起点とし、前記第２の状態を終点とする前記第１の状態遷移図上の経路を縮退した、第２の状態遷移図に対応した第２の状態遷移情報を生成する生成ステップと、前記第１の状態遷移図、および、前記生成ステップの処理により生成された第２の状態遷移図を表示する表示ステップとを含む処理をコンピュータに実行させる。
【００２１】
本発明の一側面の情報処理方法および装置、並びにプログラムにおいては、それぞれの状態における動作、それぞれの前記状態における遷移時のイベント、および前記イベントによりどの他の前記状態に遷移するかを示す遷移方向の情報を含む第１の状態遷移情報に基づいた、第１の状態遷移図における第１の状態および第２の状態が指定され、指定された前記第１の状態を起点とし、前記第２の状態を終点とする前記第１の状態遷移図上の経路が縮退された、第２の状態遷移図に対応した第２の状態遷移情報が生成され、前記第１の状態遷移図、および、生成された第２の状態遷移図が表示される。
【００２２】
情報処理装置は、独立した装置であっても良いし、情報処理装置の情報処理を行うブロックであっても良い。
【発明の効果】
【００２３】
以上のように、本発明の一側面によれば、プログラムの構成を示す、詳細な状態遷移図と、その詳細な状態遷移図から縮退された簡易な状態遷移図とのそれぞれの関係を認識させることが可能になると共に、開発の効率を向上させることが可能となる。
【発明を実施するための最良の形態】
【００２４】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、発明の詳細な説明に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、発明の詳細な説明に記載されていることを確認するためのものである。従って、発明の詳細な説明中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２５】
本発明の一側面の情報処理方法およびプログラムは、それぞれの状態における動作、それぞれの前記状態における遷移時のイベント、および前記イベントによりどの他の前記状態に遷移するかを示す遷移方向の情報を含む第１の状態遷移情報に基づいた、第１の状態遷移図における第１の状態および第２の状態を指定する指定ステップ（例えば、図８のステップＳ８１，Ｓ８３の処理）と、前記指定ステップの処理により指定された前記第１の状態を起点とし、前記第２の状態を終点とする前記第１の状態遷移図上の経路を縮退した、第２の状態遷移図に対応した第２の状態遷移情報を生成する生成ステップ（例えば、図８のステップＳ８２，Ｓ８４の処理）と、前記第１の状態遷移図、および、前記生成ステップの処理により生成された第２の状態遷移図を表示する表示ステップ（例えば、図１８のステップＳ１７１の処理）とを含む。
【００２６】
前記表示ステップ（例えば、図１８のステップＳ１７１の処理）の処理には、前記第１の状態遷移図および前記第２の状態遷移図を、それぞれ異なる透明度でオーバラップして表示させるようにすることができる。
【００２７】
前記第１の状態遷移図または前記第２の状態遷移図が表示される前記透明度を設定する透明度設定ステップ（例えば、図８のステップＳ９５，Ｓ９６の処理）をさらに含ませるようにすることができる。
【００２８】
前記指定ステップの処理により指定された前記第１の状態を起点とし、前記第２の状態を終点とする前記第１の状態遷移図上の経路が複数である場合、その経路を選択させる選択ステップ（例えば、図８のステップＳ９０，Ｓ９１の処理）を含ませるようにすることができ、前記生成ステップには、前記指定ステップの処理により指定された前記第１の状態を起点とし、前記第２の状態を終点とする前記第１の状態遷移図上の複数の経路のうち、選択ステップの処理で選択された経路を縮退した、第２の状態遷移図に対応した第２の状態遷移情報を生成させるようにすることができる。
【００２９】
前記第１の状態遷移図または前記第２の状態遷移図を決定する決定ステップ（例えば、図１８のステップＳ１７４，Ｓ１７６の処理）をさらに含ませるようにすることができ、前記表示ステップの処理には、前記決定ステップの処理により決定された前記状態遷移図を表示させるようにすることができる。
【００３０】
本発明の一側面の情報処理装置は、それぞれの状態における動作、それぞれの前記状態における遷移時のイベント、および前記イベントによりどの他の前記状態に遷移するかを示す遷移方向の情報を含む第１の状態遷移情報に基づいた、第１の状態遷移図における第１の状態および第２の状態を指定する指定手段（例えば、図１の操作部１１）と、前記指定手段により指定された前記第１の状態を起点とし、前記第２の状態を終点とする前記第１の状態遷移図上の経路を縮退した、第２の状態遷移図に対応した第２の状態遷移情報を生成する生成手段（例えば、図１のレイヤ管理部３４）と、前記第１の状態遷移図、および、前記生成ステップの処理により生成された第２の状態遷移図を表示する表示手段（例えば、図１の状態遷移図表示制御部６１）とを含む。
【００３１】
このように、状態遷移図を編集することにより状態遷移プログラムを開発するような場合には、ベースとなる状態遷移図と、ベースの状態遷移図を縮退した状態遷移図の両方を確実に認識することができると共に、相互を認識しながら状態遷移図を編集することができるので、状態遷移図に基づいた状態遷移情報を編集することで、容易にプログラムを開発することが可能となる。
【００３２】
図１は、本発明を適用した状態遷移プログラム編集装置１の一実施の形態の構成を示す図である。
【００３３】
状態遷移プログラム編集装置１は、アプリケーションソフトウェアプログラムにおけるUIのプログラムの開発を目的とした編集装置であり、各状態における動作、それぞれの状態における遷移時のイベント、および各イベント毎にどの他の状態に遷移するかを示す遷移方向の情報を含む状態遷移情報（ステートデータ）に基づいて、状態遷移図を生成すると共に、生成した状態遷移図を表示する。さらに、状態遷移プログラム編集装置１は、表示した状態遷移図が操作されることにより変更されると、変更された状態遷移図に対応して、状態遷移情報を更新する。
【００３４】
操作部１１は、マウスやキーボードなどから構成されており、状態遷移プログラム編集装置１を操作するユーザによる操作に対応する信号を発生して編集部１２、状態遷移エンジン１４、表示制御部１７、およびイベント検出部１９に供給する。
【００３５】
編集部１２は、ステート編集部３１、トランジション編集部３２、スクリプト編集部３３、およびレイヤ管理部３４より構成されており、操作部１１より供給されてくる信号に基づいて、状態遷移情報（ステートデータ）を編集する。ステートデータは、各状態（ステート）毎に動作を示す情報（スクリプト情報）およびイベントに応じて遷移する状態の遷移先の情報（トランジション情報）が記述されている。
【００３６】
ステート編集部３１は、第１レイヤにおける状態（ステート）の新規生成、および表示位置や大きさなどの情報を編集し、編集結果をステートデータ格納部１３に格納させる。また、ステート編集部３１は、レイヤ管理部３４により制御され、第２レイヤ以上のステートの新規生成および表示位置や大きさなどの情報を編集し、編集結果をステートデータ格納部１３に格納させる。
【００３７】
トランジション編集部３２は、第１レイヤの各状態における動作が実行されている間に発生するイベントに応じて、遷移する遷移先となる状態の情報を編集し、ステートデータ格納部１３に格納させる。また、トランジション編集部３２は、レイヤ管理部３４により制御され、第２レイヤ以上の上位のレイヤにおけるトランジションを編集し、ステートデータ格納部１３に格納させる。
【００３８】
スクリプト編集部３３は、各状態における動作内容を編集し、ステートデータ格納部１３に格納させる。
【００３９】
レイヤ管理部３４は、操作部１１の操作信号に基づいて、ステート編集部３１、およびトランジション編集部３２を制御して、状態遷移図の縮退のレベルに応じて設定されるレイヤ毎にステートデータまたはトランジションを生成させて、ステートデータ格納部１３に格納させる。
【００４０】
中間原ステート検索部４１は、縮退後の先頭状態と、最後尾の状態が選択されたとき、その中間に存在する原ステートを検索する。すなわち、例えば、状態Ａにおいて、イベントＡ１が発生すると状態Ｂに遷移し、状態ＢにおいてイベントＢ１が発生すると状態Ｃに遷移するといった状態遷移図において、縮退後の先頭状態として状態Ａが選択され、最後尾に状態Ｃが選択されると、中間原ステート検索部４１は、縮退後には存在しない状態Ｂを中間原ステートとして検索する。経路探索部４２は、中間原ステート検索部４１により検索された中間原ステートを経由して先頭状態から最後尾の状態に至るまでの状態遷移図上の経路を探索する。さらに、経路探索部４２は、探索された経路のうち、複数の経路が検索された場合、いずれかを選択させる画面を表示し、選択された経路の状態を原ステートとして選択する。透明度設定部４３は、レイヤを設定する際、レイヤ毎にステート枠を表示するときの透明度を設定するための画面を生成し、設定された透明度をステートデータ格納部１３に格納させる。
【００４１】
ステートデータ格納部１３は、各状態（ステート）毎に編集部１２によりトランジション情報やスクリプト情報が編集されたステートデータを格納し、必要に応じて状態遷移図生成部１５および状態遷移エンジン１４に供給する。
【００４２】
状態遷移エンジン１４は、ステートデータ格納部１３に格納されているステートデータを読み出すと共に、イベント検出部１９より供給されるイベントの情報に基づいて、今現在のステートを検索し、検索結果である今現在のステートを示す情報を状態遷移図生成部１５および状態動作実行部１６に供給する。
【００４３】
状態遷移図生成部１５は、ステート枠生成部５１、トランジション生成部５２、およびレイヤ管理部５３から構成されており、ステートデータ格納部１３に格納されているステートデータを読み出し、状態遷移図を生成する。ステート枠生成部５１は、各状態を示す矩形の枠（ステート枠）をレイヤ管理部５３により指定されるレイヤ毎の透明度の情報に基づいて生成する。トランジション生成部５２は、各状態における動作中に発生するイベント毎に遷移先を示す矢印をレイヤ管理部５３により指定されるレイヤ毎の透明度の情報に基づいて生成する。レイヤ管理部５３は、ステートデータ格納部１３に格納されている状態遷移情報のうちレイヤ毎に設定される情報を読み出し、ステート枠生成部５１およびトランジション生成部５２を制御する。
【００４４】
状態動作実行部１６は、状態遷移エンジン１４より供給される今現在の状態のステートデータに基づいて、現在の状態の動作を実行し、実行結果を表示制御部１７に供給する。
【００４５】
表示制御部１７は、状態遷移図表示制御部６１、および状態動作表示制御部６２より構成され、表示部１８に表示する表示画面を生成して表示させる。
【００４６】
状態遷移図表示制御部６１は、状態遷移図生成部１５より供給されてくる状態遷移図の情報に基づいて、例えば、図２の状態遷移図表示画面１１１を生成し、表示を制御する。尚、図２においては、表示部１８で表示される表示画面１０１が示されている。表示画面１０１には、状態遷移図表示画面１１１、および、動作表示画面１１２が設けられている。図２においては、状態Ａ（State Ａ：ステートＡ）を示すステート枠１３１、状態Ｂ（State Ｂ：ステートＢ）を示すステート枠１３２、状態Ｃ（State Ｃ：ステートＣ）を示すステート枠１３３、状態Ｄ（State Ｄ：ステートＤ）を示すステート枠１３４、状態Ｅ（State Ｅ：ステートＥ）を示すステート枠１３５、および状態Ｆ（State Ｆ：ステートＦ）を示すステート枠１３６が示されており、それぞれが、トランジション１４１乃至１４６で結ばれている。トランジション１４１乃至１４６は、それぞれ状態間を遷移する方向とイベントを示している。
【００４７】
より詳細には、トランジション１４１は、「KEY_PRESS(0)」と示され、矢印が状態Ａから状態Ｃに向って表示されており、状態Ａの動作が実行されている場合、操作部１１の「0」のキーが操作されるというイベントが発生すると、状態Ａから状態Ｃに遷移することを示している。
【００４８】
同様に、トランジション１４２は、「KEY_PRESS(1)」と示され、矢印が状態Ａから状態Ｂに向って表示されており、状態Ａの動作が実行されている場合、操作部１１の「1」のキーが操作されるというイベントが発生すると、状態Ａから状態Ｂに遷移することを示している。
【００４９】
また、トランジション１４３は、「KEY_PRESS(2)」と示され、矢印が状態Ｂから状態Ｄに向って表示されており、状態Ｂの動作が実行されている場合、操作部１１の「2」のキーが操作されるというイベントが発生すると、状態Ｂから状態Ｄに遷移することを示している。
【００５０】
さらに、トランジション１４４は、「KEY_PRESS(3)」と示され、矢印が状態Ｂから状態Ｅに向って表示されており、状態Ｂの動作が実行されている場合、操作部１１の「3」のキーが操作されるというイベントが発生すると、状態Ｂから状態Ｅに遷移することを示している。
【００５１】
また、トランジション１４５は、「KEY_PRESS(5)」と示され、矢印が状態Ｄから状態Ｆに向って表示されており、状態Ｄの動作が実行されている場合、操作部１１の「5」のキーが操作されるというイベントが発生すると、状態Ｄから状態Ｆに遷移することを示している。
【００５２】
さらに、トランジション１４６は、「KEY_PRESS(4)」と示され、矢印が状態Ｅから状態Ｆに向って表示されており、状態Ｅの動作が実行されている場合、操作部１１の「4」のキーが操作されるというイベントが発生すると、状態Ｅから状態Ｆに遷移することを示している。
【００５３】
尚、図２の状態遷移図表示画面１１１における状態遷移図は、縮退のない、いわゆるベースとなる状態遷移図のみが表示されている例について示したものである。このベースとなる状態遷移図が、第１レイヤの状態遷移図であり、この状態遷移図が縮退された状態遷移図のレイヤを第２レイヤの状態遷移図と称する。すなわち、ベースの縮退のない状態遷移図に対して縮退の進んだ状態遷移図がより上位のレイヤとして表現される。
【００５４】
図１の説明に戻る。
【００５５】
状態動作表示制御部６２は、状態動作実行部１６より供給される状態動作の実行結果に基づいて、例えば、図２で示されるような状態動作画面１１２を生成し、表示を制御する。  
【００５６】
表示部１８は、CRT（Cathode Ray Tube）またはLCD（Liquid Crystal Display）などから構成され、表示制御部１７により生成された画面を表示する。
【００５７】
次に、図３を参照して、ステートデータ格納部１３に格納されるステート情報について説明する。
【００５８】
ステート情報は、例えば、図２の状態遷移図表示画面１１１で示されるような状態遷移図が構成されるような場合、図３で示されるような状態で、状態Ａ乃至Ｆ毎にステートデータ格納部１３に格納されている。図３においては、左上から状態Ａ乃至Ｆの順にステート情報のデータ構造が示されている。
【００５９】
各ステート（状態）には、ステート枠が表示される位置を示す位置情報が記録される領域、トランジション情報として各イベントと対応する遷移先となる状態の情報が記録される領域、および各状態における動作が記述されたスクリプトが記録される領域が確保されている。
【００６０】
すなわち、図３の状態Ａ（State A）においては、ステート枠が表示される画面上の位置情報として位置情報Ａ（例えば、状態Ａ（State A）を示すステート枠の画面上の中心座標など）が記録されると共に、トランジション情報として、イベント欄には「KEY_PRESS(0)」および「KEY_PRESS(1)」が記録され、対応する遷移先として、それぞれ「State C」および「State B」と記録されている。すなわち、このトランジション情報は、図２のトランジション１４１，１４２にそれぞれ対応する情報として記録されている。また、状態Ａの場合、トランジション情報の下には、スクリプト情報として、「スクリプトＡ」（状態Ａにおいて実行される動作を示す記述の情報）が記録されている。
【００６１】
また、状態Ｂ（State Ｂ）においては、ステート枠が表示される画面上の位置情報として位置情報Ｂが記録されると共に、トランジション情報として、イベント欄には「KEY_PRESS(2)」および「KEY_PRESS(3)」が記録され、対応する遷移先として、それぞれ「State D」および「State E」と記録されている。すなわち、このトランジション情報は、図２のトランジション１４３，１４４にそれぞれ対応する情報として記録されている。また、状態Ｂの場合、トランジション情報の下には、スクリプト情報として、「スクリプトＢ」が記録されている。
【００６２】
さらに、状態Ｃ（State Ｃ）においては、ステート枠が表示される画面上の位置情報として位置情報Ｃが記録される。尚、状態Ｃにおいては、遷移がないものとして設定されているため、ここでは、トランジション情報が記録されていない。また、状態Cの場合、トランジション情報の下には、スクリプト情報として、「スクリプトC」が記録されている。
【００６３】
また、状態D（State D）においては、ステート枠が表示される画面上の位置情報として位置情報Ｄが記録されると共に、トランジション情報として、イベント欄には「KEY_PRESS(5)」が記録され、対応する遷移先として、それぞれ「State Ｆ」と記録されている。すなわち、このトランジション情報は、図２のトランジション１４５に対応する情報として記録されている。また、状態Dの場合、トランジション情報の下には、スクリプト情報として、「スクリプトD」が記録されている。
【００６４】
さらに、状態Ｅ（State Ｅ）においては、ステート枠が表示される画面上の位置情報として位置情報Ｅが記録されると共に、トランジション情報として、イベント欄には「KEY_PRESS(4)」が記録され、対応する遷移先として、それぞれ「State Ｆ」と記録されている。すなわち、このトランジション情報は、図２のトランジション１４６に対応する情報として記録されている。また、状態Ｅの場合、トランジション情報の下には、スクリプト情報として、「スクリプトＥ」が記録されている。
【００６５】
また、状態Ｆ（State Ｆ）においては、ステート枠が表示される画面上の位置情報として位置情報Ｆが記録される。尚、状態Ｆにおいては、遷移がないものとして設定されているため、ここでは、トランジション情報が記録されていない。また、状態Ｆの場合、トランジション情報の下には、スクリプト情報として、「スクリプトＦ」が記録されている。
【００６６】
次に、図４のフローチャートを参照して、編集部１２による状態遷移プログラム編集処理について説明する。
【００６７】
ステップＳ１において、ステート編集部３１は、操作部１１より供給されてくる信号に基づいて、第１レイヤのステート編集が指示されたか否かを判定する。ステップＳ１において、例えば、ステート編集処理が指示されたと判定された場合、ステップＳ２において、ステート編集部３１は、ステート編集処理を実行し、その処理は、元に戻る。尚、ステート編集処理については、図５を参照して後述する。
【００６８】
ステップＳ１において、例えば、第１レイヤのステート編集処理が指示されていないと判定された場合、ステップＳ３において、トランジション編集部３２は、操作部１１より供給されてくる信号に基づいて、第１レイヤのトランジション編集が指示されたか否かを判定する。ステップＳ３において、例えば、第１レイヤのトランジション編集処理が指示されたと判定された場合、ステップＳ４において、トランジション編集部３２は、トランジション編集処理を実行し、その処理は、元に戻る。尚、トランジション編集処理については、図６を参照して後述する。
【００６９】
ステップＳ３において、例えば、第１レイヤのトランジション編集処理が指示されていないと判定された場合、ステップＳ５において、スクリプト編集部３３は、操作部１１より供給されてくる信号に基づいて、第１レイヤのスクリプト編集が指示されたか否かを判定する。ステップＳ５において、例えば、第１レイヤのスクリプト編集処理が指示されたと判定された場合、ステップＳ６において、スクリプト編集部３３は、スクリプト編集処理を実行し、その処理は、元に戻る。尚、スクリプト編集処理については、図７を参照して後述する。
【００７０】
ステップＳ５において、例えば、レイヤ追加編集処理が指示されていないと判定された場合、ステップＳ７において、レイヤ管理部３４は、操作部１１より供給されてくる信号に基づいて、レイヤ追加編集が指示されたか否かを判定する。ステップＳ７において、例えば、レイヤ追加編集処理が指示されたと判定された場合、ステップＳ８において、レイヤ管理部３４は、レイヤ追加編集処理を実行し、その処理は、元に戻る。尚、レイヤ追加編集処理については、図８を参照して後述する。
【００７１】
以上の処理により、ステートデータが更新されることになるので、対応する状態遷移プログラムが更新される。
【００７２】
次に、図５のフローチャートを参照して、第１レイヤのステート編集処理について説明する。
【００７３】
ステップＳ２１において、ステート編集部３１は、操作部１１からの信号に基づいて、新規のステート（状態）を生成する処理であるか否かを判定する。例えば、図２の表示画面１０１上の図示せぬボタンが操作され、新規のステートを生成する処理が指示された場合、ステップＳ２２において、ステート編集部３１は、新規のステートを生成する。すなわち、ステート編集部３１は、新たな状態に対応するステート情報をステートデータ格納部１３に記録する。
【００７４】
ステップＳ２３において、ステート編集部３１は、新規に生成されたステートを編集対象ステートに設定する。
【００７５】
ステップＳ２４において、ステート編集部３１は、編集対象ステートのステート情報に更新があるか否かを判定する。ここで更新の有無が判定されるのは、ステート情報のうちステート名や対応するステート枠の表示位置などの情報である。すなわち、ステート編集部３１が編集するのは、ステート情報のうち、ステート名およびステート枠の表示位置の情報である。
【００７６】
ステップＳ２４において、ステート情報のうち、ステート名およびステート枠の表示位置の情報に更新があると判定された場合、ステップＳ２５において、ステート編集部３１は、更新された、ステート名およびステート枠の表示位置の情報を編集対象ステートのステート情報に反映させて更新する。
【００７７】
一方、ステップＳ２４において、更新がないと判定された場合、ステップＳ２５の処理は、スキップされる。
【００７８】
ステップＳ２６において、ステート編集処理の終了が指示されたか否かを判定し、終了が指示されない場合、その処理は、ステップＳ２４に戻り、終了が指示されたと判定された場合、ステート編集処理は終了する。
【００７９】
また、ステップＳ２１において、新規のステートの生成ではないと判定された場合、ステップＳ２７において、既存のステートが選択されたか否かが判定される。すなわち、図１８を参照して後述する表示処理により表示される、例えば、図２で示されるような状態遷移図表示画面１１１上に表示された既存のステート枠１３１乃至１３６のいずれかが図示せぬポインタが操作部１１により操作されて選択されたか否かにより、対応するステートＡ乃至Ｆのステートデータ格納部１３により格納されているステート情報のいずれかが選択されたか否かが判定される。例えば、既存のステートのステート情報が選択された場合、ステップＳ２８において、ステート編集部３１は、選択されたステートを編集対象ステートに設定し、その処理は、ステップＳ２４に進む。
【００８０】
一方、ステップＳ２７において、既存のステートが選択されたと判定されなかった場合、その処理は、ステップＳ２１に戻り、それ以降の処理が繰り返される。
【００８１】
すなわち、以上の処理により、第１レイヤにおける新規のステート、または、既存のステートの何れかのステート情報について、ステート名およびステート枠の表示位置が、新たに設定されるか、または、更新されることになる。
【００８２】
次に、図６のフローチャートを参照して、トランジション編集処理について説明する。
【００８３】
ステップＳ４１において、トランジション編集部３２は、既存のステートが選択されたか否かを判定し、選択されるまで、その処理を繰り返す。すなわち、図１８を参照して後述する表示処理により表示される、例えば、図２で示されるような状態遷移図表示画面１１１上に表示された既存のステート枠１３１乃至１３６のいずれかが図示せぬポインタが操作部１１により操作されて選択されたか否かにより、対応するステートＡ乃至Ｆのステートデータ格納部１３により格納されているステート情報のいずれかが選択されたか否かが判定される。そして、ステップＳ４１において、例えば、既存のステートのステート情報が選択された場合、ステップＳ４２において、トランジション編集部３２は、選択されたステートを編集対象ステートに設定し、その処理は、ステップＳ４３に進む。
【００８４】
ステップＳ４３において、トランジション編集部３２は、編集対象ステートのステート情報のうち、遷移先が指定されたか否かを判定する。すなわち、例えば、図２の状態遷移図表示画面１１１で示されるように、ステート枠１３１乃至１３４で示される状態Ａ乃至Ｆのうち、例えば、状態Ａが選択され、編集対象ステートに設定された場合、操作部１１によりポインタをドラッグして状態Ａのステート枠１３１を基点として、例えば、状態Ｃのステート枠１３２を終点とするトランジション１４１で示されるような矢印を引いた場合、遷移先が状態Ｄに設定されることになる。
【００８５】
そこで、ステップＳ４３においては、トランジション編集部３２は、このようにトランジションの矢印が編集対象ステートの状態を示すステート枠から遷移先を示す状態のステート枠までの矢印が引かれたか否かにより、遷移先が設定されたか否かを判定する。
【００８６】
ステップＳ４３において、遷移先が設定されたと判定された場合、ステップＳ４４において、トランジション編集部３２は、イベントを指定するように要求する。より具体的には、すなわち、例えば、遷移先を指定する処理として、図２のトランジション１４１が図示せぬポインタにより引かれた場合、トランジション編集部３２は、トランジションの横にイベントを指定する図示せぬ空欄を表示し、入力を促す。
【００８７】
ステップＳ４５において、トランジション編集部３２は、遷移する際のイベントが指定されたか否かを判定し、指定されたと判定されるまで、その処理を繰り返す。すなわち、トランジション編集部３２は、その空欄にイベントを指定する情報が入力されたか否かを判定し、イベントが指定されたか否かを判定する。
【００８８】
ステップＳ４５において、イベントが指定されたと判定された場合、ステップＳ４６において、トランジション編集部３２は、ステートデータ格納部１３にアクセスし、編集対象ステートのステート情報を読み出し、指定された遷移先とイベントの情報を反映させて更新する。すなわち、例えば、図２のトランジション１４１の場合、遷移先として「State Ｃ」が指定され、イベントとして、「KEY_PRESS(0)」が指定されるので、図３で示されるように、遷移先とイベントに「State Ｃ」、および、「KEY_PRESS(0)」を追加して更新する。
【００８９】
ステップＳ４３において、遷移先が指定されていない場合、ステップＳ４４乃至Ｓ４６の処理がスキップされ、ステップＳ４７において、トランジション編集処理の終了が指示されたか否かを判定し、終了が指示されない場合、処理は、ステップＳ４３に戻る。すなわち、トランジション編集処理の終了が指示されるまで、ステップＳ４３乃至Ｓ４７の処理が繰り返される。
【００９０】
そして、ステップＳ４７において、トランジション編集処理の終了が指示された場合、その処理は終了する。
【００９１】
以上の処理により、ポインタが操作部１１により操作されることにより、第１レイヤの編集対象ステートのステート枠から遷移先のステート枠に矢印を引くだけで、トランジションの情報を編集することが可能となる。
【００９２】
次に、図７のフローチャートを参照して、スクリプト編集処理について説明する。
【００９３】
ステップＳ６１において、スクリプト編集部３３は、既存のステートが選択されたか否かを判定し、選択されるまで、その処理を繰り返す。すなわち、図１８を参照して後述する表示処理により表示される、例えば、図２で示されるような状態遷移図表示画面１１１上に表示された既存のステート枠１３１乃至１３６のいずれかが図示せぬポインタが操作部１１により操作されて選択されたか否かにより、対応するステートＡ乃至Ｆのステートデータ格納部１３により格納されているステート情報のいずれかが選択されたか否かが判定される。そして、ステップＳ６１において、例えば、既存のステートのステート情報が選択された場合、ステップＳ６２において、スクリプト編集部３３は、選択されたステートを編集対象ステートに設定し、その処理は、ステップＳ６３に進む。
【００９４】
ステップＳ６３において、スクリプト編集部３３は、スクリプトが更新されたか否かを判定する。より詳細には、スクリプト編集部３３は、スクリプトの記述内容が、操作部１１のキーボードにより更新されたか否かを判定する。
【００９５】
ステップＳ６３において、例えば、スクリプト情報が更新されたと判定された場合、ステップＳ６４において、スクリプト編集部３３は、ステートデータ格納部１３にアクセスし、編集対象ステートのステート情報を読み出し、スクリプト表示画面１１５上で編集された情報に基づいて、スクリプトを変更して、ステート情報を更新する。一方、ステップＳ６３において、スクリプト情報が更新されていないと判定された場合、ステップＳ６４の処理は、スキップされる。
【００９６】
ステップＳ６５において、スクリプト編集部３３は、スクリプト編集処理の終了が指示されたか否かを判定し、終了が指示されていない場合、その処理は、ステップＳ６１に戻る。また、ステート編集処理の終了が指示された場合、その処理は、終了する。
【００９７】
以上の処理により、スクリプトが編集される。
【００９８】
次に、図８のフローチャートを参照して、レイヤ追加編集処理について説明する。
【００９９】
ステップＳ８１において、レイヤ管理部３４は、操作部１１により図示せぬポインタが操作され、追加しようとするレイヤの１レイヤ分だけ下位のレイヤ内における原ステートが選択されたか否かを判定し、選択されるまで、その処理を繰り返す。例えば、第１レイヤしか構成されておらず、第２レイヤを追加しようとする場合、すなわち、図１８を参照して後述する表示処理により表示される、例えば、図２で示されるような状態遷移図表示画面１１１上に表示された既存のステート枠１３１乃至１３６のいずれかが操作部１１によりポインタ１７１（図９）が操作されて選択されたか否かにより、対応するステートＡ乃至Ｆのステートデータ格納部１３により格納されているステート情報のいずれかが、原ステートとして選択されたか否かが判定される。
【０１００】
そして、ステップＳ８１において、例えば、図９で示されるように、ポインタ１７１が状態Ａの位置で操作され、原ステートのステート情報として、ステートＡが選択された場合、ステップＳ８２において、レイヤ管理部３４は、ステート編集部３１を制御し、選択されたステートを原ステートとする追加レイヤの新規のステート情報を生成させ、ステップＳ８３に進む。この処理により、図９で示されるように、ステート枠１６１が新たに生成され、第２レイヤの状態Ａ’が生成される（第２レイヤの状態Ａ’の状態遷移情報が生成されることにより、後述する表示処理により表示されることになる）。このとき、後述するように、レイヤ管理部３４は、ステート編集部３１を制御して、後述する図１２で示されるように、第２レイヤの状態Ａ’の状態遷移情報を生成させる。図１２においては、状態Ａ’の原ステートが状態Ａであることが示されている。
【０１０１】
ステップＳ８３において、レイヤ管理部３４は、操作部１１が操作され、第１レイヤ内の新たな原ステートが選択されたか否かを判定し、選択されるまで、その処理を繰り返す。すなわち、ステップＳ８１においては、上述した縮退の先頭ステートが選択され、ステップＳ８３は、縮退しようとする最後尾のステートが選択されたか否かが判定される。例えば、図１０で示されるようにポインタ１７１がステート枠１３３において操作され、最後尾のステートとして状態Ｃが選択されると、新たな原ステートが選択されたと判定され、その処理は、ステップＳ８４に進む。
【０１０２】
ステップＳ８４において、レイヤ管理部３４は、ステート編集部３１を制御し、選択されたステートを原ステートとする追加レイヤの新規のステート情報を生成させ、ステップＳ８５に進む。この処理により、図１０で示されるように、ステート枠１６２が新たに生成され、第２レイヤの状態Ｃ’が生成される（第２レイヤの状態Ｃ’の状態遷移情報が生成されることにより、後述する表示処理により表示されることになる）。このとき、後述するように、レイヤ管理部３４は、ステート編集部３１を制御して、後述する図１２で示されるように、第２レイヤの状態Ｃ’の状態遷移情報を生成させる。図１２においては、状態Ｃ’の原ステートが状態Ｃであることが示されている。このとき、さらに、後述する表示処理によりトランジション１８１が、ステート枠１６１の状態Ａ’を起点として、ステート枠１６２で示される状態Ｃ’を結ぶように表示される。
【０１０３】
ステップＳ８５において、レイヤ管理部３４は、ステート編集部３１を制御して、縮退された遷移先に遷移するためのイベントを設定する。このイベントは、基本的には、縮退する起点となる状態から終点となる状態に遷移するベースとなる状態遷移図の起点となる状態から終点となる状態への経路上の最初の遷移のイベントを用いる。今の場合、状態Ａ’から状態Ｃ’への状態遷移は、厳密には縮退が存在しないため、図１２で示されるように、元のイベント、すなわち、KEY_PRESS(0)がイベントに設定される。
【０１０４】
ステップＳ８６において、レイヤ管理部３４は、新たに選択された追加レイヤの新規ステートと、他の追加レイヤの新規ステートとの状態遷移図上の関係を解釈する。すなわち、今の場合、レイヤ管理部３４は、図１０のステート枠１６１で示される状態Ａ’と、ステート枠１６２で示される状態Ｃ’との状態遷移図上の位置関係を解釈する。
【０１０５】
ステップＳ８７において、中間原ステート検索部４１は、新たに選択された追加レイヤの新規ステートと、他の追加レイヤの新規ステートとの間に存在する原ステート、すなわち、中間原ステートを検索し、中間原ステートが存在するか否かを判定する。例えば、ステート枠１６１で示される状態Ａ’と、ステート枠１６２で示される状態Ｃ’との間には、中間原ステートが存在しないので、その処理は、ステップＳ９４に進む。
【０１０６】
この処理により、図１２で示されるように、第２レイヤにおける状態Ａ’のステートデータは、位置情報が位置情報Ａ’として、原ステートが状態Ａとして、さらに、イベントが「KEY_PRESS(0)」として、遷移先が状態Ｃ’としてそれぞれ設定される。また、状態Ｃ’のステートデータは、位置情報が、位置情報Ｃ’として、原ステートが状態Ｃとしてそれぞれ設定される。尚、状態Ｃ’には、遷移先とそのイベントが設定されていない。
【０１０７】
ステップＳ９４において、レイヤ管理部３４は、レイヤ追加編集処理の終了が指示されたか否かを判定し、例えば、終了が指示されていない場合、その処理は、ステップＳ８１に戻る。
【０１０８】
例えば、再び、ステップＳ８１において、原ステートとして状態Ａが選択され、ステップＳ８３において、図１１で示されるように、ポインタ１７１がステート枠１３６上で選択され、新たに状態Ｆ’が設けられ、トランジション１８２が状態Ａ’を起点として状態Ｆ’に向けて設けられているような場合、ステップＳ８７においては、中間原ステートとしてステート枠１３２，１３４，１３５で示される状態Ｂ，Ｄ，Ｅが存在することになるので、その処理は、ステップＳ８８に進む。
【０１０９】
尚、この場合、ステップＳ８５において、レイヤ管理部３４は、縮退する起点となる状態Ａから終点となる状態Ｆに遷移するベースとなる状態遷移図の起点となる状態から終点となる状態への経路上の最初の遷移のイベントを用いる。今の場合、状態Ａ’から状態Ｆ’への状態遷移は、図１１で示されるように、トランジション１４２に相当するKEY_PRESS(1)であるので、図１２で示されるように、KEY_PRESS(1)がイベントに設定される。
【０１１０】
ステップＳ８８において、経路探索部４２は、中間原ステートからなる経路が複数か否かを判定する。図１１の場合、状態Ａ’から状態Ｆ’への経路は、状態Ｂ，Ｄを経由して状態Ｆ’に遷移する経路と、状態Ｂ，Ｅを経由して状態Ｆ’に遷移する経路とが存在することになるので、複数に経路が存在することになる。そこで、図１１のような場合、処理は、ステップＳ８９に進み、経路および分岐数を求める。例えば、図１１の場合、経路は２経路であり、分岐数は状態Ｂからの遷移先の１箇所である。
【０１１１】
ステップＳ９０において、経路探索部４２は、図１１で示されるように、分岐先が決まっていない分岐における選択肢となる中間原ステートの選択画面２０１を表示し、分岐先の選択を促す。図１１の選択画面２０１においては、状態Ｂから状態ＤまたはＥに分岐しているので、状態ＤまたはＥを選択するためのボタン２１１，２１２が表示されている。
【０１１２】
ステップＳ９１において、経路探索部４２は、いずれかの原ステートが中間原ステートとして選択されたか否か、すなわち、図１１のような場合、ボタン２１１または２１２のいずれかが押下されたか否かを判定し、押下されたと判定されるまで、その処理を繰り返す。例えば、ボタン２１２が操作され、中間原ステートとして状態Ｅが選択された場合、いずれかが選択されたと判定され、その処理は、ステップＳ９２に進む。
【０１１３】
ステップＳ９２において、レイヤ管理部３４は、ステート編集部３１を制御して、選択された原ステートを追加レイヤの新規ステート情報の原ステートの情報として追加する。すなわち、図１１で示されるような場合、ステップＳ８２の処理により原ステートとしては元の状態である状態Ａが設定されているが、さらに、追加の中間原ステートとして状態Ｂ、並びに、ステップＳ９０において選択された状態Ｅが追加されて、図１２で示されるように、原ステートがＡ，Ｂ，Ｅとして設定される。
【０１１４】
ステップＳ９３において、レイヤ管理部３４は、全ての分岐について分岐先の原ステートが選択されたか否かを判定し、全ての分岐について分岐先の原ステートが選択されていないと判定した場合、その処理は、ステップＳ９０に戻る。すなわち、全ての分岐について分岐先の原ステートが選択されるまで、ステップＳ９０乃至Ｓ９３の処理が繰り返される。
【０１１５】
ステップＳ９３において、全ての分岐について分岐先の原ステートが選択されたと判定された場合、その処理は、ステップＳ９４に進む。
【０１１６】
すなわち、今の場合、以上の処理により、第２レイヤのステートデータは、図１２で示されるように生成されることになる。状態数は、状態Ａ’，Ｃ’，Ｆ’の３個となり、状態Ａ’の状態遷移情報は、位置が「位置情報Ａ’」であり、トランジション情報としては、イベントが「KEY_PRESS(0)」であるとき、遷移先が状態Ｃ’であり、原ステートがＡであると共に、イベントが「KEY_PRESS(1)」であるとき、遷移先が状態Ｆ’であり、原ステートがＡ，Ｂ，Ｅである。
【０１１７】
状態Ｃ’の状態遷移情報は、位置が「位置情報Ｃ’」であり、トランジション情報はなく、原ステートがＣである。さらに、状態Ｆ’の状態遷移情報は、位置が「位置情報Ｆ’」であり、トランジション情報はなく、原ステートがＦである。
【０１１８】
ステップＳ９４において、例えば、終了が指示されたと判定された場合、ステップＳ９５において、透明度設定部４３は、追加するレイヤのステート枠の透明度を設定するダイアログボックスなどの画面を表示する。例えば、ダイアログボックスは、図１３で示されるようなものである。図１３においては、「レイヤの背景の設定」とされるダイアログボックスであり、透明度入力欄２３１が設けられており、今の場合、「50」％と入力されている。また、ＯＫボタン２３２は、透明度の入力が完了した時点で操作されるボタンであり、このボタンが操作された時点で、透明度入力欄２３１に入力されていた値が、新たなレイヤの背景の設定とされる。
【０１１９】
ステップＳ９６において、透明度設定部４３は、透明度が設定されたか否かを判定し、設定されるまでその処理を繰り返す。例えば、図１３で示されるように、透明度として「50％」が入力された状態で、ＯＫボタン２３２が操作されると、設定が終了したと判定され、その処理は終了する。
【０１２０】
この結果、透明度設定部４３は、追加された透明度に基づいて、各レイヤの透明度情報を設定しステートデータ格納部１３に格納させる。透明度情報は、例えば、図１４で示されるものである。図１４においては、左部が第１レイヤの透明度情報であり、右部が第2レイヤの透明度情報である。各レイヤの透明度情報は、第１レイヤが０％であり、第２レイヤが５０％である。また、その下には、自らを基準のレイヤと見たときの直近の上位と下位のレイヤが記録される。今の場合、第１レイヤと第２レイヤであるので、第１レイヤにおいては、上位レイヤが第２レイヤであり、下位レイヤが存在しないことを示している。また、第２レイヤにおいては、下位レイヤが第１レイヤであり、上位レイヤが存在しないことを示している。
【０１２１】
尚、透明度は、値が高いほど透明であることを示している。したがって、例えば、１００％の場合、透明で完全に表示されないことになり、逆に０％である場合、完全な原色で表示されることになる。したがって、図１３の場合、第１レイヤのステート枠およびトランジションは、完全な原色で表示されるのに対して、第２レイヤのステート枠およびトランジションについては、半透明の状態で表示される。
【０１２２】
以上の処理により、第２レイヤは、図１２で示されるような状態遷移情報から構成されるので、第２レイヤの状態遷移図は、図１５で示されるように、ステート枠１６１乃至１６３で示される状態Ａ’乃至Ｃ’からなり、状態Ａ’を起点として状態Ｃ’へのトランジション１８１があり、このトランジション１８１のイベントが「KEY_PRESS(0)」となる。また、第２レイヤにおいては、さらに、状態Ａ’を起点として状態F’へのトランジション１８２があり、このトランジション１８２のイベントが「KEY_PRESS(1)」である。尚、図１２においては、第２レイヤにおけるステートデータ郡を示しているが、ステートデータ格納部１３には、この他にもこれまでのベースとなる第１レイヤにおけるステートデータ郡も記憶されている。
【０１２３】
結果として、第２レイヤにおいては、第１レイヤにおける状態Ａ、または状態Ａ，Ｂ，Ｅが縮退されて状態Ａ’とされ、状態Ａにおいて、状態Ｃに遷移するためのイベント「KEY_PRESS(0)」により、状態Ｃ’に遷移し、状態Ａにおいて、状態Ｂに遷移するためのイベント「KEY_PRESS(1)」により、状態Ｆ’に遷移する。つまり、状態Ａから状態Ｆに遷移するにあたり、第１レイヤでは、イベント「KEY_PRESS(1)」により、状態Ｂに遷移させ、イベント「KEY_PRESS(3)」により、状態Ｅに遷移させ、さらに、イベント「KEY_PRESS(4)」により、状態Ｆに遷移させる必要があったのに対して、第2レイヤにおいては、イベント「KEY_PRESS(1)」を発生させるだけで、上述した第１レイヤにおいてそれ以降に発生させる必要のあるイベントを強制的に発生させ、順次状態を遷移させるようにすることが可能となる。結果として、例えば、状態Ａ，Ｂ，Ｅ，ＦでUIが動作するような場合、状態Ｂ，ＥのUIが、経験のない初心者には特に必要がなさそうなUIであるようなとき、第２レイヤにおける状態遷移図で動作させるようにすることで、状態Ｂ，Ｅの動作によるUIをスキップさせて、状態Ｆに到達させる簡易な状態遷移図を構成することが可能となる。
【０１２４】
次に、図１６のフローチャートを参照して、状態遷移図プログラム実行処理について説明する。
【０１２５】
ステップＳ１２１において、状態遷移エンジン１４は、ステートデータ格納部１３にアクセスし複数のステートデータに複数のレイヤが存在するか否かを判定する。例えば、複数のレイヤが存在する場合、ステップＳ１２２において、状態遷移エンジン１４は、いずれかのレイヤが選択されたか否かを判定し、選択されるまでその処理を繰り返す。例えば、ステートデータ格納部１３におけるステートデータが、図１２で示されるような構成である場合、複数のレイヤがあり、例えば、第２レイヤが選択されると、レイヤが選択されたと判定され、ステップＳ１２３において、状態遷移エンジン１４は、選択されたレイヤをカレントレイヤに設定する。
【０１２６】
一方、ステップＳ１２１において、複数のレイヤではないと判定された場合、ステップＳ１２４において、状態遷移エンジン１４は、第１レイヤ（唯一のレイヤ）をカレントレイヤに設定する。
【０１２７】
ステップＳ１２５において、状態遷移エンジン１４は、操作部１１より送信されてくる操作信号に基づいて、状態遷移図表示画面１１１上のいずれかのステートが選択されたか否かを判定し、選択されるまで、その処理を繰り返す。より詳細には、状態遷移エンジン１４は、操作部１１より供給されてくる信号に基づいて、例えば、カレントレイヤが第１レイヤである場合、図１１の状態遷移図表示画面１１１上のステート枠１３１乃至１３６のいずれかが、ポインタ１７１により選択されたか否かを判定し、いずれかのステートが選択されるまで、その処理を繰り返す。また、例えば、カレントレイヤが第２レイヤである場合、図１１の状態遷移図表示画面１１１上のステート枠１６１乃至１６３のいずれかが、ポインタ１７１により選択されたか否かを判定し、いずれかのステートが選択されるまで、その処理を繰り返す。
【０１２８】
ステップＳ１２５において、例えば、いずれかのステートが選択された場合、ステップＳ１２６において、状態遷移エンジン１４は、選択されたステートをカレントステートとして設定する。すなわち、状態遷移エンジン１４は、操作部１１からの信号に基づいて、例えば、カレントレイヤが第１レイヤである場合、図２の状態遷移図表示画面１１１上のステート枠１３１乃至１３６のうち、ポインタ１７１により選択されたステート枠に対応するステートをカレントステートに設定する。また、このとき、状態遷移エンジン１４は、カレントステートがいずれのステートであるかを示す情報を状態遷移図生成部１５に供給する。
【０１２９】
ステップＳ１２７において、状態遷移エンジン１４は、ステートデータ格納部１３にアクセスし、カレントステートのステート情報を読み出す。
【０１３０】
ステップＳ１２８において、状態遷移エンジン１４は、供給されたカレントステートのステート情報を解釈する。すなわち、状態遷移エンジン１４は、供給されたカレントステートのステート情報のうち、特に、カレントレイヤが第１レイヤの場合は、スクリプト情報を読み出して、その状態における動作を認識し、それ以外のレイヤの場合、原ステートの構成を解釈する。
【０１３１】
ステップＳ１２９において、状態遷移エンジン１４は、カレントステートに原ステートが存在するか否かを判定する。すなわち、状態遷移図は、レイヤに関わらず、基本的に第１レイヤの構成に基づいて動作が決定されるため（第１レイヤのステートにのみスクリプトが存在するため）、第１レイヤ以外のレイヤである場合、各ステートにはスクリプトが記録されている原ステートが定義されているため、スクリプトを理解するために原ステートの有無を確認する。
【０１３２】
例えば、ステートデータ格納部１３において格納されているステートデータが、図１２で示されるようなものである場合であって、カレントレイヤが第２レイヤであり、さらに、カレントステートが状態Ａであるようなとき、原ステートは、状態Ａ、または、状態Ａ，Ｂ，Ｅが存在することになるので、原ステートがあると判定され、その処理は、ステップＳ１３０に進む。
【０１３３】
ステップＳ１３０において、状態遷移エンジン１４は、ステートデータ格納部１３にアクセスし、先頭位置の原ステートに対応する第１レイヤのステート情報を読み出し、状態動作実行部１６に供給する。すなわち、状態Ａ’の場合、原ステートは、いずれも状態Ａであるので、第１レイヤの状態Ａに対応するステート情報が読み出されることになる。
【０１３４】
ステップＳ１３１において、状態動作実行部１６は、供給された原ステートのステート情報を解釈する。すなわち、状態動作実行部１６は、供給されたカレントステートのステート情報のうち、特に、スクリプト情報を読み出して、その状態における動作を認識する。
【０１３５】
ステップＳ１３２において、状態動作実行部１６は、解釈したスクリプト情報に従って処理を実行し、実行結果を表示制御部１７に順次出力する。
【０１３６】
ステップＳ１３３において、状態遷移エンジン１４は、原ステートの動作が終了したか否かを判定し、終了していないと判定した場合、その処理は、ステップＳ１３０に戻る。すなわち、処理が終了したと判定されるまで、ステップＳ１３０乃至Ｓ１３３の処理が繰り返される。ステップＳ１３３において、処理が終了したと判定された場合、ステップＳ１３５において、状態動作実行部１６は、状態遷移処理の終了が指示されたか否かを判定する。すなわち、状態動作実行部１６は、操作部１１からの信号に基づいて、状態遷移処理の終了が指示されたか否かを判定し、終了が指示されていない場合、その処理は、ステップＳ１３６に進む。
【０１３７】
ステップＳ１３６において、状態遷移エンジン１４は、イベントが発生したか否かを判定する。すなわち、状態遷移エンジン１４は、イベント検出部１９により検出されたイベントの情報が供給されてきたか否かを判定し、イベントがない場合、その処理は、ステップＳ１２９に戻り、以降の処理が繰り返される。すなわち、イベントが検出されるまで、ステップＳ１２９乃至Ｓ１３６の処理が繰り返される。一方、ステップＳ１３６において、イベントがあると判定された場合、その処理は、ステップＳ１３７に進む。
【０１３８】
ステップＳ１３７において、状態遷移エンジン１４は、供給されてきたイベントの情報により遷移先が設定されているか否かを判定する。すなわち、ステート情報が、図１２で示されるものであって、現在の状態がステートＡ’であった場合、例えば、イベントとして、操作部１１のキーボードのうち「Ａ」のキーが操作されるというイベントが発生したとしても、遷移先が設定されていないことになる。このため、このような場合、その処理は、ステップＳ１２９に戻る。すなわち、実質的に、イベントの発生がなかったものとして処理される。
【０１３９】
一方、ステップＳ１３７において、遷移先があると判定された場合、すなわち、ステート情報が、図１２で示されるものであって、現在の状態がステートＡ’であった場合、例えば、イベントとして、操作部１１のキーボードのうち「０」のキーが操作されるというイベントが発生すると、遷移先Ｃに設定されている。そこで、ステップＳ１３８において、状態遷移エンジン１４は、遷移先のステートをカレントステートに設定し、その処理は、ステップＳ１２７に戻り、それ以降の処理が繰り返される。すなわち、この処理により、新たな遷移先となるステートＣ’をカレントステートに設定し、ステップＳ１２７以降の処理が繰り返される。
【０１４０】
以上の処理により、状態遷移エンジン１４が、イベント検出部１９より供給されてくるイベントの情報により状態遷移図に従って状態を変化させると共に、対応する状態のステート情報を読み出して、状態動作実行部１６に供給することが可能となる。また、状態動作実行部１６は、ユーザの操作に基づいて設定されている状態を変化させると共に、状態動作実行部１６は、対応する状態においてスクリプトで規定される動作を実行することが可能となる、
【０１４１】
次に、図１７のフローチャートを参照して、状態遷移図生成処理について説明する。
【０１４２】
ステップＳ１４１において、状態遷移図生成部１５は、レイヤのカウンタｎを１に初期化する。
【０１４３】
ステップＳ１４２において、状態遷移図生成部１５は、ステートデータ格納部１３にアクセスし、格納されている第ｎレイヤの全ステートデータを読み出す。
【０１４４】
ステップＳ１４３において、ステート枠生成部５１は、第ｎレイヤの全てのステート情報毎に状態遷移図上のステート枠を生成する。
【０１４５】
ステップＳ１４４において、トランジション生成部５２は、第ｎレイヤのステート情報のうち、イベントと対応する遷移先の情報に基づいて、トランジションを生成する。
【０１４６】
ステップＳ１４５において、レイヤ管理部５３は、第ｎレイヤの透明度の情報を読み出し、ステート枠およびトランジションを表示する透明度を設定する。
【０１４７】
ステップＳ１４６において、状態遷移図生成部１５は、全レイヤについて状態遷移図の生成処理が終了しているか否かを判定し、例えば、全てのレイヤについて状態遷移図の生成処理が終了していない場合、ステップＳ１４７において、カウンタｎを１インクリメントし、その処理は、ステップＳ１４２に戻る。すなわち、各レイヤ毎にステップＳ１４２乃至Ｓ１４６の処理により状態遷移図が生成される。そして、ステップＳ１４６において、全てのレイヤの状態遷移図が生成されたと判定された場合、ステップＳ１４８において、状態遷移図生成部１５は、生成した状態遷移図を表示制御部１７に出力し、その処理は、ステップＳ１４１に戻る。
【０１４８】
以上の処理により、ステートデータ格納部１３に格納されているステート情報に基づいて、レイヤ毎に順次状態遷移図が生成され、表示制御部１７に供給される処理が繰り返される。
【０１４９】
次に、図１８のフローチャートを参照して、表示処理について説明する。
【０１５０】
ステップＳ１７１において、状態遷移図表示制御部６１は、状態遷移図生成部１５より供給されてくる状態遷移図の情報に基づいて、状態遷移図表示画面１１１を表示する。状態遷移図表示画面１１１は、例えば、図１９で示されるようなものであり、最上段にカレントレイヤ表示部２５１が設けられており、この例においては、「全レイヤ」と表示されており、第１レイヤおよび第２レイヤを含む全ての状態遷移図であることが示されている。また、カレントレイヤは、レイヤ管理画面２６１に示される「第１レイヤ」および「第２レイヤ」と表示されたボタン２７１，２７２により切り替えられる構成となっており、ボタン２７１，２７２の操作により、図１６におけるステップＳ１２３の処理によりカレントレイヤが設定される。ボタン２７１，２７２は、いずれも一度押下されると、押下されたボタンのレイヤにカレントレイヤが設定され、さらに、もう一度押下されるとカレントレイヤが全体になる。すなわち、ボタン２７１，２７２は、いずれも押下される度に、それぞれのレイヤをカレントレイヤに設定する処理と、全体レイヤを設定する処理を繰り返す。
【０１５１】
ステップＳ１７２において、状態動作表示制御部６２は、状態遷移図生成部１５より供給される情報に基づいて、カレントステートが指定されているか否かを判定する。ステップＳ１７２において、例えば、カレントステートが指定されていると判定された場合、ステップＳ１７３において、状態動作表示制御部６２は、カレントステートとして設定されている、状態動作実行部１６により実行されている動作内容に基づいて動作表示画面１１２を表示する。
【０１５２】
ステップＳ１７２において、カレントステートが選択されていない場合、ステップＳ１７３の処理はスキップされる。
【０１５３】
ステップＳ１７４において、状態動作表示制御部６２は、第１レイヤが選択されたか否かを判定する。より具体的には、状態動作表示制御部６２は、ボタン２７２が押下されて第１レイヤが選択されたか否かを判定する。例えば、ステップＳ１７４の処理において、第１レイヤが選択された場合、ステップＳ１７５において、状態動作表示制御部６２は、状態遷移図生成部１５より供給される情報に基づいて、例えば、図２の状態遷移図表示画面１１１のような第１レイヤの状態遷移図のみを表示する。
【０１５４】
ステップＳ１７４において、第１レイヤが選択されていないと判定された場合、ステップＳ１７５の処理はスキップされる。
【０１５５】
ステップＳ１７６において、状態動作表示制御部６２は、第２レイヤが選択されたか否かを判定する。より具体的には、状態動作表示制御部６２は、ボタン２７１が押下されて第２レイヤが選択されたか否かを判定する。例えば、ステップＳ１７６の処理において、第２レイヤが選択された場合、ステップＳ１７７において、状態動作表示制御部６２は、状態遷移図生成部１５より供給される情報に基づいて、例えば、図１５で示されるような第２レイヤの状態遷移図のみを表示する。
【０１５６】
ステップＳ１７６において、第２レイヤが選択されていないと判定された場合、ステップＳ１７７の処理はスキップされる。
【０１５７】
ステップＳ１７８において、ステップ状態動作表示制御部６２は、全レイヤが選択されたか否かを判定する。より具体的には、状態動作表示制御部６２は、第１レイヤが選択された状態で、ボタン２７２が押下されるか、または、第２レイヤが選択された状態でボタン２７１が押下されたか否かを判定する。例えば、ステップＳ１７７において、全レイヤが選択された場合、ステップＳ１７１に戻る。一方、全レイヤが選択されなかった場合、その処理は、ステップＳ１７２に戻る。
【０１５８】
以上の処理により、図２，図１５，図１９で示されるような、状態遷移図表示画面１１１、および、動作表示画面１１２からなる表示画面１０１が表示部１８に表示される。
【０１５９】
以上、図４の状態遷移プログラム編集処理、図５のステート編集処理、図６のトランジション編集処理、図７のスクリプト編集処理、図８のレイヤ追加編集処理、図１６の状態遷移プログラム実行処理、図１７の状態遷移図生成処理、図１８の表示処理により以下のような動作が実現される。
【０１６０】
図８のレイヤ追加編集処理により、例えば、図５のステート編集処理、図６のトランジション編集処理、図７のスクリプト編集処理により生成された、図２で示されるような第１レイヤの状態遷移図に対して、縮退したいステートについては、状態遷移の経路の先頭のステートと最後尾となるステートを指定するだけで、第１レイヤの状態遷移図を縮退した第２レイヤの状態遷移図を構成するための状態遷移情報（ステートデータ：ステート情報）を生成させ、ステートデータ格納部１３に格納させることが可能となる。この際、縮退させたい状態遷移の経路が複数に存在するような場合、その岐路となるステートを選択する画面により岐路となるステートを選択するだけで、状態遷移を縮退させた状態遷移図を構成するためのステートデータを生成させることが可能となる。
【０１６１】
さらに、図１６の状態遷移プログラム実行処理により、指定されたレイヤの状態遷移処理が実行され、実行結果が、表示制御部１７に出力される。
【０１６２】
また、図１７の状態遷移図生成処理により、図８のレイヤ追加編集処理で複数のレイヤの状態遷移情報を含む状態遷移情報に基づいて、複数のレイヤにおける状態遷移図が生成される。このとき、レイヤ毎に設定された透明度でステート枠およびトランジションが表示されるように生成される。
【０１６３】
そして、図１８の表示処理により、図１７の処理で生成された状態遷移図が、例えば、図１９で示されるような状態遷移図表示画面１１１として表示される。尚、図１９の状態遷移図表示画面１１１においては、第１レイヤの状態遷移図が図２で示されたものであり、第２レイヤの状態遷移図が図１５で示されるものである例が示されている。
【０１６４】
さらに、図１９においては、全レイヤが示されており、点線で示される第１レイヤのステート枠およびトランジションは、図１４で示されるように透明度が０％であることを示しており、実線で示されるステート枠およびトランジションは、透明度が５０％であることを示している。
【０１６５】
以上のように、下位の状態遷移図において、縮退したいステートの先頭ステートと最後尾のステートを選択するだけで、縮退された上位レイヤの状態遷移図を生成することができるので、例えば、ベースとなる状態遷移図を見ながら、縮退された上位のレイヤの状態遷移図を生成することが可能となり、また、対応する状態遷移情報であるUIのプログラムを更新させることが可能となる。さらに、生成された上位レイヤの状態遷移図と、ベースとなる下位のレイヤの状態遷移図とが同時に表示されることにより、上位レイヤにおいて縮退されたステートの構成を認識することができるため、例えば、様々なレベルのユーザを対象としたUIをレイヤ毎に分けて開発することが可能となる。
【０１６６】
尚、以上においては、レイヤは第１レイヤと第２レイヤとの２レイヤの例について説明してきたが、それ以上のレイヤ数であってもよい。また、第２レイヤよりも上位のレイヤを構成できるようにしてもよいし、ベースとなる１個の第１レイヤに対して１階層上位のレイヤを複数に構成するようにしてもよい。また、以上においては、複数のレイヤの状態遷移図を表示する際、透明度により表示を区別する例について説明してきたが、色やサイズによりレイヤを区別して表示するようにしてもよいし、レイヤ毎にウィンドウを設けて表示するようにしてもよいし、さらには、レイヤ毎に切り替えて表示するようにしてもよい。
【０１６７】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０１６８】
図２０は、図１の状態遷移プログラム編集装置１の電気的な内部構成をソフトウェアにより実現する場合のパーソナルコンピュータの一実施の形態の構成を示している。パーソナルコンピュータのCPU５０１は、パーソナルコンピュータの全体の動作を制御する。また、CPU５０１は、バス５０４および入出力インタフェース５０５を介してユーザからキーボードやマウスなどからなる入力部５０６から指令が入力されると、それに対応してROM(Read Only Memory)５０２に格納されているプログラムを実行する。あるいはまた、CPU５０１は、ドライブ５１０に接続された磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリを含むリムーバルメディア５２１から読み出され、記憶部５０８にインストールされたプログラムを、RAM(Random Access Memory)５０３にロードして実行する。これにより、上述した図１の状態遷移プログラム編集装置１の機能が、ソフトウェアにより実現されている。さらに、CPU５０１は、通信部５０９を制御して、外部と通信し、データの授受を実行する。
【０１６９】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図２０に示すように、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む）、光磁気ディスクを含む）、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア５２１、または、プログラムが一時的もしくは永続的に格納されるROM５０２や、記憶部５０８を構成するハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースである通信部５０９を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【０１７０】
なお、CPU５０１として、”Ｃｅｌｌ誕生”、日経エレクトロニクス、日経BP社、２００５年２月２８日、８９頁乃至１１７頁に記載されているＣｅｌｌを採用することができる。
【０１７１】
また、本明細書において、プログラム記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１７２】
さらに、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０１７３】
【図１】本発明を適用した状態遷移プログラム編集装置の一実施の形態の構成を示す図である。
【図２】表示画面の構成例を示す図である。
【図３】ステートデータ格納部に格納されるステート情報のデータ構造を示す図である。
【図４】図１の状態遷移プログラム編集装置による状態遷移プログラム編集処理を説明するフローチャートである。
【図５】図１の状態遷移プログラム編集装置によるステート編集処理を説明するフローチャートである。
【図６】図１の状態遷移プログラム編集装置によるトランジション編集処理を説明するフローチャートである。
【図７】図１の状態遷移プログラム編集装置によるスクリプト編集処理を説明するフローチャートである。
【図８】図１の状態遷移プログラム編集装置によるレイヤ追加編集処理を説明するフローチャートである。
【図９】図１の状態遷移プログラム編集装置によるレイヤ追加編集処理を説明する図である。
【図１０】図１の状態遷移プログラム編集装置によるレイヤ追加編集処理を説明する図である。
【図１１】図１の状態遷移プログラム編集装置によるレイヤ追加編集処理を説明する図である。
【図１２】図１の状態遷移プログラム編集装置によるレイヤ追加編集処理を説明する図である。
【図１３】図１の状態遷移プログラム編集装置によるレイヤ追加編集処理における透明度の設定画面を説明する図である。
【図１４】図１の状態遷移プログラム編集装置によるレイヤ追加編集処理における透明度の設定情報を説明する図である。
【図１５】図１の状態遷移プログラム編集装置によるレイヤ追加編集処理により生成された状態遷移図を説明する図である。
【図１６】図１の状態遷移プログラム編集装置によるレイヤ追加編集処理を説明するフローチャートである。
【図１７】図１の状態遷移プログラム編集装置による状態遷移図生成処理を説明するフローチャートである。
【図１８】図１の状態遷移プログラム編集装置による表示処理を説明するフローチャートである。
【図１９】表示処理により表示される表示例を示す図である。
【図２０】媒体を説明する図である。
【符号の説明】
【０１７４】
１１  操作部，  １２  編集部，  １３  ステートデータ格納部，  １４  状態遷移エンジン，  １５  状態遷移図生成部，  １６  状態動作実行部，  １７  表示制御部，  １８  表示部，  ３１  ステート編集部，  ３２  トランジション編集部，  ３３  スクリプト編集部，  ３４  レイヤ管理部，  ４１  中間原ステート検索部，  ４２  経路探索部，  ４３  透明度設定部，  ５１  ステート枠生成部，  ５２  トランジション生成部，  ５３  レイヤ管理部，  ６１  状態遷移図表示制御部，  ６２  状態動作表示制御部
【図１】
2007079955.tif 000003
【図２】
2007079955.tif 000004
【図３】
2007079955.tif 000005
【図４】
2007079955.tif 000006
【図５】
2007079955.tif 000007
【図６】
2007079955.tif 000008
【図７】
2007079955.tif 000009
【図８】
2007079955.tif 000010
【図９】
2007079955.tif 000011
【図１０】
2007079955.tif 000012
【図１１】
2007079955.tif 000013
【図１２】
2007079955.tif 000014
【図１３】
2007079955.tif 000015
【図１４】
2007079955.tif 000016
【図１５】
2007079955.tif 000017
【図１６】
2007079955.tif 000018
【図１７】
2007079955.tif 000019
【図１８】
2007079955.tif 000020
【図１９】
2007079955.tif 000021
【図２０】
2007079955.tif 000022