(57)【要約】【課題】トランジションを正確に編集できるようにする。【解決手段】操作部１１の操作内容により遷移元となる状態の位置が指定された場合、ポインタ表示制御部５３ａは、ポインタを前記操作ステップの処理により遷移元となる状態の位置が指定されたことを示すアイコンとして表示する。遷移先となる状態の位置が指定された場合、ポインタ表示制御部５３ａは、始点位置メモリ５３ｂに記憶された遷移元となる状態から前記遷移先となる状態へのトランジションを表示し、トランジション編集部３２は、トランジションの情報を付加することにより状態遷移情報を更新する。本発明の状態遷移プログラムの開発ソフトウェアプログラムに適用することができる。【選択図】図１
2007128244.tif 000002
【特許請求の範囲】
【請求項１】
それぞれの状態における動作、前記それぞれの状態における遷移時のイベント、および前記イベントによりどの他の前記状態に遷移するかを示す遷移方向の情報を含む状態遷移情報に基づいて、状態遷移図を生成する生成ステップと、
前記生成ステップの処理により生成された状態遷移図を表示する表示ステップと、
前記表示ステップの処理により表示された状態遷移図を操作する操作ステップと、
前記操作ステップの処理により操作内容に応じて、前記状態遷移情報を更新する更新ステップと、
前記操作ステップの処理により指定された遷移元となる状態の位置を記憶する記憶ステップと
を含み、
前記操作ステップの処理により遷移元となる状態の位置が指定された場合、前記表示ステップの処理は、前記ポインタを前記操作ステップの処理により遷移元となる状態の位置が指定されたことを示すアイコンとして表示し、
前記操作ステップの処理により遷移先となる状態の位置が指定された場合、前記表示ステップの処理は、前記記憶ステップの処理で記憶された遷移元となる状態から前記遷移先となる状態へのトランジションを表示し、前記更新ステップの処理は、前記トランジションの情報を付加することにより前記状態遷移情報を更新する
情報処理方法。
【請求項２】
前記操作ステップの処理により遷移元となる状態の位置が指定された場合、前記表示ステップの処理は、前記ポインタと、前記操作部により指定された遷移元となる状態の位置とを結ぶトランジションを表示する
請求項１に記載の情報処理方法。
【請求項３】
それぞれの状態における動作、前記それぞれの状態における遷移時のイベント、および前記イベントによりどの他の前記状態に遷移するかを示す遷移方向の情報を含む状態遷移情報に基づいて、状態遷移図を生成する生成手段と、
前記生成手段により生成された状態遷移図を表示する表示手段と、
前記表示手段により表示された状態遷移図を操作する操作手段と、
前記操作手段により操作内容に応じて、前記状態遷移情報を更新する更新手段と、
前記操作手段により指定された遷移元となる状態の位置を記憶する記憶手段と
を含み、
前記操作手段により遷移元となる状態の位置が指定された場合、前記表示手段は、前記ポインタを前記操作手段により遷移元となる状態の位置が指定されたことを示すアイコンとして表示し、
前記操作手段により遷移先となる状態の位置が指定された場合、前記表示手段は、前記記憶手段で記憶された遷移元となる状態から前記遷移先となる状態へのトランジションを表示し、前記更新手段は、前記トランジションの情報を付加することにより前記状態遷移情報を更新する
情報処理装置。
【請求項４】
それぞれの状態における動作、前記それぞれの状態における遷移時のイベント、および前記イベントによりどの他の前記状態に遷移するかを示す遷移方向の情報を含む状態遷移情報に基づいて、状態遷移図を生成する生成ステップと、
前記生成ステップの処理により生成された状態遷移図を表示する表示ステップと、
前記表示ステップの処理により表示された状態遷移図を操作する操作ステップと、
前記操作ステップの処理により操作内容に応じて、前記状態遷移情報を更新する更新ステップと、
前記操作ステップの処理により指定された遷移元となる状態の位置を記憶する記憶ステップと
を含み、
前記操作ステップの処理により遷移元となる状態の位置が指定された場合、前記表示ステップの処理は、前記ポインタを前記操作ステップの処理により遷移元となる状態の位置が指定されたことを示すアイコンとして表示し、
前記操作ステップの処理により遷移先となる状態の位置が指定された場合、前記表示ステップの処理は、前記記憶ステップの処理で記憶された遷移元となる状態から前記遷移先となる状態へのトランジションを表示し、前記更新ステップの処理は、前記トランジションの情報を付加することにより前記状態遷移情報を更新する
処理を含むコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項５】
それぞれの状態における動作、前記それぞれの状態における遷移時のイベント、および前記イベントによりどの他の前記状態に遷移するかを示す遷移方向の情報を含む状態遷移情報に基づいて、状態遷移図を生成する生成ステップと、
前記生成ステップの処理により生成された状態遷移図を表示する表示ステップと、
前記表示ステップの処理により表示された状態遷移図を操作する操作ステップと、
前記操作ステップの処理により操作内容に応じて、前記状態遷移情報を更新する更新ステップと、
前記操作ステップの処理により指定された遷移元となる状態の位置を記憶する記憶ステップと
を含む処理をコンピュータに実行させ、
前記操作ステップの処理により遷移元となる状態の位置が指定された場合、前記表示ステップの処理は、前記ポインタを前記操作ステップの処理により遷移元となる状態の位置が指定されたことを示すアイコンとして表示し、
前記操作ステップの処理により遷移先となる状態の位置が指定された場合、前記表示ステップの処理は、前記記憶ステップの処理で記憶された遷移元となる状態から前記遷移先となる状態へのトランジションを表示し、前記更新ステップの処理は、前記トランジションの情報を付加することにより前記状態遷移情報を更新する
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理方法および装置、記録媒体、並びにプログラムに関し、特に、状態遷移図を用いたUI（User Interface）プログラムの開発効率を向上させるようにした情報処理方法および装置、記録媒体、並びにプログラムに関する。
【背景技術】
【０００２】
アプリケーションソフトウェアプログラムの開発を支援する開発ツールが一般に普及しつつある。例えば、オブジェクト指向型のプログラムの開発を支援するものがある（例えば、特許文献１参照）。
【０００３】
また、UML（Unified Modeling Language）に代表される状態遷移図を用いたアプリケーションソフトウェアプログラムのUI（User Interface）の開発ツールも提案されている。
【０００４】
状態遷移図は、状態毎に実行されるべき動作が論理的に記述されるとともに、各状態において発生する所定のイベントにより他の状態に遷移する方向が示された図である。上述したアプリケーションソフトウェアプログラムのUIの開発ツールは、プログラムを状態遷移図として表示させると共に、その表示された状態遷移図そのものが操作されると、状態遷移図の操作内容をプログラムに反映させることで、プログラムを編集するものである。
【０００５】
【特許文献１】特開平６−１１０７６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、上述した状態遷移図の編集において、第１の状態で、所定のイベントが発生したとき、第２の状態に遷移することを示すため、第１の状態を示すステート枠から第２の状態を示すステート枠に向けて、トランジション（状態遷移線）を引くという編集をすることがある。
【０００７】
これまでの開発ツールでは、トランジションを引く際には始点となる状態のステート枠上にマウスなどを用いてポインタを移動させ、例えば、右ボタンまたは左ボタンのいずれかを押下することで始点となるステート枠の位置を設定し、終点となる状態のステート枠まで、そのボタンを押下させた状態を維持したままマウスを移動させることによりポインタを移動させて、所望とする状態のステート枠内でボタンの押下を開放することで、始点となるステート枠と終点となるステート枠とをトランジションで接続するようにしていた。
【０００８】
しかしながら、このような操作では、長いトランジションや、ウィンドウをスクロールさせながらトランジションを引く場合、マウスを移動させている間に、誤ってボタンの押下を開放してしまうようなミスが誘発しやすい状況であるため、ポインタを所望とする位置まで移動させていないままボタンの押下が開放されることがあり、結果として、所望とするトランジションを引くことができないことがあった。
【０００９】
また、上記の方法でなく、マウスを利用してポインタを移動させることにより、所望とする始点終点の位置で、例えば、右ボタンまたは左ボタンをクリックすることで指定し、それらを両端として線分を引くという機能も提案されているが、ただ始点と終点を設定するだけでは、現在始点を指定するためにポインタを移動させてマウスのボタンをクリックするのか、終点を指定するためにポインタを移動させてマウスのボタンをクリックするのか、混乱してしまうことがあり、さらに、複数のトランジションを一度に引くような場合、現在の状態をユーザの記憶に頼らなくてはならないことがあり、結果として、トランジションを引くのにミスを誘発してしまうことがあった。
【００１０】
本発明は、このような状況に鑑みてなされたものであり、特に、トランジションなどの状態遷移図上の線分を正確に引くことができるようにすることで、上述のようなミスを低減させ、結果として、プログラムの開発効率を向上させるものである。
【課題を解決するための手段】
【００１１】
本発明の一側面の情報処理方法は、それぞれの状態における動作、前記それぞれの状態における遷移時のイベント、および前記イベントによりどの他の前記状態に遷移するかを示す遷移方向の情報を含む状態遷移情報に基づいて、状態遷移図を生成する生成ステップと、前記生成ステップの処理により生成された状態遷移図を表示する表示ステップと、前記表示ステップの処理により表示された状態遷移図を操作する操作ステップと、前記操作ステップの処理により操作内容に応じて、前記状態遷移情報を更新する更新ステップと、前記操作ステップの処理により指定された遷移元となる状態の位置を記憶する記憶ステップとを含み、前記操作ステップの処理により遷移元となる状態の位置が指定された場合、前記表示ステップの処理は、前記ポインタを前記操作ステップの処理により遷移元となる状態の位置が指定されたことを示すアイコンとして表示し、前記操作ステップの処理により遷移先となる状態の位置が指定された場合、前記表示ステップの処理は、前記記憶ステップの処理で記憶された遷移元となる状態から前記遷移先となる状態へのトランジションを表示し、前記更新ステップの処理は、前記トランジションの情報を付加することにより前記状態遷移情報を更新する。
【００１２】
前記操作ステップの処理により遷移元となる状態の位置が指定された場合、前記表示ステップの処理には、前記ポインタと、前記操作部により指定された遷移元となる状態の位置とを結ぶトランジションを表示させるようにすることができる。
【００１３】
本発明の一側面の情報処理装置は、それぞれの状態における動作、前記それぞれの状態における遷移時のイベント、および前記イベントによりどの他の前記状態に遷移するかを示す遷移方向の情報を含む状態遷移情報に基づいて、状態遷移図を生成する生成手段と、前記生成手段により生成された状態遷移図を表示する表示手段と、前記表示手段により表示された状態遷移図を操作する操作手段と、前記操作手段により操作内容に応じて、前記状態遷移情報を更新する更新手段と、前記操作手段により指定された遷移元となる状態の位置を記憶する記憶手段とを含み、前記操作手段により遷移元となる状態の位置が指定された場合、前記表示手段は、前記ポインタを前記操作手段により遷移元となる状態の位置が指定されたことを示すアイコンとして表示し、前記操作手段により遷移先となる状態の位置が指定された場合、前記表示手段は、前記記憶手段で記憶された遷移元となる状態から前記遷移先となる状態へのトランジションを表示し、前記更新手段は、前記トランジションの情報を付加することにより前記状態遷移情報を更新する。
【００１４】
本発明の一側面の記録媒体は、それぞれの状態における動作、前記それぞれの状態における遷移時のイベント、および前記イベントによりどの他の前記状態に遷移するかを示す遷移方向の情報を含む状態遷移情報に基づいて、状態遷移図を生成する生成ステップと、前記生成ステップの処理により生成された状態遷移図を表示する表示ステップと、前記表示ステップの処理により表示された状態遷移図を操作する操作ステップと、前記操作ステップの処理により操作内容に応じて、前記状態遷移情報を更新する更新ステップと、前記操作ステップの処理により指定された遷移元となる状態の位置を記憶する記憶ステップとを含み、前記操作ステップの処理により遷移元となる状態の位置が指定された場合、前記表示ステップの処理は、前記ポインタを前記操作ステップの処理により遷移元となる状態の位置が指定されたことを示すアイコンとして表示し、前記操作ステップの処理により遷移先となる状態の位置が指定された場合、前記表示ステップの処理は、前記記憶ステップの処理で記憶された遷移元となる状態から前記遷移先となる状態へのトランジションを表示し、前記更新ステップの処理は、前記トランジションの情報を付加することにより前記状態遷移情報を更新する処理を含むコンピュータが読み取り可能なプログラムが記録されている。
【００１５】
本発明の一側面のプログラムは、それぞれの状態における動作、前記それぞれの状態における遷移時のイベント、および前記イベントによりどの他の前記状態に遷移するかを示す遷移方向の情報を含む状態遷移情報に基づいて、状態遷移図を生成する生成ステップと、前記生成ステップの処理により生成された状態遷移図を表示する表示ステップと、前記表示ステップの処理により表示された状態遷移図を操作する操作ステップと、前記操作ステップの処理により操作内容に応じて、前記状態遷移情報を更新する更新ステップと、前記操作ステップの処理により指定された遷移元となる状態の位置を記憶する記憶ステップとを含む処理をコンピュータに実行させ、前記操作ステップの処理により遷移元となる状態の位置が指定された場合、前記表示ステップの処理は、前記ポインタを前記操作ステップの処理により遷移元となる状態の位置が指定されたことを示すアイコンとして表示し、前記操作ステップの処理により遷移先となる状態の位置が指定された場合、前記表示ステップの処理は、前記記憶ステップの処理で記憶された遷移元となる状態から前記遷移先となる状態へのトランジションを表示し、前記更新ステップの処理は、前記トランジションの情報を付加することにより前記状態遷移情報を更新する。
【００１６】
本発明の一側面においては、それぞれの状態における動作、前記それぞれの状態における遷移時のイベント、および前記イベントによりどの他の前記状態に遷移するかを示す遷移方向の情報を含む状態遷移情報に基づいて、状態遷移図が生成され、生成された状態遷移図が表示され、表示された状態遷移図が操作され、操作内容に応じて、前記状態遷移情報が更新され、指定された遷移元となる状態の位置が記憶され、遷移元となる状態の位置が指定された場合、前記ポインタが遷移元となる状態の位置が指定されたことを示すアイコンとして表示され、遷移先となる状態の位置が指定された場合、記憶された遷移元となる状態から前記遷移先となる状態へのトランジションが表示され、前記トランジションの情報が付加されることにより前記状態遷移情報が更新される。
【００１７】
情報処理装置は、独立した装置であっても良いし、情報処理装置の情報処理を行うブロックであっても良い。
【発明の効果】
【００１８】
以上のように、本発明の一側面によれば、トランジションなどの状態遷移図上の線分を正確に引くことことができ、UIのプログラムの開発の効率を向上させることが可能となる。
【発明を実施するための最良の形態】
【００１９】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、発明の詳細な説明に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、発明の詳細な説明に記載されていることを確認するためのものである。従って、発明の詳細な説明中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２０】
すなわち、本発明の一側面の情報処理方法およびプログラムは、それぞれの状態における動作、前記それぞれの状態における遷移時のイベント、および前記イベントによりどの他の前記状態に遷移するかを示す遷移方向の情報を含む状態遷移情報に基づいて、状態遷移図を生成する生成ステップ（例えば、図９のステップＳ１２１乃至Ｓ１２３）と、前記生成ステップの処理により生成された状態遷移図を表示する表示ステップ（例えば、図１３のステップＳ１６９，Ｓ１７３）と、前記表示ステップの処理により表示された状態遷移図を操作する操作ステップ（例えば、図４のステップＳ１６４，Ｓ１７０）と、前記操作ステップの処理により操作内容に応じて、前記状態遷移情報を更新する更新ステップ（例えば、図６のステップＳ４６）と、前記操作ステップの処理により指定された遷移元となる状態の位置を記憶する記憶ステップ（例えば、図１３のステップＳ１６７）とを含み、前記操作ステップの処理（例えば、図１３のステップＳ１６４，Ｓ１７０）により遷移元となる状態の位置が指定された場合、前記表示ステップの処理は、前記ポインタを前記操作ステップの処理により遷移元となる状態の位置が指定されたことを示すアイコンとして表示し（例えば、図１３のステップＳ１６９）、前記操作ステップの処理により遷移先となる状態の位置が指定された場合、前記表示ステップの処理は、前記記憶ステップの処理で記憶された遷移元となる状態から前記遷移先となる状態へのトランジションを表示し（例えば、図１３のステップＳ１７３）、前記更新ステップの処理は、前記トランジションの情報を付加することにより前記状態遷移情報（例えば、図６のステップＳ４６）を更新する。
【００２１】
前記操作ステップの処理（例えば、図１３のステップＳ１６９）により遷移元となる状態の位置が指定された場合、前記表示ステップの処理には、前記ポインタと、前記操作部により指定された遷移元となる状態の位置とを結ぶトランジションを表示させるようにすることができる。
【００２２】
本発明の一側面の情報処理装置は、それぞれの状態における動作、前記それぞれの状態における遷移時のイベント、および前記イベントによりどの他の前記状態に遷移するかを示す遷移方向の情報を含む状態遷移情報に基づいて、状態遷移図を生成する生成手段（例えば、図１の状態遷移図生成部１４）と、前記生成手段により生成された状態遷移図を表示する表示手段（例えば、図１の表示部１８）と、前記表示手段により表示された状態遷移図を操作する操作手段（例えば、図１の操作部１１）と、前記操作手段により操作内容に応じて、前記状態遷移情報を更新する更新手段（例えば、図１の編集部１２）と、前記操作手段により指定された遷移元となる状態の位置を記憶する記憶手段（例えば、図１の始点位置メモリ５３ｂ）とを含み、前記操作手段により遷移元となる状態の位置が指定された場合、前記表示手段（例えば、図１の表示部１８）は、前記ポインタを前記操作手段により遷移元となる状態の位置が指定されたことを示すアイコンとして表示し、前記操作手段により遷移先となる状態の位置が指定された場合、前記表示手段（例えば、図１の表示部１８）は、前記記憶手段で記憶された遷移元となる状態から前記遷移先となる状態へのトランジションを表示し、前記更新手段は、前記トランジションの情報を付加することにより前記状態遷移情報を更新（例えば、図１の編集部１２）する。
【００２３】
このように、始点となるステートと終点となるステートとを結びトランジションを編集する際、始点となるステートからドラッグしたまま終点となるステートまで操作部１１を操作させるといった操作を特に必要とすることなく、始点となるステートを認識できるようにすることで、正確、かつ、容易にトランジションを編集することが可能となるので、UIプログラムの開発効率を向上させるようにすることができる。
【００２４】
図１は、本発明を適用した状態遷移プログラム編集装置１の一実施の形態の構成を示す図である。
【００２５】
状態遷移プログラム編集装置１は、アプリケーションソフトウェアプログラムにおけるUIのプログラムの開発を目的とした編集装置であり、各状態における動作、それぞれの状態における遷移時のイベント、およびイベント毎にどの他の状態に遷移するかを示す遷移方向の情報を含む状態遷移情報（ステートデータ）に基づいて、状態遷移図を生成すると共に、生成した状態遷移図を表示する。さらに、状態遷移プログラム編集装置１は、表示した状態遷移図が操作されることにより変更されると、変更された状態遷移図に対応して、状態遷移情報を更新する。
【００２６】
操作部１１は、マウスやキーボードなどから構成されており、状態遷移プログラム編集装置１を操作するユーザによる操作に対応する信号を発生して編集部１２に供給する。
【００２７】
編集部１２は、ステート編集部３１、トランジション編集部３２、およびスクリプト編集部３３より構成されており、操作部１１より供給されてくる信号に基づいて、状態遷移情報（ステートデータ）を編集する。ステートデータは、各状態（ステート）毎に動作を示す情報（スクリプト情報）およびイベントに応じて遷移する状態の遷移先の情報（トランジション情報）が記述されている。
【００２８】
ステート編集部３１は、状態（ステート）の新規生成、および表示位置や大きさなどの情報を編集し、編集結果をステートデータ格納部１３に格納させる。トランジション編集部３２は、各状態における動作が実行されている間に発生するイベントに応じて、遷移する遷移先となる状態の情報を編集し、ステートデータ格納部１３に格納させる。スクリプト編集部３３は、各状態における動作内容を編集し、ステートデータ格納部１３に格納させる。
【００２９】
ステートデータ格納部１３は、各状態（ステート）ごとに編集部１２によりトランジション情報やスクリプト情報が編集されたステートデータを格納し、必要に応じて状態遷移図生成部１４および状態遷移エンジン１５に供給する。
【００３０】
状態遷移図生成部１４は、ステート枠生成部４１、およびトランジション生成部４２から構成されており、ステートデータ格納部１３に格納されているステートデータを読み出し、状態遷移図を生成する。ステート枠生成部４１は、状態ごとに丸形または矩形などの枠（ステート枠）を生成すると共に、状態遷移エンジン１５より供給される今現在の状態の情報に基づいて、今現在の状態を示すステート枠内の表示色を変化させて表示する。トランジション４２は、各状態における動作中に発生するイベントごとに遷移先を示す矢印を生成する。
【００３１】
状態遷移エンジン１５は、ステートデータ格納部１３に格納されているステートデータを読み出すと共に、イベント検出部１９より供給されるイベントの情報に基づいて、今現在のステートを検索し、検索結果である今現在のステートを示す情報を状態遷移図生成部１４および状態動作実行部１６に供給する。
【００３２】
状態動作実行部１６は、状態遷移エンジン１５より供給される今現在の状態のステートデータに基づいて、現在の状態の動作を実行し、実行結果を表示制御部１７に供給する。
【００３３】
表示制御部１７は、状態遷移図表示制御部５１、状態動作表示制御部５２、およびトランジション編集用表示制御部５３より構成され、表示部１８に表示する表示画面を生成して表示させる。
【００３４】
状態遷移図表示制御部５１は、状態遷移図生成部１４より供給されてくる状態遷移図の情報に基づいて、例えば、図２の状態遷移図表示画面１１２および編集用操作ボタン表示画面１１３を生成し、表示を制御する。図２においては、状態Ａ（State Ａ：ステートＡ）を示すステート枠１３１、状態Ｂ（State Ｂ：ステートＢ）を示すステート枠１３２、状態Ｃ（State Ｃ：ステートＣ）を示すステート枠１３３、および、状態Ｄ（State Ｄ：ステートＤ）を示すステート枠１３４が示されており、それぞれが、トランジション１４１乃至１４８で結ばれている。トランジション１４１乃至１４８は、それぞれ状態間を遷移する方向とイベントを示している。
【００３５】
より詳細には、トランジション１４１は、「KeyPress_x」と示され、矢印が状態Ａから状態Ｄに向って表示されており、状態Ａの動作が実行されている場合、操作部１１の「ｘ」のキーが操作されるというイベントが発生すると、状態Ａから状態Ｂに遷移することを示している。
【００３６】
同様に、トランジション１４２は、「KeyPress_2」と示され、矢印が状態Ａから状態Ｂに向って表示されており、状態Ａの動作が実行されている場合、操作部１１の「2」のキーが操作されるというイベントが発生すると、状態Ａから状態Ｂに遷移することを示している。
【００３７】
また、トランジション１４３は、「KeyPress_3」と示され、矢印が状態Ｂから状態Ａに向って表示されており、状態Ｂの動作が実行されている場合、操作部１１の「3」のキーが操作されるというイベントが発生すると、状態Ｂから状態Ａに遷移することを示している。
【００３８】
さらに、トランジション１４４は、「KeyPress_b」と示され、矢印が状態Ｂから状態Ｃに向って表示されており、状態Ｂの動作が実行されている場合、操作部１１の「b」のキーが操作されるというイベントが発生すると、状態Ｂから状態Ｃに遷移することを示している。
【００３９】
また、トランジション１４５は、「KeyPress_a」と示され、矢印が状態Ｃから状態Ｂに向って表示されており、状態Ｃの動作が実行されている場合、操作部１１の「a」のキーが操作されるというイベントが発生すると、状態Ｃから状態Ｂに遷移することを示している。
【００４０】
さらに、トランジション１４６は、「KeyPress_1」と示され、矢印が状態Ｃから状態Ｄに向って表示されており、状態Ｃの動作が実行されている場合、操作部１１の「1」のキーが操作されるというイベントが発生すると、状態Ｃから状態Ｄに遷移することを示している。
【００４１】
また、トランジション１４７は、「KeyPress_0」と示され、矢印が状態Ｄから状態Ｃに向って表示されており、状態Ｄの動作が実行されている場合、操作部１１の「0」のキーが操作されるというイベントが発生すると、状態Ｄから状態Ｃに遷移することを示している。
【００４２】
さらに、トランジション１４８は、「KeyPress_z」と示され、矢印が状態Dから状態Ａに向って表示されており、状態Ｄの動作が実行されている場合、操作部１１の「z」のキーが操作されるというイベントが発生すると、状態Dから状態Ａに遷移することを示している。
【００４３】
尚、図２においては、表示部１８で表示される表示画面１０１が示されている。表示画面１０１には、動作表示画面１１１、および状態遷移図表示画面１１２が設けられている。
【００４４】
状態動作表示制御部５２は、状態動作実行部１６より供給される、カレントステートの状態動作の実行結果に基づいて、例えば、図２で示されるような動作表示画面１１１を生成し、表示を制御する。尚、図２においては、カレントステートが設定されておらず、実行されるものがないので、動作表示画面１１１は、黒の画面（無地の画面）となっている。
【００４５】
トランジション編集用表示制御部５３は、状態遷移図表示制御部５１により表示部１８に表示されている状態遷移図が、操作部１１が操作されることによりトランジションが編集されるとき、操作部１１により操作されるポインタ、トランジション、およびステート枠の表示を制御する。より詳細には、トランジション編集用表示制御部５３は、トランジション編集部３２により編集されたステートデータ格納部１３に格納されているステートデータに基づいたトランジションの表示を制御するのではなく、状態遷移図生成部１４より供給され、状態遷移図表示制御部５１により表示部１８に表示するために生成された状態遷移図におけるトランジションの表示を制御するものである。したがって、ステートデータ格納部１３に格納されるべき、ステートデータとして更新される前の編集途中の状態遷移図上のポインタ、トランジション、およびステート枠の表示を制御するものである。
【００４６】
トランジション編集用表示制御部５３は、ポインタ表示制御部５３ａ、始点位置メモリ５３ｂ、および、ステート枠表示制御部５３ｃを含んでいる。ポインタ表示制御部５３ａは、トランジションを編集する際のポインタの表示を制御する。始点位置メモリ５３ｂは、操作部１１の操作内容に応じて、トランジションの始点位置として設定されるステート枠と、その位置を記憶する。ステート枠表示制御部５３ｃは、トランジションを編集する際のステート枠の表示を制御する。
【００４７】
表示部１８は、CRT（Cathode Ray Tube）またはLCD（Liquid Crystal Display）などから構成され、表示制御部１７により生成された画面を表示する。
【００４８】
イベント検出部１９は、操作部１１の操作内容に応じたイベントを検出し、検出したイベントを状態遷移エンジン１５に供給する。また、イベント検出部１９は、操作部１１の操作内容に応じたイベントに限らず、例えば、図示せぬバッテリ残量が所定値より小さくなったといったイベントなどの操作部１１の操作とは無関係なイベントも検出する。
【００４９】
次に、図３を参照して、ステートデータ格納部１３に格納されるステート情報について説明する。
【００５０】
ステート情報は、例えば、図２の状態遷移図表示画面１１２で示されるような状態遷移図が構成されるような場合、図３で示されるような形式で、状態Ａ乃至Ｄごとにステートデータ格納部１３に格納されている。図３においては、左から状態Ａ乃至Ｄの順にステート情報のデータ構造が示されている。
【００５１】
各ステート（状態）には、トランジション情報として、各イベントと対応する遷移先となる状態の情報が記録される領域が確保されている。また、各状態におけるスクリプトが記録される領域が確保されている。
【００５２】
すなわち、図３の状態Ａ（State A）においては、トランジション情報として、イベント欄には「KeyPress_2」および「KeyPress_x」が記録され、対応する遷移先として、それぞれ「State B」および「State D」と記録されている。すなわち、このトランジション情報は、図２のトランジション１４２，１４１にそれぞれ対応する情報として記録されている。また、状態Ａの場合、トランジション情報の下には、スクリプト情報として、「スクリプトＡ」が記録されている。
【００５３】
さらに、状態Ｂ（State Ｂ）においては、トランジション情報として、イベント欄には「KeyPress_3」および「KeyPress_b」が記録され、対応する遷移先として、それぞれ「State A」および「State C」と記録されている。すなわち、このトランジション情報は、図２のトランジション１４３，１４４にそれぞれ対応する情報として記録されている。また、状態Ｂの場合、トランジション情報の下には、スクリプト情報として、「スクリプトＢ」が記録されている。
【００５４】
さらに、状態Ｃ（State Ｃ）においては、トランジション情報として、イベント欄には「KeyPress_a」および「KeyPress_1」が記録され、対応する遷移先として、それぞれ「State B」および「State D」と記録されている。すなわち、このトランジション情報は、図２のトランジション１４５，１４６にそれぞれ対応する情報として記録されている。また、状態Cの場合、トランジション情報の下には、スクリプト情報として、「スクリプトC」が記録されている。
【００５５】
さらに、状態D（State D）においては、トランジション情報として、イベント欄には「KeyPress_z」および「KeyPress_0」が記録され、対応する遷移先として、それぞれ「State A」および「State C」と記録されている。すなわち、このトランジション情報は、図２のトランジション１４８，１４７にそれぞれ対応する情報として記録されている。また、状態Dの場合、トランジション情報の下には、スクリプト情報として、「スクリプトD」が記録されている。
【００５６】
次に、図４のフローチャートを参照して、編集部１２による状態遷移プログラム編集処理について説明する。
【００５７】
ステップＳ１において、ステート編集部３１は、操作部１１より供給されてくる信号に基づいて、ステート編集が指示されたか否かを判定する。ステップＳ１において、例えば、ステート編集処理が指示されたと判定された場合、ステップＳ２において、ステート編集部３１は、ステート編集処理を実行し、その処理は、元に戻る。尚、ステート編集処理については、図５を参照して後述する。
【００５８】
ステップＳ１において、例えば、ステート編集処理が指示されていないと判定された場合、ステップＳ３において、トランジション編集部３２は、操作部１１より供給されてくる信号に基づいて、トランジション編集が指示されたか否かを判定する。ステップＳ３において、例えば、トランジション編集処理が指示されたと判定された場合、ステップＳ４において、トランジション編集部３２は、トランジション編集処理を実行し、その処理は、元に戻る。尚、トランジション編集処理については、図６を参照して後述する。
【００５９】
ステップＳ３において、例えば、トランジション編集処理が指示されていないと判定された場合、ステップＳ５において、スクリプト編集部３３は、操作部１１より供給されてくる信号に基づいて、スクリプト編集が指示されたか否かを判定する。ステップＳ５において、例えば、スクリプト編集処理が指示されたと判定された場合、ステップＳ６において、スクリプト編集部３３は、スクリプト編集処理を実行し、その処理は、元に戻る。尚、スクリプト編集処理については、図７を参照して後述する。
【００６０】
以上の処理により、ステートデータが更新されることになるので、対応する状態遷移プログラムが更新される。
【００６１】
次に、図５のフローチャートを参照して、ステート編集処理について説明する。
【００６２】
ステップＳ２１において、ステート編集部３１は、操作部１１からの信号に基づいて、新規のステート（状態）を生成する処理であるか否かを判定する。例えば、図２の表示画面１０１上の図示せぬボタンが操作され、新規のステートを生成する処理が指示された場合、ステップＳ２２において、ステート編集部３１は、新規のステートを生成する。すなわち、ステート編集部３１は、新たな状態に対応するステート情報をステートデータ格納部１３に記録する。
【００６３】
ステップＳ２３において、ステート編集部３１は、新規に生成されたステートを編集対象ステートに設定する。
【００６４】
ステップＳ２４において、ステート編集部３１は、編集対象ステートのステート情報に更新があるか否かを判定する。ここで更新の有無が判定されるのは、ステート情報のうちステート名や対応するステート枠の表示位置などの情報である。すなわち、ステート編集部３１が編集するのは、ステート情報のうち、ステート名およびステート枠の表示位置の情報である。
【００６５】
ステップＳ２４において、ステート情報のうち、ステート名およびステート枠の表示位置の情報に更新があると判定された場合、ステップＳ２５において、ステート編集部３１は、更新された、ステート名およびステート枠の表示位置の情報を編集対象ステートのステート情報に反映させて更新する。
【００６６】
一方、ステップＳ２４において、更新がないと判定された場合、ステップＳ２５の処理は、スキップされる。
【００６７】
ステップＳ２６において、ステート編集処理の終了が指示されたか否かを判定し、終了が指示されない場合、その処理は、ステップＳ２４に戻り、終了が指示されたと判定された場合、ステート編集処理は終了する。
【００６８】
また、ステップＳ２１において、新規のステートの生成ではないと判定された場合、ステップＳ２７において、既存のステートが選択されたか否かが判定される。すなわち、図１０を参照して後述する表示処理により表示される、例えば、図２で示されるような状態遷移図表示画面１１２上に表示された既存のステート枠１３１乃至１３４のいずれかがポインタ１５０が操作部１１１により操作されて選択されたか否かにより、対応するステートＡ乃至Ｄのステートデータ格納部１３により格納されているステート情報のいずれかが選択されたか否かが判定される。例えば、既存のステートのステート情報が選択された場合、ステップＳ２８において、ステート編集部３１は、選択されたステートを編集対象ステートに設定し、その処理は、ステップＳ２４に進む。
【００６９】
一方、ステップＳ２７において、既存のステートが選択されたと判定されなかった場合、その処理は、ステップＳ２１に戻り、それ以降の処理が繰り返される。
【００７０】
すなわち、以上の処理により、新規のステート、または、既存のステートの何れかのステート情報について、ステート名およびステート枠の表示位置が、新たに設定されるか、または、更新されることになる。
【００７１】
次に、図６のフローチャートを参照して、トランジション編集処理について説明する。
【００７２】
ステップＳ４１において、トランジション編集部３２は、既存のステートが選択されたか否かを判定し、選択されるまで、その処理を繰り返す。すなわち、図１０を参照して後述する表示処理により表示される、例えば、図２で示されるような状態遷移図表示画面１１２上に表示された既存のステート枠１３１乃至１３４のいずれかがポインタ１５０が操作部１１１により操作されて選択されたか否かにより、対応するステートＡ乃至Ｄのステートデータ格納部１３により格納されているステート情報のいずれかが選択されたか否かが判定される。そして、ステップＳ４１において、例えば、既存のステートのステート情報が選択された場合、ステップＳ４２において、トランジション編集部３２は、選択されたステートを編集対象ステートに設定し、その処理は、ステップＳ４３に進む。
【００７３】
ステップＳ４３において、トランジション編集部３２は、編集対象ステートのステート情報のうち、遷移先が指定されたか否かを判定する。すなわち、例えば、図１３のフローチャートを参照して後述するトランジション編集用表示処理により、図２の状態遷移図表示画面１１２で示されるように、ステート枠１３１乃至１３４で示される状態Ａ乃至Ｄのうち、例えば、状態遷移の始点として状態Ａが選択され、編集対象ステートに設定された場合、終点として状態Ｄのステート枠１３４が設定されることにより、トランジション１４１で示されるような矢印を引かれることになる。
【００７４】
そこで、ステップＳ４３においては、トランジション編集部３２は、このようにトランジションの矢印が編集対象ステートの状態を示すステート枠から遷移先を示す状態のステート枠までの矢印が引かれたか否かにより、遷移先が設定されたか否かを判定する。
【００７５】
ステップＳ４３において、遷移先が設定されたと判定された場合、ステップＳ４４において、トランジション編集部３２は、イベントを指定するように要求する。より具体的には、例えば、遷移先を指定する処理として、図２のトランジション１４１がポインタ１５０により引かれた場合、トランジション編集部３２は、トランジションの横にイベントを指定する図示せぬ空欄を表示し、入力を促す。
【００７６】
ステップＳ４５において、トランジション編集部３２は、遷移する際のイベントが指定されたか否かを判定し、指定されたと判定されるまで、その処理を繰り返す。すなわち、トランジション編集部３２は、その空欄にイベントを指定する情報が入力されたか否かを判定し、イベントが指定されたか否かを判定する。
【００７７】
ステップＳ４５において、イベントが指定されたと判定された場合、ステップＳ４６において、トランジション編集部３２は、ステートデータ格納部１３にアクセスし、編集対象ステートのステート情報を読み出し、指定された遷移先とイベントの情報を反映させて更新する。すなわち、例えば、図２のトランジション１４１の場合、遷移先として「State D」が指定され、イベントとして、「KeyPress_x」が指定されるので、図３の左部で示されるように、遷移先とイベントに「State D」、および、「KeyPress_x」を追加して更新する。
【００７８】
ステップＳ４３において、遷移先が指定されていない場合、ステップＳ４４乃至Ｓ４６の処理がスキップされ、ステップＳ４７において、トランジション編集処理の終了が指示されたか否かを判定し、終了が指示されない場合、処理は、ステップＳ４３に戻る。すなわち、トランジション編集処理の終了が指示されるまで、ステップＳ４３乃至Ｓ４７の処理が繰り返される。
【００７９】
そして、ステップＳ４７において、トランジション編集処理の終了が指示された場合、その処理は終了する。
【００８０】
以上の処理により、ポインタ１５０を操作部１１１により操作することで、トランジションの情報を編集することが可能となる。
【００８１】
次に、図７のフローチャートを参照して、スクリプト編集処理について説明する。
【００８２】
ステップＳ６１において、スクリプト編集部３３は、既存のステートが選択されたか否かを判定し、選択されるまで、その処理を繰り返す。すなわち、図１０を参照して後述する表示処理により表示される、例えば、図２で示されるような状態遷移図表示画面１１２上に表示された既存のステート枠１３１乃至１３４のいずれかがポインタ１５０が操作部１１１により操作されて選択されたか否かにより、対応するステートＡ乃至Ｄのステートデータ格納部１３により格納されているステート情報のいずれかが選択されたか否かが判定される。そして、ステップＳ６１において、例えば、既存のステートのステート情報が選択された場合、ステップＳ６２において、スクリプト編集部３３は、選択されたステートを編集対象ステートに設定し、その処理は、ステップＳ６３に進む。
【００８３】
ステップＳ６３において、スクリプト編集部３３は、スクリプトが更新されたか否かを判定する。例えば、操作部１１が操作されて、図示せぬエディタが起動され、対象となるスクリプトが更新された場合、スクリプトが更新されたと判定され、ステップＳ６４において、スクリプト編集部３３は、ステートデータ１３にアクセスし、編集対象ステートのステート情報を読み出し、スクリプト表示画面１１５上で編集された情報に基づいて、スクリプトを変更して、ステート情報を更新する。
【００８４】
ステップＳ６５において、ステート編集部３３は、ステート編集処理の終了が指示されたか否かを判定し、終了が指示されていない場合、その処理は、ステップＳ６１に戻る。また、ステート編集処理の終了が指示された場合、その処理は、終了する。
【００８５】
以上の処理により、スクリプトが編集される。
【００８６】
次に、図８のフローチャートを参照して、状態遷移プログラム実行処理について説明する。
【００８７】
ステップＳ９１において、状態遷移エンジン１５は、操作部１１より送信されてくる操作信号に基づいて、状態遷移図表示画面１１２上のいずれかのステートが選択されたか否かを判定し、選択されるまで、その処理を繰り返す。より詳細には、状態遷移エンジン１５は、操作部１１より供給されてくる信号に基づいて、例えば、図２の状態遷移図表示画面１１２上のステート枠１３１乃至１３４のいずれかが、ポインタ１５０により選択されたか否かを判定し、いずれかのステートが選択されるまで、その処理を繰り返す。
【００８８】
ステップＳ９１において、例えば、いずれかのステートが選択された場合、ステップＳ９２において、状態遷移エンジン１５は、選択されたステートをカレントステートとして設定する。すなわち、状態遷移エンジン１５は、操作部１１からの信号に基づいて、例えば、図２の状態遷移図表示画面１１２上のステート枠１３１乃至１３４のうち、ポインタ１５０により選択されたステート枠に対応するステートをカレントステートに設定する。また、このとき、状態遷移エンジン１５は、カレントステートがいずれのステートであるかを示す情報を状態遷移図生成部１４に供給する。この情報により、図９のフローチャートを参照して、後述する状態遷移図生成処理においてカレントステートのステート枠の表示色を変えて表示させる。
【００８９】
ステップＳ９３において、状態遷移エンジン１５は、ステートデータ格納部１３にアクセスし、カレントステートのステート情報を読み出し、状態動作実行部１６に供給する。
【００９０】
ステップＳ９４において、状態動作実行部１６は、供給されたカレントステートのステート情報を解釈する。すなわち、状態動作実行部１６は、供給されたカレントステートのステート情報のうち、特に、スクリプト情報を読み出して、その状態における動作を認識する。
【００９１】
ステップＳ９５において、状態動作実行部１６は、スクリプト情報に記述されている処理を実行する。
【００９２】
ステップＳ９６において、状態動作実行部１６は、状態遷移処理の終了が指示されたか否かを判定する。すなわち、状態動作実行部１６は、操作部１１からの信号に基づいて、状態遷移処理の終了が指示されたか否かを判定し、終了が指示されていない場合、その処理は、ステップＳ９７に進む。
【００９３】
ステップＳ９７において、状態遷移エンジン１５は、イベントが発生したか否かを判定する。すなわち、状態遷移エンジン１５は、イベント検出部１９により検出されたイベントの情報が供給されてきたか否かを判定し、イベントがない場合、その処理は、ステップＳ９５に戻り、以降の処理が繰り返される。すなわち、イベントが検出されるまで、ステップＳ９５乃至Ｓ９７の処理が繰り返される。一方、ステップＳ９７において、イベントがあると判定された場合、その処理は、ステップＳ９８に進む。
【００９４】
ステップＳ９８において、状態遷移エンジン１５は、供給されてきたイベントの情報により遷移先が設定されているか否かを判定する。すなわち、ステート情報が、図３で示されるものであって、現在の状態がステートＡであった場合、例えば、イベントとして、操作部１１のキーボードのうち「Ａ」のキーが操作されるというイベントが発生したとしても、遷移先が設定されていないことになる。このため、このような場合、その処理は、ステップＳ９５に戻る。すなわち、実質的に、イベントの発生がなかったものとして処理される。
【００９５】
一方、ステップＳ９８において、遷移先があると判定された場合、すなわち、ステート情報が、図３で示されるものであって、現在の状態がステートＡであった場合、例えば、イベントとして、操作部１１のキーボードのうち「２」のキーが操作されるというイベントが発生すると、遷移先Ｂに設定されている。そこで、ステップＳ９９において、状態遷移エンジン１５は、遷移先のステートをカレントステートに設定し、その処理は、ステップＳ９３に戻り、それ以降の処理が繰り返される。すなわち、この処理により、新たな遷移先となるステートＢをカレントステートに設定し、ステップＳ９３以降の処理が繰り返される。
【００９６】
以上の処理により、状態遷移エンジン１５が、イベント検出部１９より供給されてくるイベントの情報により状態遷移図に従って状態を変化させると共に、対応する状態のステート情報を読み出して、状態動作実行部１６に供給することが可能となる。また、状態動作実行部１６は、ユーザの操作に基づいて設定されている状態を変化させると共に、対応する状態においてスクリプトで規定される動作を実行することが可能となる、
【００９７】
次に、図９のフローチャートを参照して、状態遷移図生成処理について説明する。
【００９８】
ステップＳ１２１において、状態遷移図生成部１４は、ステートデータ格納部１３にアクセスし、格納されている全ステートデータを読み出す。
【００９９】
ステップＳ１２２において、ステート枠生成部４１は、全てのステート情報毎に状態遷移図上のステート枠を生成する。
【０１００】
ステップＳ１２３において、トランジション生成部４２は、ステート情報のうち、イベントと対応する遷移先の情報に基づいて、トランジションを生成する。
【０１０１】
ステップＳ１２４において、状態遷移図生成部１４は、ステート枠生成部４１により生成されたステート枠、および、トランジション生成部４２により生成されたトランジションに基づいて、状態遷移図を構成する情報を生成し、表示制御部１７に供給する。
【０１０２】
以上の処理により、ステートデータ格納部１３に格納されているステート情報に基づいて、状態遷移図が生成され、表示制御部１７に供給することが可能となる。
【０１０３】
次に、図１０のフローチャートを参照して、表示処理について説明する。
【０１０４】
ステップＳ１４１において、状態遷移図表示制御部５１は、状態遷移図生成部１４より供給されてくる状態遷移図の情報に基づいて、状態遷移図表示画面１１２を表示する。
【０１０５】
ステップＳ１４２において、状態動作表示制御部５２は、状態遷移図生成部１４より供給される情報に基づいて、カレントステートが指定されているか否かを判定する。ステップＳ１４２において、例えば、カレントステートが指定されていると判定された場合、ステップＳ１４３において、状態動作表示制御部５２は、カレントステートとして設定されている、状態動作実行部１６により実行されている動作内容に基づいて動作表示画面１１１を表示する。
【０１０６】
ステップＳ１４２において、カレントステートが指定されていない場合、ステップＳ１４３の処理は、スキップされる。
【０１０７】
ステップＳ１４４において、トランジション編集表示制御部５３は、操作部１１より供給されてくる操作内容に応じて、トランジションの編集が指示されているか否かを判定する。ステップＳ１４４において、例えば、トランジションの編集が指示されていると判定された場合、ステップ１４５において、トランジション編集表示制御部５３は、トランジション編集表示処理を開始させ、その処理は、ステップＳ１４１に戻る。また、ステップＳ１４４において、トランジションの編集が指示されていないと判定された場合、ステップＳ１４５の処理は、スキップされる。
【０１０８】
以上の処理により、図２で示されるような、動作表示画面１１１、および状態遷移図表示画面１１２からなる表示画面１０１が表示部１８に表示される。尚、トランジション編集表示処理については、図１３のフローチャートを参照して、詳細を後述する。
【０１０９】
結果として、図４の状態遷移プログラム編集処理、図５のステート編集処理、図６のトランジション編集処理、図７のスクリプト編集処理、図８の状態遷移プログラム実行処理、図９の状態遷移図生成処理、図１０の表示処理により以下のような動作が実現される。
【０１１０】
すなわち、図１１で示されるように、ポインタ１５０が、ステート枠１３４上に存在し、カレントステートとして設定されている場合、カレントステートである状態Ｃのステート枠１３４は、他のステート枠とは異なる色で表示され、動作表示画面１１１には、状態Ｃの動作状態（五重塔のようなもの）が表示されているものとする。このとき、ポインタ１５０を移動させて、図１２で示されるように、ステート枠１３３上に存在させると、状態Ｃがカレントステートとして設定されいるため、ステート枠１３３は他のステート枠とは表示色が異なっている。また、動作表示画面１１１には、カレントステートである状態Ｃにおける処理結果が再生されることが示されている。
【０１１１】
次に、図１３のフローチャートを参照して、トランジション編集用表示処理について説明する。
【０１１２】
ステップＳ１６１において、トランジション編集用表示制御部５３は、トランジションの編集の開始が指示されたか否かを判定し、開始が指示されたと判定されるまで、その処理を繰り返す。ステップＳ１６１において、例えば、図１０のフローチャートを参照して説明した表示処理におけるステップＳ１４４の処理により、トランジションの編集が指示されることにより、開始が指示されたと判定される。
【０１１３】
ここでは、例えば、図１４で示されるように、状態遷移図表示画面１１２には、ステート枠１３１，１３２のみが存在している状態について説明していくものとする。ステップＳ１６１において、例えば、上述した図１０のフローチャートにおけるステップＳ１４４の処理により、図１５で示されるように、編集用操ボタン表示画面１１３上のトランジションの編集を指示するボタン１１３ａがポインタ１５０により操作される場合、トランジションの編集の開始が指示されたものと判定され、その処理は、ステップＳ１６２に進む。
【０１１４】
ステップＳ１６２において、トランジション編集用表示制御部５３は、操作部１１からの操作内容に対応した操作信号に基づいて、現在のポインタ１５０が状態遷移図表示画面１１２上に存在するか否かを判定する。例えば、ポインタ１５０が、状態遷移図表示画面１１２上に存在する場合、ステップＳ１６３において、ポインタ表示制御部５３ａは、ポインタ１５０の表示を始点用のアイコンに切り替える。すなわち、ポインタ表示制御部５３ａは、例えば、図１６のポインタ１５０’で示されるようにトランジションの始点を決定する状態であることを示すように「From」が付加された左斜め上に頂角を持つ直角二等辺三角形状のアイコンに切り替える。
【０１１５】
ステップＳ１６４において、トランジション編集用表示制御部５３は、操作部１１からの操作信号に基づいて、操作部１１がクリックされたか（または、それに相当する操作がなされたか）否かを判定する。例えば、ステップＳ１６４において、クリックされていないと判定された場合、その処理は、ステップＳ１６２の処理に戻る。また、ステップＳ１６２において、ポインタ１５０が状態遷移図表示画面１１２上ではない場合、ポインタを通常の表示に変える（通常の表示ままであれば、そのまま維持する）。
【０１１６】
一方、例えば、ステップＳ１６４において、クリックされたと判定された場合、ステップＳ１６５において、ポインタ１５０’がいずれかのステート枠内に存在するか否かを判定する。すなわち、ここでは、ステート枠は、ステート枠１３１，１３２のいずれかのみであるので、そのいずれかの表示範囲内にポインタ１５０’が存在するか否かが判定されることになる。ステップＳ１６５において、例えば、ポインタ１５０’が、ステート枠内ではないと判定された場合、その処理は、ステップＳ１６２に戻る。
【０１１７】
一方、ステップＳ１６５において、ポインタ１５０’が、例えば、図１７で示されるように、ステート枠１３１内に存在した場合、ポインタ１５０’は、ステート枠内にあると判定され、その処理は、ステップＳ１６７に進む。
【０１１８】
ステップＳ１６７において、トランジション編集用表示制御部５３は、始点位置メモリ５３ｂを制御して、ポインタ１５０’が存在するステート枠の位置を記憶させる。すなわち、ポインタ１５０’がステート枠内に移動された状態で、かつ、クリックされた場合、トランジションの始点となるステートが設定されることになる。
【０１１９】
ステップＳ１６８において、トランジション編集用表示制御部５３は、操作部１１から供給されてくる操作内容に対応した操作信号に基づいて、現在のポインタ１５０’が状態遷移図表示画面１１２上に存在するか否かを判定する。例えば、ポインタ１５０’が、状態遷移図表示画面１１２上に存在する場合、ステップＳ１６９において、ポインタ表示制御部５３ａは、ポインタを終点用のアイコンに切り替える。すなわち、ポインタ表示制御部５３ａは、例えば、図１８のポインタ１５０’’で示されるようにトランジションの終点を決定する状態にあることを示すように「To」が付加された左斜め上に頂角を持つ直角二等辺三角形状のアイコンに切り替え、さらに、ポインタ１５０’’がステート枠１３１外の範囲に移動されるとき、図１９で示されるように、仮トランジション１７１を始点となるステート枠１３１とポインタ１５０’’との間に表示させる。さらに、ステート枠表示制御部５３ｃは、始点となるステート枠１３１の表示色を変えて、例えば、図１８または図１９で示されるように、ステート枠１３１’として表示する。
【０１２０】
ステップＳ１７０において、トランジション編集用表示制御部５３は、操作部１１からの操作信号に基づいて、操作部１１がクリックされたか（または、それに相当する操作がなされたか）否かを判定する。例えば、ステップＳ１７０において、クリックされていないと判定された場合、その処理は、ステップＳ１６８の処理に戻る。また、ステップＳ１６８において、ポインタ１５０’が状態遷移図表示画面１１２上ではない場合、ポインタを通常のアイコン（例えば、図２のポインタ１５０）に変える。
【０１２１】
一方、ステップＳ１７０において、クリックされたと判定された場合、ステップＳ１７０において、ポインタ１５０’’が、終点となるいずれかのステート枠内に存在するか否かを判定する。すなわち、ここでは、ステート枠１３１が始点となるステートとして指定されているので、ステート枠１３２の表示範囲内にポインタ１５０’’が存在するか否かが判定されることになる。ステップＳ１７１において、例えば、ポインタ１５０’’が、ステート枠内ではないと判定された場合、その処理は、ステップＳ１６８に戻る。
【０１２２】
ステップＳ１７１において、ポインタ１５０’’が、例えば、図２０で示されるように、ステート枠１３２内に存在した場合、ポインタ１５０’’は、ステート枠内にあると判定され、その処理は、ステップＳ１７３に進む。
【０１２３】
ステップＳ１７３において、トランジション編集用表示制御部５３は、クリックされた終点位置となるステート枠と、始点位置メモリ５３ｂに記憶されている位置に対応するステート枠とをトランジションを示す線分で結んで表示部１８に表示させる。すなわち、今の場合、トランジション編集用表示制御部５３は、例えば、図２１で示されるように、始点位置となるステート枠１３１，１３２とをトランジション１３２により結んで表示する。
【０１２４】
ステップＳ１７４において、トランジション編集用表示制御部５３は、トランジションの編集の終了が指示されたか否かを判定し、トランジションの編集の終了が指示さていない場合、その処理は、ステップＳ１６２に戻り、それ以降の処理が繰り返され、終了が指示された場合、その処理は、終了する。尚、終点となるステート枠が指定されると、トランジションの編集の終了が指示されない場合、その処理は、ステップＳ１６２に戻るため、ポインタ表示制御部５３ａは、ポインタの位置が状態遷移図表示画面１１２上である限り、表示をポインタ１５０’’からポインタ１５０に即座に切り替える。
【０１２５】
以上の処理により、トランジションを編集する際に、始点となるステート枠から終点となるステート枠までドラッグしたまま引くといった操作をする必要がないので、トランジションを状態遷移図上で引く際のミスを低減させることができる。また、始点となるステートが指定された時点でポインタを示すアイコンの表示が切り替わって表示されることになるので、ユーザは、次に指定するステートが始点となるステートであるか、または、終点となるステートであるのかを認識することができるので、正確にトランジションの編集をすることが可能となる。
【０１２６】
尚、トランジションの編集において、ステップＳ１６７の処理により、始点となるステート枠の位置が記憶された後、ポインタ１５０’が状態遷移図表示画面１１２上を移動させて、終点位置となるステート枠の位置をユーザが目視により探すような場合、例えば、図２２で示されるように、終点となるステート枠１３２が、スクロールバー２１１や２１２により操作されなければ表示されない位置であることが考えられる。このような場合、始点となるステート枠１３１は、状態遷移図表示画面１１２上に表示できないことになる。      
【０１２７】
そこで、始点となるステート枠が指定された場合、ステート枠表示制御部５３ｃは、所定の時間間隔で始点となるステート枠の位置を始点位置メモリ５３ｂに問い合わせ、状態遷移図表示画面１１２上に表示できないことが判明したとき、図２２で示されるように、始点ステート枠表示欄２０１を設けて表示し、始点となるステート枠１３１をユーザに認識できるようにしてもよい。
【０１２８】
このように表示することで、トランジションを設けようとするステート枠同士が、状態遷移図表示画面上で両方同時に表示できない、離れた位置に存在していても、ユーザは、始点となるステート枠を認識することができ、正確にトランジションを結ぶことが可能となる。
【０１２９】
また、以上のトランジション編集用表示処理は、図６のフローチャートを参照して説明した処理とも対応している。すなわち、ステップＳ４１における既存ステートが選択されたか否かを判定する処理は、トランジション編集用表示処理におけるステップＳ１６５における判定処理と同様であり、始点となるステート枠内にポインタ１５０’が移動された状態で、クリックされたか否かの判断となる。また、同様に、ステップＳ４３における遷移先が指定されたか否かを判定する処理は、トランジション編集用表示処理におけるステップＳ１７１における判定処理と同様であり、終点となるステート枠内にポインタ１５０’’が移動された状態で、クリックされたか否かの判断となる。したがって、トランジション編集用表示処理と、トランジション編集処理とは、密接に対応した処理となっている。
【０１３０】
本発明によれば、トランジションを所定のステート枠間で結ぶような編集処理をする際、ドラッグしたまま始点となるステート枠と終点となるステート枠とを結ぶといった操作をする必要がなくなるので、トランジションの編集におけるミスを低減させることができる。また、始点となるステートが指定された時点で、指定されたステート枠の表示を変化させ、さらに、始点となるステート枠から仮トランジションを引いて表示させるようにしたので、トランジションの編集を容易にすることが可能となる。さらに、状態遷移図表示画面１１２がスクロールされることにより、状態遷移図表示画面１１２上に始点となるステート枠が表示できないような場合でも、始点となるステート枠を始点ステート枠表示欄２０１が表示されることにより、ユーザは、トランジションの始点となるステートを正確に認識しつつ編集することが可能となるので、より正確にトランジションを編集することが可能となる。結果として、状態遷移図に基づいたプログラムの開発効率を向上させることが可能となる。
【０１３１】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０１３２】
図２３は、図１の状態遷移プログラム編集装置１の電気的な内部構成をソフトウェアにより実現する場合のパーソナルコンピュータの一実施の形態の構成を示している。パーソナルコンピュータのCPU５０１は、パーソナルコンピュータの全体の動作を制御する。また、CPU５０１は、バス５０４および入出力インタフェース５０５を介してユーザからキーボードやマウスなどからなる入力部５０６から指令が入力されると、それに対応してROM(Read Only Memory)５０２に格納されているプログラムを実行する。あるいはまた、CPU５０１は、ドライブ５１０に接続された磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリを含むリムーバルメディア５２１から読み出され、記憶部５０８にインストールされたプログラムを、RAM(Random Access Memory)５０３にロードして実行する。これにより、上述した図１の状態遷移プログラム編集装置１の機能が、ソフトウェアにより実現されている。さらに、CPU５０１は、通信部５０９を制御して、外部と通信し、データの授受を実行する。
【０１３３】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図２３に示すように、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む）、光磁気ディスクを含む）、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア５２１、または、プログラムが一時的もしくは永続的に格納されるROM５０２や、記憶部５０８を構成するハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースである通信部５０９を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【０１３４】
なお、本明細書において、プログラム記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１３５】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０１３６】
【図１】本発明を適用した状態遷移プログラム編集装置の一実施の形態の構成を示す図である。
【図２】表示画面の構成例を示す図である。
【図３】ステートデータ格納部に格納されるステート情報のデータ構造を示す図である。
【図４】図１の状態遷移プログラム編集装置による状態遷移プログラム編集処理を説明するフローチャートである。
【図５】図１の状態遷移プログラム編集装置によるステート編集処理を説明するフローチャートである。
【図６】図１の状態遷移プログラム編集装置によるトランジション編集処理を説明するフローチャートである。
【図７】図１の状態遷移プログラム編集装置によるスクリプト編集処理を説明するフローチャートである。
【図８】図１の状態遷移プログラム編集装置による状態遷移プログラム実行処理を説明するフローチャートである。
【図９】図１の状態遷移プログラム編集装置による状態遷移図生成処理を説明するフローチャートである。
【図１０】図１の状態遷移プログラム編集装置による表示処理を説明するフローチャートである。
【図１１】表示処理により表示される表示例を示す図である。
【図１２】表示処理により表示される表示例を示す図である。
【図１３】図１の状態遷移プログラム編集装置によるトランジション編集用表示処理を説明するフローチャートである。
【図１４】図１の状態遷移プログラム編集装置によるトランジション編集用表示処理を説明する図である。
【図１５】図１の状態遷移プログラム編集装置によるトランジション編集用表示処理を説明する図である。
【図１６】図１の状態遷移プログラム編集装置によるトランジション編集用表示処理を説明する図である。
【図１７】図１の状態遷移プログラム編集装置によるトランジション編集用表示処理を説明する図である。
【図１８】図１の状態遷移プログラム編集装置によるトランジション編集用表示処理を説明する図である。
【図１９】図１の状態遷移プログラム編集装置によるトランジション編集用表示処理を説明する図である。
【図２０】図１の状態遷移プログラム編集装置によるトランジション編集用表示処理を説明する図である。
【図２１】図１の状態遷移プログラム編集装置によるトランジション編集用表示処理を説明する図である。
【図２２】図１の状態遷移プログラム編集装置によるトランジション編集用表示処理を説明する図である。
【図２３】媒体を説明する図である。
【符号の説明】
【０１３７】
１１  操作部，  １２  編集部，  １３  ステートデータ格納部，  １４  状態遷移図生成部，  １５  状態遷移エンジン，  １６  状態動作実行部，  １７  表示制御部，  １８  表示部，  １９  イベント検出部，  ３１  ステート編集部，  ３２  トランジション編集部，  ３３  スクリプト編集部，  ４１  ステート枠生成部，  ４２  トランジション生成部，  ５１  状態遷移図表示制御部，  ５２  状態動作表示制御部，  ５３  トランジション編集用表示制御部，  ５３ａ  ポインタ表示制御部，  ５３ｂ  始点位置メモリ，  ５３ｃ  ステート枠表示制御部
【図１】
2007128244.tif 000003
【図２】
2007128244.tif 000004
【図３】
2007128244.tif 000005
【図４】
2007128244.tif 000006
【図５】
2007128244.tif 000007
【図６】
2007128244.tif 000008
【図７】
2007128244.tif 000009
【図８】
2007128244.tif 000010
【図９】
2007128244.tif 000011
【図１０】
2007128244.tif 000012
【図１１】
2007128244.tif 000013
【図１２】
2007128244.tif 000014
【図１３】
2007128244.tif 000015
【図１４】
2007128244.tif 000016
【図１５】
2007128244.tif 000017
【図１６】
2007128244.tif 000018
【図１７】
2007128244.tif 000019
【図１８】
2007128244.tif 000020
【図１９】
2007128244.tif 000021
【図２０】
2007128244.tif 000022
【図２１】
2007128244.tif 000023
【図２２】
2007128244.tif 000024
【図２３】
2007128244.tif 000025
【手続補正書】
【提出日】平成19年2月22日(2007.2.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項２
【補正方法】変更
【補正の内容】
【請求項２】
前記操作ステップの処理により遷移元となる状態の位置が指定された場合、前記表示ステップの処理は、前記ポインタと、前記操作ステップの処理により指定された遷移元となる状態の位置とを結ぶトランジションを表示する
請求項１に記載の情報処理方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
前記操作ステップの処理により遷移元となる状態の位置が指定された場合、前記表示ステップの処理には、前記ポインタと、前記操作ステップの処理により指定された遷移元となる状態の位置とを結ぶトランジションを表示させるようにすることができる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
すなわち、本発明の一側面の情報処理方法およびプログラムは、それぞれの状態における動作、前記それぞれの状態における遷移時のイベント、および前記イベントによりどの他の前記状態に遷移するかを示す遷移方向の情報を含む状態遷移情報に基づいて、状態遷移図を生成する生成ステップ（例えば、図９のステップＳ１２１乃至Ｓ１２３）と、前記生成ステップの処理により生成された状態遷移図を表示する表示ステップ（例えば、図１３のステップＳ１６９，Ｓ１７３）と、前記表示ステップの処理により表示された状態遷移図を操作する操作ステップ（例えば、図１３のステップＳ１６４，Ｓ１７０）と、前記操作ステップの処理により操作内容に応じて、前記状態遷移情報を更新する更新ステップ（例えば、図６のステップＳ４６）と、前記操作ステップの処理により指定された遷移元となる状態の位置を記憶する記憶ステップ（例えば、図１３のステップＳ１６７）とを含み、前記操作ステップの処理（例えば、図１３のステップＳ１６４，Ｓ１７０）により遷移元となる状態の位置が指定された場合、前記表示ステップの処理は、前記ポインタを前記操作ステップの処理により遷移元となる状態の位置が指定されたことを示すアイコンとして表示し（例えば、図１３のステップＳ１６９）、前記操作ステップの処理により遷移先となる状態の位置が指定された場合、前記表示ステップの処理は、前記記憶ステップの処理で記憶された遷移元となる状態から前記遷移先となる状態へのトランジションを表示し（例えば、図１３のステップＳ１７３）、前記更新ステップの処理は、前記トランジションの情報を付加することにより前記状態遷移情報（例えば、図６のステップＳ４６）を更新する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
前記操作ステップの処理（例えば、図１３のステップＳ１６４）により遷移元となる状態の位置が指定された場合、前記表示ステップの処理には、前記ポインタと、前記操作部により指定された遷移元となる状態の位置とを結ぶトランジションを表示させるようにすることができる。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００３０
【補正方法】変更
【補正の内容】
【００３０】
状態遷移図生成部１４は、ステート枠生成部４１、およびトランジション生成部４２から構成されており、ステートデータ格納部１３に格納されているステートデータを読み出し、状態遷移図を生成する。ステート枠生成部４１は、状態ごとに丸形または矩形などの枠（ステート枠）を生成すると共に、状態遷移エンジン１５より供給される今現在の状態の情報に基づいて、今現在の状態を示すステート枠内の表示色を変化させて表示する。トランジション生成部４２は、各状態における動作中に発生するイベントごとに遷移先を示す矢印を生成する。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００３５
【補正方法】変更
【補正の内容】
【００３５】
より詳細には、トランジション１４１は、「KeyPress_x」と示され、矢印が状態Ａから状態Ｄに向って表示されており、状態Ａの動作が実行されている場合、操作部１１の「ｘ」のキーが操作されるというイベントが発生すると、状態Ａから状態Ｄに遷移することを示している。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００８３
【補正方法】変更
【補正の内容】
【００８３】
ステップＳ６３において、スクリプト編集部３３は、スクリプトが更新されたか否かを判定する。例えば、操作部１１が操作されて、図示せぬエディタが起動され、対象となるスクリプトが更新された場合、スクリプトが更新されたと判定され、ステップＳ６４において、スクリプト編集部３３は、ステートデータ格納部１３にアクセスし、編集対象ステートのステート情報を読み出し、編集された情報に基づいて、スクリプトを変更して、ステート情報を更新する。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００８４
【補正方法】変更
【補正の内容】
【００８４】
ステップＳ６５において、スクリプト編集部３３は、ステート編集処理の終了が指示されたか否かを判定し、終了が指示されていない場合、その処理は、ステップＳ６１に戻る。また、スクリプト編集処理の終了が指示された場合、その処理は、終了する。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】０１１０
【補正方法】変更
【補正の内容】
【０１１０】
すなわち、図１１で示されるように、ポインタ１５０が、ステート枠１３４上に存在し、カレントステートとして設定されている場合、カレントステートである状態Ｄのステート枠１３４は、他のステート枠とは異なる色で表示され、動作表示画面１１１には、状態Ｄの動作状態（五重塔のようなもの）が表示されているものとする。このとき、ポインタ１５０を移動させて、図１２で示されるように、ステート枠１３３上に存在させると、状態Ｃがカレントステートとして設定されいるため、ステート枠１３３は他のステート枠とは表示色が異なっている。また、動作表示画面１１１には、カレントステートである状態Ｃにおける処理結果が再生されることが示されている。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】０１２１
【補正方法】変更
【補正の内容】
【０１２１】
一方、ステップＳ１７０において、クリックされたと判定された場合、ステップＳ１７１において、ポインタ１５０’’が、終点となるいずれかのステート枠内に存在するか否かを判定する。すなわち、ここでは、ステート枠１３１が始点となるステートとして指定されているので、ステート枠１３２の表示範囲内にポインタ１５０’’が存在するか否かが判定されることになる。ステップＳ１７１において、例えば、ポインタ１５０’’が、ステート枠内ではないと判定された場合、その処理は、ステップＳ１６８に戻る。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】０１２３
【補正方法】変更
【補正の内容】
【０１２３】
ステップＳ１７３において、トランジション編集用表示制御部５３は、クリックされた終点位置となるステート枠と、始点位置メモリ５３ｂに記憶されている位置に対応するステート枠とをトランジションを示す線分で結んで表示部１８に表示させる。すなわち、今の場合、トランジション編集用表示制御部５３は、例えば、図２１で示されるように、始点位置となるステート枠１３１とステート枠１３２とをトランジション１８１により結んで表示する。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】０１３６
【補正方法】変更
【補正の内容】
【０１３６】
【図１】本発明を適用した状態遷移プログラム編集装置の一実施の形態の構成を示す図である。
【図２】表示画面の構成例を示す図である。
【図３】ステートデータ格納部に格納されるステート情報のデータ構造を示す図である。
【図４】図１の状態遷移プログラム編集装置による状態遷移プログラム編集処理を説明するフローチャートである。
【図５】図１の状態遷移プログラム編集装置によるステート編集処理を説明するフローチャートである。
【図６】図１の状態遷移プログラム編集装置によるトランジション編集処理を説明するフローチャートである。
【図７】図１の状態遷移プログラム編集装置によるスクリプト編集処理を説明するフローチャートである。
【図８】図１の状態遷移プログラム編集装置による状態遷移プログラム実行処理を説明するフローチャートである。
【図９】図１の状態遷移プログラム編集装置による状態遷移図生成処理を説明するフローチャートである。
【図１０】図１の状態遷移プログラム編集装置による表示処理を説明するフローチャートである。
【図１１】表示処理により表示される表示例を示す図である。
【図１２】表示処理により表示される表示例を示す図である。
【図１３】図１の状態遷移プログラム編集装置によるトランジション編集用表示処理を説明するフローチャートである。
【図１４】図１の状態遷移プログラム編集装置によるトランジション編集用表示処理を説明する図である。
【図１５】図１の状態遷移プログラム編集装置によるトランジション編集用表示処理を説明する図である。
【図１６】図１の状態遷移プログラム編集装置によるトランジション編集用表示処理を説明する図である。
【図１７】図１の状態遷移プログラム編集装置によるトランジション編集用表示処理を説明する図である。
【図１８】図１の状態遷移プログラム編集装置によるトランジション編集用表示処理を説明する図である。
【図１９】図１の状態遷移プログラム編集装置によるトランジション編集用表示処理を説明する図である。
【図２０】図１の状態遷移プログラム編集装置によるトランジション編集用表示処理を説明する図である。
【図２１】図１の状態遷移プログラム編集装置によるトランジション編集用表示処理を説明する図である。
【図２２】図１の状態遷移プログラム編集装置によるトランジション編集用表示処理を説明する図である。
【図２３】パーソナルコンピュータの構成を説明する図である。
【手続補正１３】
【補正対象書類名】図面
【補正対象項目名】図７
【補正方法】変更
【補正の内容】
【図７】
2007128244.tif 000026