JP2007128244A - 情報処理方法および装置、記録媒体、並びにプログラム - Google Patents

情報処理方法および装置、記録媒体、並びにプログラム Download PDF

Info

Publication number
JP2007128244A
JP2007128244A JP2005319723A JP2005319723A JP2007128244A JP 2007128244 A JP2007128244 A JP 2007128244A JP 2005319723 A JP2005319723 A JP 2005319723A JP 2005319723 A JP2005319723 A JP 2005319723A JP 2007128244 A JP2007128244 A JP 2007128244A
Authority
JP
Japan
Prior art keywords
state
transition
information
display
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005319723A
Other languages
English (en)
Inventor
Yasuhiro Watanabe
泰弘 渡邊
Soichi Kono
宗一 河野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2005319723A priority Critical patent/JP2007128244A/ja
Priority to US11/592,021 priority patent/US7721072B2/en
Publication of JP2007128244A publication Critical patent/JP2007128244A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】トランジションを正確に編集できるようにする。
【解決手段】操作部11の操作内容により遷移元となる状態の位置が指定された場合、ポインタ表示制御部53aは、ポインタを前記操作ステップの処理により遷移元となる状態の位置が指定されたことを示すアイコンとして表示する。遷移先となる状態の位置が指定された場合、ポインタ表示制御部53aは、始点位置メモリ53bに記憶された遷移元となる状態から前記遷移先となる状態へのトランジションを表示し、トランジション編集部32は、トランジションの情報を付加することにより状態遷移情報を更新する。本発明の状態遷移プログラムの開発ソフトウェアプログラムに適用することができる。
【選択図】図1

Description

本発明は情報処理方法および装置、記録媒体、並びにプログラムに関し、特に、状態遷移図を用いたUI(User Interface)プログラムの開発効率を向上させるようにした情報処理方法および装置、記録媒体、並びにプログラムに関する。
アプリケーションソフトウェアプログラムの開発を支援する開発ツールが一般に普及しつつある。例えば、オブジェクト指向型のプログラムの開発を支援するものがある(例えば、特許文献1参照)。
また、UML(Unified Modeling Language)に代表される状態遷移図を用いたアプリケーションソフトウェアプログラムのUI(User Interface)の開発ツールも提案されている。
状態遷移図は、状態毎に実行されるべき動作が論理的に記述されるとともに、各状態において発生する所定のイベントにより他の状態に遷移する方向が示された図である。上述したアプリケーションソフトウェアプログラムのUIの開発ツールは、プログラムを状態遷移図として表示させると共に、その表示された状態遷移図そのものが操作されると、状態遷移図の操作内容をプログラムに反映させることで、プログラムを編集するものである。
特開平6−110767号公報
ところで、上述した状態遷移図の編集において、第1の状態で、所定のイベントが発生したとき、第2の状態に遷移することを示すため、第1の状態を示すステート枠から第2の状態を示すステート枠に向けて、トランジション(状態遷移線)を引くという編集をすることがある。
これまでの開発ツールでは、トランジションを引く際には始点となる状態のステート枠上にマウスなどを用いてポインタを移動させ、例えば、右ボタンまたは左ボタンのいずれかを押下することで始点となるステート枠の位置を設定し、終点となる状態のステート枠まで、そのボタンを押下させた状態を維持したままマウスを移動させることによりポインタを移動させて、所望とする状態のステート枠内でボタンの押下を開放することで、始点となるステート枠と終点となるステート枠とをトランジションで接続するようにしていた。
しかしながら、このような操作では、長いトランジションや、ウィンドウをスクロールさせながらトランジションを引く場合、マウスを移動させている間に、誤ってボタンの押下を開放してしまうようなミスが誘発しやすい状況であるため、ポインタを所望とする位置まで移動させていないままボタンの押下が開放されることがあり、結果として、所望とするトランジションを引くことができないことがあった。
また、上記の方法でなく、マウスを利用してポインタを移動させることにより、所望とする始点終点の位置で、例えば、右ボタンまたは左ボタンをクリックすることで指定し、それらを両端として線分を引くという機能も提案されているが、ただ始点と終点を設定するだけでは、現在始点を指定するためにポインタを移動させてマウスのボタンをクリックするのか、終点を指定するためにポインタを移動させてマウスのボタンをクリックするのか、混乱してしまうことがあり、さらに、複数のトランジションを一度に引くような場合、現在の状態をユーザの記憶に頼らなくてはならないことがあり、結果として、トランジションを引くのにミスを誘発してしまうことがあった。
本発明は、このような状況に鑑みてなされたものであり、特に、トランジションなどの状態遷移図上の線分を正確に引くことができるようにすることで、上述のようなミスを低減させ、結果として、プログラムの開発効率を向上させるものである。
本発明の一側面の情報処理方法は、それぞれの状態における動作、前記それぞれの状態における遷移時のイベント、および前記イベントによりどの他の前記状態に遷移するかを示す遷移方向の情報を含む状態遷移情報に基づいて、状態遷移図を生成する生成ステップと、前記生成ステップの処理により生成された状態遷移図を表示する表示ステップと、前記表示ステップの処理により表示された状態遷移図を操作する操作ステップと、前記操作ステップの処理により操作内容に応じて、前記状態遷移情報を更新する更新ステップと、前記操作ステップの処理により指定された遷移元となる状態の位置を記憶する記憶ステップとを含み、前記操作ステップの処理により遷移元となる状態の位置が指定された場合、前記表示ステップの処理は、前記ポインタを前記操作ステップの処理により遷移元となる状態の位置が指定されたことを示すアイコンとして表示し、前記操作ステップの処理により遷移先となる状態の位置が指定された場合、前記表示ステップの処理は、前記記憶ステップの処理で記憶された遷移元となる状態から前記遷移先となる状態へのトランジションを表示し、前記更新ステップの処理は、前記トランジションの情報を付加することにより前記状態遷移情報を更新する。
前記操作ステップの処理により遷移元となる状態の位置が指定された場合、前記表示ステップの処理には、前記ポインタと、前記操作部により指定された遷移元となる状態の位置とを結ぶトランジションを表示させるようにすることができる。
本発明の一側面の情報処理装置は、それぞれの状態における動作、前記それぞれの状態における遷移時のイベント、および前記イベントによりどの他の前記状態に遷移するかを示す遷移方向の情報を含む状態遷移情報に基づいて、状態遷移図を生成する生成手段と、前記生成手段により生成された状態遷移図を表示する表示手段と、前記表示手段により表示された状態遷移図を操作する操作手段と、前記操作手段により操作内容に応じて、前記状態遷移情報を更新する更新手段と、前記操作手段により指定された遷移元となる状態の位置を記憶する記憶手段とを含み、前記操作手段により遷移元となる状態の位置が指定された場合、前記表示手段は、前記ポインタを前記操作手段により遷移元となる状態の位置が指定されたことを示すアイコンとして表示し、前記操作手段により遷移先となる状態の位置が指定された場合、前記表示手段は、前記記憶手段で記憶された遷移元となる状態から前記遷移先となる状態へのトランジションを表示し、前記更新手段は、前記トランジションの情報を付加することにより前記状態遷移情報を更新する。
本発明の一側面の記録媒体は、それぞれの状態における動作、前記それぞれの状態における遷移時のイベント、および前記イベントによりどの他の前記状態に遷移するかを示す遷移方向の情報を含む状態遷移情報に基づいて、状態遷移図を生成する生成ステップと、前記生成ステップの処理により生成された状態遷移図を表示する表示ステップと、前記表示ステップの処理により表示された状態遷移図を操作する操作ステップと、前記操作ステップの処理により操作内容に応じて、前記状態遷移情報を更新する更新ステップと、前記操作ステップの処理により指定された遷移元となる状態の位置を記憶する記憶ステップとを含み、前記操作ステップの処理により遷移元となる状態の位置が指定された場合、前記表示ステップの処理は、前記ポインタを前記操作ステップの処理により遷移元となる状態の位置が指定されたことを示すアイコンとして表示し、前記操作ステップの処理により遷移先となる状態の位置が指定された場合、前記表示ステップの処理は、前記記憶ステップの処理で記憶された遷移元となる状態から前記遷移先となる状態へのトランジションを表示し、前記更新ステップの処理は、前記トランジションの情報を付加することにより前記状態遷移情報を更新する処理を含むコンピュータが読み取り可能なプログラムが記録されている。
本発明の一側面のプログラムは、それぞれの状態における動作、前記それぞれの状態における遷移時のイベント、および前記イベントによりどの他の前記状態に遷移するかを示す遷移方向の情報を含む状態遷移情報に基づいて、状態遷移図を生成する生成ステップと、前記生成ステップの処理により生成された状態遷移図を表示する表示ステップと、前記表示ステップの処理により表示された状態遷移図を操作する操作ステップと、前記操作ステップの処理により操作内容に応じて、前記状態遷移情報を更新する更新ステップと、前記操作ステップの処理により指定された遷移元となる状態の位置を記憶する記憶ステップとを含む処理をコンピュータに実行させ、前記操作ステップの処理により遷移元となる状態の位置が指定された場合、前記表示ステップの処理は、前記ポインタを前記操作ステップの処理により遷移元となる状態の位置が指定されたことを示すアイコンとして表示し、前記操作ステップの処理により遷移先となる状態の位置が指定された場合、前記表示ステップの処理は、前記記憶ステップの処理で記憶された遷移元となる状態から前記遷移先となる状態へのトランジションを表示し、前記更新ステップの処理は、前記トランジションの情報を付加することにより前記状態遷移情報を更新する。
本発明の一側面においては、それぞれの状態における動作、前記それぞれの状態における遷移時のイベント、および前記イベントによりどの他の前記状態に遷移するかを示す遷移方向の情報を含む状態遷移情報に基づいて、状態遷移図が生成され、生成された状態遷移図が表示され、表示された状態遷移図が操作され、操作内容に応じて、前記状態遷移情報が更新され、指定された遷移元となる状態の位置が記憶され、遷移元となる状態の位置が指定された場合、前記ポインタが遷移元となる状態の位置が指定されたことを示すアイコンとして表示され、遷移先となる状態の位置が指定された場合、記憶された遷移元となる状態から前記遷移先となる状態へのトランジションが表示され、前記トランジションの情報が付加されることにより前記状態遷移情報が更新される。
情報処理装置は、独立した装置であっても良いし、情報処理装置の情報処理を行うブロックであっても良い。
以上のように、本発明の一側面によれば、トランジションなどの状態遷移図上の線分を正確に引くことことができ、UIのプログラムの開発の効率を向上させることが可能となる。
以下に本発明の実施の形態を説明するが、本発明の構成要件と、発明の詳細な説明に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、発明の詳細な説明に記載されていることを確認するためのものである。従って、発明の詳細な説明中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
すなわち、本発明の一側面の情報処理方法およびプログラムは、それぞれの状態における動作、前記それぞれの状態における遷移時のイベント、および前記イベントによりどの他の前記状態に遷移するかを示す遷移方向の情報を含む状態遷移情報に基づいて、状態遷移図を生成する生成ステップ(例えば、図9のステップS121乃至S123)と、前記生成ステップの処理により生成された状態遷移図を表示する表示ステップ(例えば、図13のステップS169,S173)と、前記表示ステップの処理により表示された状態遷移図を操作する操作ステップ(例えば、図4のステップS164,S170)と、前記操作ステップの処理により操作内容に応じて、前記状態遷移情報を更新する更新ステップ(例えば、図6のステップS46)と、前記操作ステップの処理により指定された遷移元となる状態の位置を記憶する記憶ステップ(例えば、図13のステップS167)とを含み、前記操作ステップの処理(例えば、図13のステップS164,S170)により遷移元となる状態の位置が指定された場合、前記表示ステップの処理は、前記ポインタを前記操作ステップの処理により遷移元となる状態の位置が指定されたことを示すアイコンとして表示し(例えば、図13のステップS169)、前記操作ステップの処理により遷移先となる状態の位置が指定された場合、前記表示ステップの処理は、前記記憶ステップの処理で記憶された遷移元となる状態から前記遷移先となる状態へのトランジションを表示し(例えば、図13のステップS173)、前記更新ステップの処理は、前記トランジションの情報を付加することにより前記状態遷移情報(例えば、図6のステップS46)を更新する。
前記操作ステップの処理(例えば、図13のステップS169)により遷移元となる状態の位置が指定された場合、前記表示ステップの処理には、前記ポインタと、前記操作部により指定された遷移元となる状態の位置とを結ぶトランジションを表示させるようにすることができる。
本発明の一側面の情報処理装置は、それぞれの状態における動作、前記それぞれの状態における遷移時のイベント、および前記イベントによりどの他の前記状態に遷移するかを示す遷移方向の情報を含む状態遷移情報に基づいて、状態遷移図を生成する生成手段(例えば、図1の状態遷移図生成部14)と、前記生成手段により生成された状態遷移図を表示する表示手段(例えば、図1の表示部18)と、前記表示手段により表示された状態遷移図を操作する操作手段(例えば、図1の操作部11)と、前記操作手段により操作内容に応じて、前記状態遷移情報を更新する更新手段(例えば、図1の編集部12)と、前記操作手段により指定された遷移元となる状態の位置を記憶する記憶手段(例えば、図1の始点位置メモリ53b)とを含み、前記操作手段により遷移元となる状態の位置が指定された場合、前記表示手段(例えば、図1の表示部18)は、前記ポインタを前記操作手段により遷移元となる状態の位置が指定されたことを示すアイコンとして表示し、前記操作手段により遷移先となる状態の位置が指定された場合、前記表示手段(例えば、図1の表示部18)は、前記記憶手段で記憶された遷移元となる状態から前記遷移先となる状態へのトランジションを表示し、前記更新手段は、前記トランジションの情報を付加することにより前記状態遷移情報を更新(例えば、図1の編集部12)する。
このように、始点となるステートと終点となるステートとを結びトランジションを編集する際、始点となるステートからドラッグしたまま終点となるステートまで操作部11を操作させるといった操作を特に必要とすることなく、始点となるステートを認識できるようにすることで、正確、かつ、容易にトランジションを編集することが可能となるので、UIプログラムの開発効率を向上させるようにすることができる。
図1は、本発明を適用した状態遷移プログラム編集装置1の一実施の形態の構成を示す図である。
状態遷移プログラム編集装置1は、アプリケーションソフトウェアプログラムにおけるUIのプログラムの開発を目的とした編集装置であり、各状態における動作、それぞれの状態における遷移時のイベント、およびイベント毎にどの他の状態に遷移するかを示す遷移方向の情報を含む状態遷移情報(ステートデータ)に基づいて、状態遷移図を生成すると共に、生成した状態遷移図を表示する。さらに、状態遷移プログラム編集装置1は、表示した状態遷移図が操作されることにより変更されると、変更された状態遷移図に対応して、状態遷移情報を更新する。
操作部11は、マウスやキーボードなどから構成されており、状態遷移プログラム編集装置1を操作するユーザによる操作に対応する信号を発生して編集部12に供給する。
編集部12は、ステート編集部31、トランジション編集部32、およびスクリプト編集部33より構成されており、操作部11より供給されてくる信号に基づいて、状態遷移情報(ステートデータ)を編集する。ステートデータは、各状態(ステート)毎に動作を示す情報(スクリプト情報)およびイベントに応じて遷移する状態の遷移先の情報(トランジション情報)が記述されている。
ステート編集部31は、状態(ステート)の新規生成、および表示位置や大きさなどの情報を編集し、編集結果をステートデータ格納部13に格納させる。トランジション編集部32は、各状態における動作が実行されている間に発生するイベントに応じて、遷移する遷移先となる状態の情報を編集し、ステートデータ格納部13に格納させる。スクリプト編集部33は、各状態における動作内容を編集し、ステートデータ格納部13に格納させる。
ステートデータ格納部13は、各状態(ステート)ごとに編集部12によりトランジション情報やスクリプト情報が編集されたステートデータを格納し、必要に応じて状態遷移図生成部14および状態遷移エンジン15に供給する。
状態遷移図生成部14は、ステート枠生成部41、およびトランジション生成部42から構成されており、ステートデータ格納部13に格納されているステートデータを読み出し、状態遷移図を生成する。ステート枠生成部41は、状態ごとに丸形または矩形などの枠(ステート枠)を生成すると共に、状態遷移エンジン15より供給される今現在の状態の情報に基づいて、今現在の状態を示すステート枠内の表示色を変化させて表示する。トランジション42は、各状態における動作中に発生するイベントごとに遷移先を示す矢印を生成する。
状態遷移エンジン15は、ステートデータ格納部13に格納されているステートデータを読み出すと共に、イベント検出部19より供給されるイベントの情報に基づいて、今現在のステートを検索し、検索結果である今現在のステートを示す情報を状態遷移図生成部14および状態動作実行部16に供給する。
状態動作実行部16は、状態遷移エンジン15より供給される今現在の状態のステートデータに基づいて、現在の状態の動作を実行し、実行結果を表示制御部17に供給する。
表示制御部17は、状態遷移図表示制御部51、状態動作表示制御部52、およびトランジション編集用表示制御部53より構成され、表示部18に表示する表示画面を生成して表示させる。
状態遷移図表示制御部51は、状態遷移図生成部14より供給されてくる状態遷移図の情報に基づいて、例えば、図2の状態遷移図表示画面112および編集用操作ボタン表示画面113を生成し、表示を制御する。図2においては、状態A(State A:ステートA)を示すステート枠131、状態B(State B:ステートB)を示すステート枠132、状態C(State C:ステートC)を示すステート枠133、および、状態D(State D:ステートD)を示すステート枠134が示されており、それぞれが、トランジション141乃至148で結ばれている。トランジション141乃至148は、それぞれ状態間を遷移する方向とイベントを示している。
より詳細には、トランジション141は、「KeyPress_x」と示され、矢印が状態Aから状態Dに向って表示されており、状態Aの動作が実行されている場合、操作部11の「x」のキーが操作されるというイベントが発生すると、状態Aから状態Bに遷移することを示している。
同様に、トランジション142は、「KeyPress_2」と示され、矢印が状態Aから状態Bに向って表示されており、状態Aの動作が実行されている場合、操作部11の「2」のキーが操作されるというイベントが発生すると、状態Aから状態Bに遷移することを示している。
また、トランジション143は、「KeyPress_3」と示され、矢印が状態Bから状態Aに向って表示されており、状態Bの動作が実行されている場合、操作部11の「3」のキーが操作されるというイベントが発生すると、状態Bから状態Aに遷移することを示している。
さらに、トランジション144は、「KeyPress_b」と示され、矢印が状態Bから状態Cに向って表示されており、状態Bの動作が実行されている場合、操作部11の「b」のキーが操作されるというイベントが発生すると、状態Bから状態Cに遷移することを示している。
また、トランジション145は、「KeyPress_a」と示され、矢印が状態Cから状態Bに向って表示されており、状態Cの動作が実行されている場合、操作部11の「a」のキーが操作されるというイベントが発生すると、状態Cから状態Bに遷移することを示している。
さらに、トランジション146は、「KeyPress_1」と示され、矢印が状態Cから状態Dに向って表示されており、状態Cの動作が実行されている場合、操作部11の「1」のキーが操作されるというイベントが発生すると、状態Cから状態Dに遷移することを示している。
また、トランジション147は、「KeyPress_0」と示され、矢印が状態Dから状態Cに向って表示されており、状態Dの動作が実行されている場合、操作部11の「0」のキーが操作されるというイベントが発生すると、状態Dから状態Cに遷移することを示している。
さらに、トランジション148は、「KeyPress_z」と示され、矢印が状態Dから状態Aに向って表示されており、状態Dの動作が実行されている場合、操作部11の「z」のキーが操作されるというイベントが発生すると、状態Dから状態Aに遷移することを示している。
尚、図2においては、表示部18で表示される表示画面101が示されている。表示画面101には、動作表示画面111、および状態遷移図表示画面112が設けられている。
状態動作表示制御部52は、状態動作実行部16より供給される、カレントステートの状態動作の実行結果に基づいて、例えば、図2で示されるような動作表示画面111を生成し、表示を制御する。尚、図2においては、カレントステートが設定されておらず、実行されるものがないので、動作表示画面111は、黒の画面(無地の画面)となっている。
トランジション編集用表示制御部53は、状態遷移図表示制御部51により表示部18に表示されている状態遷移図が、操作部11が操作されることによりトランジションが編集されるとき、操作部11により操作されるポインタ、トランジション、およびステート枠の表示を制御する。より詳細には、トランジション編集用表示制御部53は、トランジション編集部32により編集されたステートデータ格納部13に格納されているステートデータに基づいたトランジションの表示を制御するのではなく、状態遷移図生成部14より供給され、状態遷移図表示制御部51により表示部18に表示するために生成された状態遷移図におけるトランジションの表示を制御するものである。したがって、ステートデータ格納部13に格納されるべき、ステートデータとして更新される前の編集途中の状態遷移図上のポインタ、トランジション、およびステート枠の表示を制御するものである。
トランジション編集用表示制御部53は、ポインタ表示制御部53a、始点位置メモリ53b、および、ステート枠表示制御部53cを含んでいる。ポインタ表示制御部53aは、トランジションを編集する際のポインタの表示を制御する。始点位置メモリ53bは、操作部11の操作内容に応じて、トランジションの始点位置として設定されるステート枠と、その位置を記憶する。ステート枠表示制御部53cは、トランジションを編集する際のステート枠の表示を制御する。
表示部18は、CRT(Cathode Ray Tube)またはLCD(Liquid Crystal Display)などから構成され、表示制御部17により生成された画面を表示する。
イベント検出部19は、操作部11の操作内容に応じたイベントを検出し、検出したイベントを状態遷移エンジン15に供給する。また、イベント検出部19は、操作部11の操作内容に応じたイベントに限らず、例えば、図示せぬバッテリ残量が所定値より小さくなったといったイベントなどの操作部11の操作とは無関係なイベントも検出する。
次に、図3を参照して、ステートデータ格納部13に格納されるステート情報について説明する。
ステート情報は、例えば、図2の状態遷移図表示画面112で示されるような状態遷移図が構成されるような場合、図3で示されるような形式で、状態A乃至Dごとにステートデータ格納部13に格納されている。図3においては、左から状態A乃至Dの順にステート情報のデータ構造が示されている。
各ステート(状態)には、トランジション情報として、各イベントと対応する遷移先となる状態の情報が記録される領域が確保されている。また、各状態におけるスクリプトが記録される領域が確保されている。
すなわち、図3の状態A(State A)においては、トランジション情報として、イベント欄には「KeyPress_2」および「KeyPress_x」が記録され、対応する遷移先として、それぞれ「State B」および「State D」と記録されている。すなわち、このトランジション情報は、図2のトランジション142,141にそれぞれ対応する情報として記録されている。また、状態Aの場合、トランジション情報の下には、スクリプト情報として、「スクリプトA」が記録されている。
さらに、状態B(State B)においては、トランジション情報として、イベント欄には「KeyPress_3」および「KeyPress_b」が記録され、対応する遷移先として、それぞれ「State A」および「State C」と記録されている。すなわち、このトランジション情報は、図2のトランジション143,144にそれぞれ対応する情報として記録されている。また、状態Bの場合、トランジション情報の下には、スクリプト情報として、「スクリプトB」が記録されている。
さらに、状態C(State C)においては、トランジション情報として、イベント欄には「KeyPress_a」および「KeyPress_1」が記録され、対応する遷移先として、それぞれ「State B」および「State D」と記録されている。すなわち、このトランジション情報は、図2のトランジション145,146にそれぞれ対応する情報として記録されている。また、状態Cの場合、トランジション情報の下には、スクリプト情報として、「スクリプトC」が記録されている。
さらに、状態D(State D)においては、トランジション情報として、イベント欄には「KeyPress_z」および「KeyPress_0」が記録され、対応する遷移先として、それぞれ「State A」および「State C」と記録されている。すなわち、このトランジション情報は、図2のトランジション148,147にそれぞれ対応する情報として記録されている。また、状態Dの場合、トランジション情報の下には、スクリプト情報として、「スクリプトD」が記録されている。
次に、図4のフローチャートを参照して、編集部12による状態遷移プログラム編集処理について説明する。
ステップS1において、ステート編集部31は、操作部11より供給されてくる信号に基づいて、ステート編集が指示されたか否かを判定する。ステップS1において、例えば、ステート編集処理が指示されたと判定された場合、ステップS2において、ステート編集部31は、ステート編集処理を実行し、その処理は、元に戻る。尚、ステート編集処理については、図5を参照して後述する。
ステップS1において、例えば、ステート編集処理が指示されていないと判定された場合、ステップS3において、トランジション編集部32は、操作部11より供給されてくる信号に基づいて、トランジション編集が指示されたか否かを判定する。ステップS3において、例えば、トランジション編集処理が指示されたと判定された場合、ステップS4において、トランジション編集部32は、トランジション編集処理を実行し、その処理は、元に戻る。尚、トランジション編集処理については、図6を参照して後述する。
ステップS3において、例えば、トランジション編集処理が指示されていないと判定された場合、ステップS5において、スクリプト編集部33は、操作部11より供給されてくる信号に基づいて、スクリプト編集が指示されたか否かを判定する。ステップS5において、例えば、スクリプト編集処理が指示されたと判定された場合、ステップS6において、スクリプト編集部33は、スクリプト編集処理を実行し、その処理は、元に戻る。尚、スクリプト編集処理については、図7を参照して後述する。
以上の処理により、ステートデータが更新されることになるので、対応する状態遷移プログラムが更新される。
次に、図5のフローチャートを参照して、ステート編集処理について説明する。
ステップS21において、ステート編集部31は、操作部11からの信号に基づいて、新規のステート(状態)を生成する処理であるか否かを判定する。例えば、図2の表示画面101上の図示せぬボタンが操作され、新規のステートを生成する処理が指示された場合、ステップS22において、ステート編集部31は、新規のステートを生成する。すなわち、ステート編集部31は、新たな状態に対応するステート情報をステートデータ格納部13に記録する。
ステップS23において、ステート編集部31は、新規に生成されたステートを編集対象ステートに設定する。
ステップS24において、ステート編集部31は、編集対象ステートのステート情報に更新があるか否かを判定する。ここで更新の有無が判定されるのは、ステート情報のうちステート名や対応するステート枠の表示位置などの情報である。すなわち、ステート編集部31が編集するのは、ステート情報のうち、ステート名およびステート枠の表示位置の情報である。
ステップS24において、ステート情報のうち、ステート名およびステート枠の表示位置の情報に更新があると判定された場合、ステップS25において、ステート編集部31は、更新された、ステート名およびステート枠の表示位置の情報を編集対象ステートのステート情報に反映させて更新する。
一方、ステップS24において、更新がないと判定された場合、ステップS25の処理は、スキップされる。
ステップS26において、ステート編集処理の終了が指示されたか否かを判定し、終了が指示されない場合、その処理は、ステップS24に戻り、終了が指示されたと判定された場合、ステート編集処理は終了する。
また、ステップS21において、新規のステートの生成ではないと判定された場合、ステップS27において、既存のステートが選択されたか否かが判定される。すなわち、図10を参照して後述する表示処理により表示される、例えば、図2で示されるような状態遷移図表示画面112上に表示された既存のステート枠131乃至134のいずれかがポインタ150が操作部111により操作されて選択されたか否かにより、対応するステートA乃至Dのステートデータ格納部13により格納されているステート情報のいずれかが選択されたか否かが判定される。例えば、既存のステートのステート情報が選択された場合、ステップS28において、ステート編集部31は、選択されたステートを編集対象ステートに設定し、その処理は、ステップS24に進む。
一方、ステップS27において、既存のステートが選択されたと判定されなかった場合、その処理は、ステップS21に戻り、それ以降の処理が繰り返される。
すなわち、以上の処理により、新規のステート、または、既存のステートの何れかのステート情報について、ステート名およびステート枠の表示位置が、新たに設定されるか、または、更新されることになる。
次に、図6のフローチャートを参照して、トランジション編集処理について説明する。
ステップS41において、トランジション編集部32は、既存のステートが選択されたか否かを判定し、選択されるまで、その処理を繰り返す。すなわち、図10を参照して後述する表示処理により表示される、例えば、図2で示されるような状態遷移図表示画面112上に表示された既存のステート枠131乃至134のいずれかがポインタ150が操作部111により操作されて選択されたか否かにより、対応するステートA乃至Dのステートデータ格納部13により格納されているステート情報のいずれかが選択されたか否かが判定される。そして、ステップS41において、例えば、既存のステートのステート情報が選択された場合、ステップS42において、トランジション編集部32は、選択されたステートを編集対象ステートに設定し、その処理は、ステップS43に進む。
ステップS43において、トランジション編集部32は、編集対象ステートのステート情報のうち、遷移先が指定されたか否かを判定する。すなわち、例えば、図13のフローチャートを参照して後述するトランジション編集用表示処理により、図2の状態遷移図表示画面112で示されるように、ステート枠131乃至134で示される状態A乃至Dのうち、例えば、状態遷移の始点として状態Aが選択され、編集対象ステートに設定された場合、終点として状態Dのステート枠134が設定されることにより、トランジション141で示されるような矢印を引かれることになる。
そこで、ステップS43においては、トランジション編集部32は、このようにトランジションの矢印が編集対象ステートの状態を示すステート枠から遷移先を示す状態のステート枠までの矢印が引かれたか否かにより、遷移先が設定されたか否かを判定する。
ステップS43において、遷移先が設定されたと判定された場合、ステップS44において、トランジション編集部32は、イベントを指定するように要求する。より具体的には、例えば、遷移先を指定する処理として、図2のトランジション141がポインタ150により引かれた場合、トランジション編集部32は、トランジションの横にイベントを指定する図示せぬ空欄を表示し、入力を促す。
ステップS45において、トランジション編集部32は、遷移する際のイベントが指定されたか否かを判定し、指定されたと判定されるまで、その処理を繰り返す。すなわち、トランジション編集部32は、その空欄にイベントを指定する情報が入力されたか否かを判定し、イベントが指定されたか否かを判定する。
ステップS45において、イベントが指定されたと判定された場合、ステップS46において、トランジション編集部32は、ステートデータ格納部13にアクセスし、編集対象ステートのステート情報を読み出し、指定された遷移先とイベントの情報を反映させて更新する。すなわち、例えば、図2のトランジション141の場合、遷移先として「State D」が指定され、イベントとして、「KeyPress_x」が指定されるので、図3の左部で示されるように、遷移先とイベントに「State D」、および、「KeyPress_x」を追加して更新する。
ステップS43において、遷移先が指定されていない場合、ステップS44乃至S46の処理がスキップされ、ステップS47において、トランジション編集処理の終了が指示されたか否かを判定し、終了が指示されない場合、処理は、ステップS43に戻る。すなわち、トランジション編集処理の終了が指示されるまで、ステップS43乃至S47の処理が繰り返される。
そして、ステップS47において、トランジション編集処理の終了が指示された場合、その処理は終了する。
以上の処理により、ポインタ150を操作部111により操作することで、トランジションの情報を編集することが可能となる。
次に、図7のフローチャートを参照して、スクリプト編集処理について説明する。
ステップS61において、スクリプト編集部33は、既存のステートが選択されたか否かを判定し、選択されるまで、その処理を繰り返す。すなわち、図10を参照して後述する表示処理により表示される、例えば、図2で示されるような状態遷移図表示画面112上に表示された既存のステート枠131乃至134のいずれかがポインタ150が操作部111により操作されて選択されたか否かにより、対応するステートA乃至Dのステートデータ格納部13により格納されているステート情報のいずれかが選択されたか否かが判定される。そして、ステップS61において、例えば、既存のステートのステート情報が選択された場合、ステップS62において、スクリプト編集部33は、選択されたステートを編集対象ステートに設定し、その処理は、ステップS63に進む。
ステップS63において、スクリプト編集部33は、スクリプトが更新されたか否かを判定する。例えば、操作部11が操作されて、図示せぬエディタが起動され、対象となるスクリプトが更新された場合、スクリプトが更新されたと判定され、ステップS64において、スクリプト編集部33は、ステートデータ13にアクセスし、編集対象ステートのステート情報を読み出し、スクリプト表示画面115上で編集された情報に基づいて、スクリプトを変更して、ステート情報を更新する。
ステップS65において、ステート編集部33は、ステート編集処理の終了が指示されたか否かを判定し、終了が指示されていない場合、その処理は、ステップS61に戻る。また、ステート編集処理の終了が指示された場合、その処理は、終了する。
以上の処理により、スクリプトが編集される。
次に、図8のフローチャートを参照して、状態遷移プログラム実行処理について説明する。
ステップS91において、状態遷移エンジン15は、操作部11より送信されてくる操作信号に基づいて、状態遷移図表示画面112上のいずれかのステートが選択されたか否かを判定し、選択されるまで、その処理を繰り返す。より詳細には、状態遷移エンジン15は、操作部11より供給されてくる信号に基づいて、例えば、図2の状態遷移図表示画面112上のステート枠131乃至134のいずれかが、ポインタ150により選択されたか否かを判定し、いずれかのステートが選択されるまで、その処理を繰り返す。
ステップS91において、例えば、いずれかのステートが選択された場合、ステップS92において、状態遷移エンジン15は、選択されたステートをカレントステートとして設定する。すなわち、状態遷移エンジン15は、操作部11からの信号に基づいて、例えば、図2の状態遷移図表示画面112上のステート枠131乃至134のうち、ポインタ150により選択されたステート枠に対応するステートをカレントステートに設定する。また、このとき、状態遷移エンジン15は、カレントステートがいずれのステートであるかを示す情報を状態遷移図生成部14に供給する。この情報により、図9のフローチャートを参照して、後述する状態遷移図生成処理においてカレントステートのステート枠の表示色を変えて表示させる。
ステップS93において、状態遷移エンジン15は、ステートデータ格納部13にアクセスし、カレントステートのステート情報を読み出し、状態動作実行部16に供給する。
ステップS94において、状態動作実行部16は、供給されたカレントステートのステート情報を解釈する。すなわち、状態動作実行部16は、供給されたカレントステートのステート情報のうち、特に、スクリプト情報を読み出して、その状態における動作を認識する。
ステップS95において、状態動作実行部16は、スクリプト情報に記述されている処理を実行する。
ステップS96において、状態動作実行部16は、状態遷移処理の終了が指示されたか否かを判定する。すなわち、状態動作実行部16は、操作部11からの信号に基づいて、状態遷移処理の終了が指示されたか否かを判定し、終了が指示されていない場合、その処理は、ステップS97に進む。
ステップS97において、状態遷移エンジン15は、イベントが発生したか否かを判定する。すなわち、状態遷移エンジン15は、イベント検出部19により検出されたイベントの情報が供給されてきたか否かを判定し、イベントがない場合、その処理は、ステップS95に戻り、以降の処理が繰り返される。すなわち、イベントが検出されるまで、ステップS95乃至S97の処理が繰り返される。一方、ステップS97において、イベントがあると判定された場合、その処理は、ステップS98に進む。
ステップS98において、状態遷移エンジン15は、供給されてきたイベントの情報により遷移先が設定されているか否かを判定する。すなわち、ステート情報が、図3で示されるものであって、現在の状態がステートAであった場合、例えば、イベントとして、操作部11のキーボードのうち「A」のキーが操作されるというイベントが発生したとしても、遷移先が設定されていないことになる。このため、このような場合、その処理は、ステップS95に戻る。すなわち、実質的に、イベントの発生がなかったものとして処理される。
一方、ステップS98において、遷移先があると判定された場合、すなわち、ステート情報が、図3で示されるものであって、現在の状態がステートAであった場合、例えば、イベントとして、操作部11のキーボードのうち「2」のキーが操作されるというイベントが発生すると、遷移先Bに設定されている。そこで、ステップS99において、状態遷移エンジン15は、遷移先のステートをカレントステートに設定し、その処理は、ステップS93に戻り、それ以降の処理が繰り返される。すなわち、この処理により、新たな遷移先となるステートBをカレントステートに設定し、ステップS93以降の処理が繰り返される。
以上の処理により、状態遷移エンジン15が、イベント検出部19より供給されてくるイベントの情報により状態遷移図に従って状態を変化させると共に、対応する状態のステート情報を読み出して、状態動作実行部16に供給することが可能となる。また、状態動作実行部16は、ユーザの操作に基づいて設定されている状態を変化させると共に、対応する状態においてスクリプトで規定される動作を実行することが可能となる、
次に、図9のフローチャートを参照して、状態遷移図生成処理について説明する。
ステップS121において、状態遷移図生成部14は、ステートデータ格納部13にアクセスし、格納されている全ステートデータを読み出す。
ステップS122において、ステート枠生成部41は、全てのステート情報毎に状態遷移図上のステート枠を生成する。
ステップS123において、トランジション生成部42は、ステート情報のうち、イベントと対応する遷移先の情報に基づいて、トランジションを生成する。
ステップS124において、状態遷移図生成部14は、ステート枠生成部41により生成されたステート枠、および、トランジション生成部42により生成されたトランジションに基づいて、状態遷移図を構成する情報を生成し、表示制御部17に供給する。
以上の処理により、ステートデータ格納部13に格納されているステート情報に基づいて、状態遷移図が生成され、表示制御部17に供給することが可能となる。
次に、図10のフローチャートを参照して、表示処理について説明する。
ステップS141において、状態遷移図表示制御部51は、状態遷移図生成部14より供給されてくる状態遷移図の情報に基づいて、状態遷移図表示画面112を表示する。
ステップS142において、状態動作表示制御部52は、状態遷移図生成部14より供給される情報に基づいて、カレントステートが指定されているか否かを判定する。ステップS142において、例えば、カレントステートが指定されていると判定された場合、ステップS143において、状態動作表示制御部52は、カレントステートとして設定されている、状態動作実行部16により実行されている動作内容に基づいて動作表示画面111を表示する。
ステップS142において、カレントステートが指定されていない場合、ステップS143の処理は、スキップされる。
ステップS144において、トランジション編集表示制御部53は、操作部11より供給されてくる操作内容に応じて、トランジションの編集が指示されているか否かを判定する。ステップS144において、例えば、トランジションの編集が指示されていると判定された場合、ステップ145において、トランジション編集表示制御部53は、トランジション編集表示処理を開始させ、その処理は、ステップS141に戻る。また、ステップS144において、トランジションの編集が指示されていないと判定された場合、ステップS145の処理は、スキップされる。
以上の処理により、図2で示されるような、動作表示画面111、および状態遷移図表示画面112からなる表示画面101が表示部18に表示される。尚、トランジション編集表示処理については、図13のフローチャートを参照して、詳細を後述する。
結果として、図4の状態遷移プログラム編集処理、図5のステート編集処理、図6のトランジション編集処理、図7のスクリプト編集処理、図8の状態遷移プログラム実行処理、図9の状態遷移図生成処理、図10の表示処理により以下のような動作が実現される。
すなわち、図11で示されるように、ポインタ150が、ステート枠134上に存在し、カレントステートとして設定されている場合、カレントステートである状態Cのステート枠134は、他のステート枠とは異なる色で表示され、動作表示画面111には、状態Cの動作状態(五重塔のようなもの)が表示されているものとする。このとき、ポインタ150を移動させて、図12で示されるように、ステート枠133上に存在させると、状態Cがカレントステートとして設定されいるため、ステート枠133は他のステート枠とは表示色が異なっている。また、動作表示画面111には、カレントステートである状態Cにおける処理結果が再生されることが示されている。
次に、図13のフローチャートを参照して、トランジション編集用表示処理について説明する。
ステップS161において、トランジション編集用表示制御部53は、トランジションの編集の開始が指示されたか否かを判定し、開始が指示されたと判定されるまで、その処理を繰り返す。ステップS161において、例えば、図10のフローチャートを参照して説明した表示処理におけるステップS144の処理により、トランジションの編集が指示されることにより、開始が指示されたと判定される。
ここでは、例えば、図14で示されるように、状態遷移図表示画面112には、ステート枠131,132のみが存在している状態について説明していくものとする。ステップS161において、例えば、上述した図10のフローチャートにおけるステップS144の処理により、図15で示されるように、編集用操ボタン表示画面113上のトランジションの編集を指示するボタン113aがポインタ150により操作される場合、トランジションの編集の開始が指示されたものと判定され、その処理は、ステップS162に進む。
ステップS162において、トランジション編集用表示制御部53は、操作部11からの操作内容に対応した操作信号に基づいて、現在のポインタ150が状態遷移図表示画面112上に存在するか否かを判定する。例えば、ポインタ150が、状態遷移図表示画面112上に存在する場合、ステップS163において、ポインタ表示制御部53aは、ポインタ150の表示を始点用のアイコンに切り替える。すなわち、ポインタ表示制御部53aは、例えば、図16のポインタ150’で示されるようにトランジションの始点を決定する状態であることを示すように「From」が付加された左斜め上に頂角を持つ直角二等辺三角形状のアイコンに切り替える。
ステップS164において、トランジション編集用表示制御部53は、操作部11からの操作信号に基づいて、操作部11がクリックされたか(または、それに相当する操作がなされたか)否かを判定する。例えば、ステップS164において、クリックされていないと判定された場合、その処理は、ステップS162の処理に戻る。また、ステップS162において、ポインタ150が状態遷移図表示画面112上ではない場合、ポインタを通常の表示に変える(通常の表示ままであれば、そのまま維持する)。
一方、例えば、ステップS164において、クリックされたと判定された場合、ステップS165において、ポインタ150’がいずれかのステート枠内に存在するか否かを判定する。すなわち、ここでは、ステート枠は、ステート枠131,132のいずれかのみであるので、そのいずれかの表示範囲内にポインタ150’が存在するか否かが判定されることになる。ステップS165において、例えば、ポインタ150’が、ステート枠内ではないと判定された場合、その処理は、ステップS162に戻る。
一方、ステップS165において、ポインタ150’が、例えば、図17で示されるように、ステート枠131内に存在した場合、ポインタ150’は、ステート枠内にあると判定され、その処理は、ステップS167に進む。
ステップS167において、トランジション編集用表示制御部53は、始点位置メモリ53bを制御して、ポインタ150’が存在するステート枠の位置を記憶させる。すなわち、ポインタ150’がステート枠内に移動された状態で、かつ、クリックされた場合、トランジションの始点となるステートが設定されることになる。
ステップS168において、トランジション編集用表示制御部53は、操作部11から供給されてくる操作内容に対応した操作信号に基づいて、現在のポインタ150’が状態遷移図表示画面112上に存在するか否かを判定する。例えば、ポインタ150’が、状態遷移図表示画面112上に存在する場合、ステップS169において、ポインタ表示制御部53aは、ポインタを終点用のアイコンに切り替える。すなわち、ポインタ表示制御部53aは、例えば、図18のポインタ150’’で示されるようにトランジションの終点を決定する状態にあることを示すように「To」が付加された左斜め上に頂角を持つ直角二等辺三角形状のアイコンに切り替え、さらに、ポインタ150’’がステート枠131外の範囲に移動されるとき、図19で示されるように、仮トランジション171を始点となるステート枠131とポインタ150’’との間に表示させる。さらに、ステート枠表示制御部53cは、始点となるステート枠131の表示色を変えて、例えば、図18または図19で示されるように、ステート枠131’として表示する。
ステップS170において、トランジション編集用表示制御部53は、操作部11からの操作信号に基づいて、操作部11がクリックされたか(または、それに相当する操作がなされたか)否かを判定する。例えば、ステップS170において、クリックされていないと判定された場合、その処理は、ステップS168の処理に戻る。また、ステップS168において、ポインタ150’が状態遷移図表示画面112上ではない場合、ポインタを通常のアイコン(例えば、図2のポインタ150)に変える。
一方、ステップS170において、クリックされたと判定された場合、ステップS170において、ポインタ150’’が、終点となるいずれかのステート枠内に存在するか否かを判定する。すなわち、ここでは、ステート枠131が始点となるステートとして指定されているので、ステート枠132の表示範囲内にポインタ150’’が存在するか否かが判定されることになる。ステップS171において、例えば、ポインタ150’’が、ステート枠内ではないと判定された場合、その処理は、ステップS168に戻る。
ステップS171において、ポインタ150’’が、例えば、図20で示されるように、ステート枠132内に存在した場合、ポインタ150’’は、ステート枠内にあると判定され、その処理は、ステップS173に進む。
ステップS173において、トランジション編集用表示制御部53は、クリックされた終点位置となるステート枠と、始点位置メモリ53bに記憶されている位置に対応するステート枠とをトランジションを示す線分で結んで表示部18に表示させる。すなわち、今の場合、トランジション編集用表示制御部53は、例えば、図21で示されるように、始点位置となるステート枠131,132とをトランジション132により結んで表示する。
ステップS174において、トランジション編集用表示制御部53は、トランジションの編集の終了が指示されたか否かを判定し、トランジションの編集の終了が指示さていない場合、その処理は、ステップS162に戻り、それ以降の処理が繰り返され、終了が指示された場合、その処理は、終了する。尚、終点となるステート枠が指定されると、トランジションの編集の終了が指示されない場合、その処理は、ステップS162に戻るため、ポインタ表示制御部53aは、ポインタの位置が状態遷移図表示画面112上である限り、表示をポインタ150’’からポインタ150に即座に切り替える。
以上の処理により、トランジションを編集する際に、始点となるステート枠から終点となるステート枠までドラッグしたまま引くといった操作をする必要がないので、トランジションを状態遷移図上で引く際のミスを低減させることができる。また、始点となるステートが指定された時点でポインタを示すアイコンの表示が切り替わって表示されることになるので、ユーザは、次に指定するステートが始点となるステートであるか、または、終点となるステートであるのかを認識することができるので、正確にトランジションの編集をすることが可能となる。
尚、トランジションの編集において、ステップS167の処理により、始点となるステート枠の位置が記憶された後、ポインタ150’が状態遷移図表示画面112上を移動させて、終点位置となるステート枠の位置をユーザが目視により探すような場合、例えば、図22で示されるように、終点となるステート枠132が、スクロールバー211や212により操作されなければ表示されない位置であることが考えられる。このような場合、始点となるステート枠131は、状態遷移図表示画面112上に表示できないことになる。
そこで、始点となるステート枠が指定された場合、ステート枠表示制御部53cは、所定の時間間隔で始点となるステート枠の位置を始点位置メモリ53bに問い合わせ、状態遷移図表示画面112上に表示できないことが判明したとき、図22で示されるように、始点ステート枠表示欄201を設けて表示し、始点となるステート枠131をユーザに認識できるようにしてもよい。
このように表示することで、トランジションを設けようとするステート枠同士が、状態遷移図表示画面上で両方同時に表示できない、離れた位置に存在していても、ユーザは、始点となるステート枠を認識することができ、正確にトランジションを結ぶことが可能となる。
また、以上のトランジション編集用表示処理は、図6のフローチャートを参照して説明した処理とも対応している。すなわち、ステップS41における既存ステートが選択されたか否かを判定する処理は、トランジション編集用表示処理におけるステップS165における判定処理と同様であり、始点となるステート枠内にポインタ150’が移動された状態で、クリックされたか否かの判断となる。また、同様に、ステップS43における遷移先が指定されたか否かを判定する処理は、トランジション編集用表示処理におけるステップS171における判定処理と同様であり、終点となるステート枠内にポインタ150’’が移動された状態で、クリックされたか否かの判断となる。したがって、トランジション編集用表示処理と、トランジション編集処理とは、密接に対応した処理となっている。
本発明によれば、トランジションを所定のステート枠間で結ぶような編集処理をする際、ドラッグしたまま始点となるステート枠と終点となるステート枠とを結ぶといった操作をする必要がなくなるので、トランジションの編集におけるミスを低減させることができる。また、始点となるステートが指定された時点で、指定されたステート枠の表示を変化させ、さらに、始点となるステート枠から仮トランジションを引いて表示させるようにしたので、トランジションの編集を容易にすることが可能となる。さらに、状態遷移図表示画面112がスクロールされることにより、状態遷移図表示画面112上に始点となるステート枠が表示できないような場合でも、始点となるステート枠を始点ステート枠表示欄201が表示されることにより、ユーザは、トランジションの始点となるステートを正確に認識しつつ編集することが可能となるので、より正確にトランジションを編集することが可能となる。結果として、状態遷移図に基づいたプログラムの開発効率を向上させることが可能となる。
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
図23は、図1の状態遷移プログラム編集装置1の電気的な内部構成をソフトウェアにより実現する場合のパーソナルコンピュータの一実施の形態の構成を示している。パーソナルコンピュータのCPU501は、パーソナルコンピュータの全体の動作を制御する。また、CPU501は、バス504および入出力インタフェース505を介してユーザからキーボードやマウスなどからなる入力部506から指令が入力されると、それに対応してROM(Read Only Memory)502に格納されているプログラムを実行する。あるいはまた、CPU501は、ドライブ510に接続された磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリを含むリムーバルメディア521から読み出され、記憶部508にインストールされたプログラムを、RAM(Random Access Memory)503にロードして実行する。これにより、上述した図1の状態遷移プログラム編集装置1の機能が、ソフトウェアにより実現されている。さらに、CPU501は、通信部509を制御して、外部と通信し、データの授受を実行する。
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図23に示すように、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスクを含む)、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア521、または、プログラムが一時的もしくは永続的に格納されるROM502や、記憶部508を構成するハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースである通信部509を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
なお、本明細書において、プログラム記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
本発明を適用した状態遷移プログラム編集装置の一実施の形態の構成を示す図である。 表示画面の構成例を示す図である。 ステートデータ格納部に格納されるステート情報のデータ構造を示す図である。 図1の状態遷移プログラム編集装置による状態遷移プログラム編集処理を説明するフローチャートである。 図1の状態遷移プログラム編集装置によるステート編集処理を説明するフローチャートである。 図1の状態遷移プログラム編集装置によるトランジション編集処理を説明するフローチャートである。 図1の状態遷移プログラム編集装置によるスクリプト編集処理を説明するフローチャートである。 図1の状態遷移プログラム編集装置による状態遷移プログラム実行処理を説明するフローチャートである。 図1の状態遷移プログラム編集装置による状態遷移図生成処理を説明するフローチャートである。 図1の状態遷移プログラム編集装置による表示処理を説明するフローチャートである。 表示処理により表示される表示例を示す図である。 表示処理により表示される表示例を示す図である。 図1の状態遷移プログラム編集装置によるトランジション編集用表示処理を説明するフローチャートである。 図1の状態遷移プログラム編集装置によるトランジション編集用表示処理を説明する図である。 図1の状態遷移プログラム編集装置によるトランジション編集用表示処理を説明する図である。 図1の状態遷移プログラム編集装置によるトランジション編集用表示処理を説明する図である。 図1の状態遷移プログラム編集装置によるトランジション編集用表示処理を説明する図である。 図1の状態遷移プログラム編集装置によるトランジション編集用表示処理を説明する図である。 図1の状態遷移プログラム編集装置によるトランジション編集用表示処理を説明する図である。 図1の状態遷移プログラム編集装置によるトランジション編集用表示処理を説明する図である。 図1の状態遷移プログラム編集装置によるトランジション編集用表示処理を説明する図である。 図1の状態遷移プログラム編集装置によるトランジション編集用表示処理を説明する図である。 媒体を説明する図である。
符号の説明
11 操作部, 12 編集部, 13 ステートデータ格納部, 14 状態遷移図生成部, 15 状態遷移エンジン, 16 状態動作実行部, 17 表示制御部, 18 表示部, 19 イベント検出部, 31 ステート編集部, 32 トランジション編集部, 33 スクリプト編集部, 41 ステート枠生成部, 42 トランジション生成部, 51 状態遷移図表示制御部, 52 状態動作表示制御部, 53 トランジション編集用表示制御部, 53a ポインタ表示制御部, 53b 始点位置メモリ, 53c ステート枠表示制御部

Claims (5)

  1. それぞれの状態における動作、前記それぞれの状態における遷移時のイベント、および前記イベントによりどの他の前記状態に遷移するかを示す遷移方向の情報を含む状態遷移情報に基づいて、状態遷移図を生成する生成ステップと、
    前記生成ステップの処理により生成された状態遷移図を表示する表示ステップと、
    前記表示ステップの処理により表示された状態遷移図を操作する操作ステップと、
    前記操作ステップの処理により操作内容に応じて、前記状態遷移情報を更新する更新ステップと、
    前記操作ステップの処理により指定された遷移元となる状態の位置を記憶する記憶ステップと
    を含み、
    前記操作ステップの処理により遷移元となる状態の位置が指定された場合、前記表示ステップの処理は、前記ポインタを前記操作ステップの処理により遷移元となる状態の位置が指定されたことを示すアイコンとして表示し、
    前記操作ステップの処理により遷移先となる状態の位置が指定された場合、前記表示ステップの処理は、前記記憶ステップの処理で記憶された遷移元となる状態から前記遷移先となる状態へのトランジションを表示し、前記更新ステップの処理は、前記トランジションの情報を付加することにより前記状態遷移情報を更新する
    情報処理方法。
  2. 前記操作ステップの処理により遷移元となる状態の位置が指定された場合、前記表示ステップの処理は、前記ポインタと、前記操作部により指定された遷移元となる状態の位置とを結ぶトランジションを表示する
    請求項1に記載の情報処理方法。
  3. それぞれの状態における動作、前記それぞれの状態における遷移時のイベント、および前記イベントによりどの他の前記状態に遷移するかを示す遷移方向の情報を含む状態遷移情報に基づいて、状態遷移図を生成する生成手段と、
    前記生成手段により生成された状態遷移図を表示する表示手段と、
    前記表示手段により表示された状態遷移図を操作する操作手段と、
    前記操作手段により操作内容に応じて、前記状態遷移情報を更新する更新手段と、
    前記操作手段により指定された遷移元となる状態の位置を記憶する記憶手段と
    を含み、
    前記操作手段により遷移元となる状態の位置が指定された場合、前記表示手段は、前記ポインタを前記操作手段により遷移元となる状態の位置が指定されたことを示すアイコンとして表示し、
    前記操作手段により遷移先となる状態の位置が指定された場合、前記表示手段は、前記記憶手段で記憶された遷移元となる状態から前記遷移先となる状態へのトランジションを表示し、前記更新手段は、前記トランジションの情報を付加することにより前記状態遷移情報を更新する
    情報処理装置。
  4. それぞれの状態における動作、前記それぞれの状態における遷移時のイベント、および前記イベントによりどの他の前記状態に遷移するかを示す遷移方向の情報を含む状態遷移情報に基づいて、状態遷移図を生成する生成ステップと、
    前記生成ステップの処理により生成された状態遷移図を表示する表示ステップと、
    前記表示ステップの処理により表示された状態遷移図を操作する操作ステップと、
    前記操作ステップの処理により操作内容に応じて、前記状態遷移情報を更新する更新ステップと、
    前記操作ステップの処理により指定された遷移元となる状態の位置を記憶する記憶ステップと
    を含み、
    前記操作ステップの処理により遷移元となる状態の位置が指定された場合、前記表示ステップの処理は、前記ポインタを前記操作ステップの処理により遷移元となる状態の位置が指定されたことを示すアイコンとして表示し、
    前記操作ステップの処理により遷移先となる状態の位置が指定された場合、前記表示ステップの処理は、前記記憶ステップの処理で記憶された遷移元となる状態から前記遷移先となる状態へのトランジションを表示し、前記更新ステップの処理は、前記トランジションの情報を付加することにより前記状態遷移情報を更新する
    処理を含むコンピュータが読み取り可能なプログラムが記録されている記録媒体。
  5. それぞれの状態における動作、前記それぞれの状態における遷移時のイベント、および前記イベントによりどの他の前記状態に遷移するかを示す遷移方向の情報を含む状態遷移情報に基づいて、状態遷移図を生成する生成ステップと、
    前記生成ステップの処理により生成された状態遷移図を表示する表示ステップと、
    前記表示ステップの処理により表示された状態遷移図を操作する操作ステップと、
    前記操作ステップの処理により操作内容に応じて、前記状態遷移情報を更新する更新ステップと、
    前記操作ステップの処理により指定された遷移元となる状態の位置を記憶する記憶ステップと
    を含む処理をコンピュータに実行させ、
    前記操作ステップの処理により遷移元となる状態の位置が指定された場合、前記表示ステップの処理は、前記ポインタを前記操作ステップの処理により遷移元となる状態の位置が指定されたことを示すアイコンとして表示し、
    前記操作ステップの処理により遷移先となる状態の位置が指定された場合、前記表示ステップの処理は、前記記憶ステップの処理で記憶された遷移元となる状態から前記遷移先となる状態へのトランジションを表示し、前記更新ステップの処理は、前記トランジションの情報を付加することにより前記状態遷移情報を更新する
    プログラム。
JP2005319723A 2005-11-02 2005-11-02 情報処理方法および装置、記録媒体、並びにプログラム Pending JP2007128244A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005319723A JP2007128244A (ja) 2005-11-02 2005-11-02 情報処理方法および装置、記録媒体、並びにプログラム
US11/592,021 US7721072B2 (en) 2005-11-02 2006-11-02 Information processing method and apparatus, recording medium, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005319723A JP2007128244A (ja) 2005-11-02 2005-11-02 情報処理方法および装置、記録媒体、並びにプログラム

Publications (1)

Publication Number Publication Date
JP2007128244A true JP2007128244A (ja) 2007-05-24

Family

ID=38042370

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005319723A Pending JP2007128244A (ja) 2005-11-02 2005-11-02 情報処理方法および装置、記録媒体、並びにプログラム

Country Status (2)

Country Link
US (1) US7721072B2 (ja)
JP (1) JP2007128244A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007052517A (ja) * 2005-08-16 2007-03-01 Sony Corp 情報処理方法および装置、記録媒体、並びにプログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8225278B2 (en) * 2007-05-14 2012-07-17 International Business Machines Corporation Method of visualizing modifications of a hierarchical state diagram
US10078575B2 (en) * 2013-03-13 2018-09-18 Microsoft Technology Licensing, Llc Diagnostics of state transitions

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07220106A (ja) * 1994-01-31 1995-08-18 Meidensha Corp 自由線作図方法
JPH0816357A (ja) * 1994-06-28 1996-01-19 Kubota Corp カーソル表示制御装置
JP2002073168A (ja) * 2000-09-05 2002-03-12 Sharp Corp 状態遷移図管理装置および管理方法、状態遷移図表示装置、並びに、プログラム記録媒体
JP2003196091A (ja) * 2001-12-27 2003-07-11 Toshiba Corp プログラム作成支援システム及びプログラム作成支援方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761493A (en) 1990-04-30 1998-06-02 Texas Instruments Incorporated Apparatus and method for adding an associative query capability to a programming language
US5655096A (en) * 1990-10-12 1997-08-05 Branigin; Michael H. Method and apparatus for dynamic scheduling of instructions to ensure sequentially coherent data in a processor employing out-of-order execution
US5469553A (en) * 1992-04-16 1995-11-21 Quantum Corporation Event driven power reducing software state machine
US5408597A (en) * 1993-07-29 1995-04-18 Digital Equipment Corporation Method and apparatus for schematic routing
JPH08212086A (ja) * 1994-09-30 1996-08-20 Microsoft Corp オフィスマシンのオペレーティングシステム及び方法
JP2660163B2 (ja) * 1994-10-11 1997-10-08 有限会社アレフロジック アルゴリズム教育支援システム
US5634112A (en) * 1994-10-14 1997-05-27 Compaq Computer Corporation Memory controller having precharge prediction based on processor and PCI bus cycles
US6157864A (en) * 1998-05-08 2000-12-05 Rockwell Technologies, Llc System, method and article of manufacture for displaying an animated, realtime updated control sequence chart
EP1085396A1 (en) * 1999-09-17 2001-03-21 Hewlett-Packard Company Operation of trusted state in computing platform
US6268853B1 (en) * 1999-09-30 2001-07-31 Rockwell Technologies, L.L.C. Data structure for use in enterprise controls
US7051069B2 (en) * 2000-09-28 2006-05-23 Bea Systems, Inc. System for managing logical process flow in an online environment
US20030154080A1 (en) * 2002-02-14 2003-08-14 Godsey Sandra L. Method and apparatus for modification of audio input to a data processing system
US7191237B2 (en) * 2002-10-15 2007-03-13 Hewlett-Packard Development Company, L.P. Automatic registration of receiving device on a remote printing application
US7197502B2 (en) * 2004-02-18 2007-03-27 Friendly Polynomials, Inc. Machine-implemented activity management system using asynchronously shared activity data objects and journal data items

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07220106A (ja) * 1994-01-31 1995-08-18 Meidensha Corp 自由線作図方法
JPH0816357A (ja) * 1994-06-28 1996-01-19 Kubota Corp カーソル表示制御装置
JP2002073168A (ja) * 2000-09-05 2002-03-12 Sharp Corp 状態遷移図管理装置および管理方法、状態遷移図表示装置、並びに、プログラム記録媒体
JP2003196091A (ja) * 2001-12-27 2003-07-11 Toshiba Corp プログラム作成支援システム及びプログラム作成支援方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007052517A (ja) * 2005-08-16 2007-03-01 Sony Corp 情報処理方法および装置、記録媒体、並びにプログラム

Also Published As

Publication number Publication date
US7721072B2 (en) 2010-05-18
US20070113156A1 (en) 2007-05-17

Similar Documents

Publication Publication Date Title
JP3755499B2 (ja) Guiアプリケーション開発支援装置、gui表示装置、および方法、並びにコンピュータ・プログラム
JP2006163948A (ja) 情報処理装置及びその方法
JP2007272870A (ja) 印刷制御装置、gui表示方法、プリンタドライバ及び記録媒体
JP2008269554A (ja) ソースコード生成装置
JPH11126149A (ja) 情報処理装置及びその方法並びにメモリ媒体
JP6594359B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2007128244A (ja) 情報処理方法および装置、記録媒体、並びにプログラム
JP2005196476A (ja) パラメータ設定装置
JP2008096935A (ja) 画面作成装置、画面作成プログラムおよびそれを記録した記録媒体
JP2007079955A (ja) 情報処理方法および装置、記録媒体、並びにプログラム
JP2009025905A (ja) 情報処理装置およびアイコン表示方法
JP2006244106A (ja) 情報処理装置及びその処理方法
JP5173724B2 (ja) 音楽記号入力装置及び音楽記号入力プログラム
JP2007079957A (ja) 情報処理方法および装置、記録媒体、並びにプログラム
JP2007058677A (ja) 表示制御装置および方法
JP2577149B2 (ja) ブレークポイントの設定制御方法
JP4193505B2 (ja) ユーザプログラム開発支援装置及び表示切替方法並びにプログラム
JP5720749B2 (ja) 表示プログラム、表示方法、およびコンピュータ
JP2008071280A (ja) 情報処理装置及びその制御方法
JP4802601B2 (ja) 情報処理方法および装置、記録媒体、並びにプログラム
JP2007079956A (ja) 情報処理方法および装置、記録媒体、並びにプログラム
JP3065025B2 (ja) 情報処理装置
JP2017157057A (ja) 表示制御装置
JP3781923B2 (ja) 線描画装置および線描画方法、ならびに線描画プログラムを記録したコンピュータ読み取り可能な記録媒体
JP5229000B2 (ja) 情報処理装置、及びプログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070222

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091006

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100302

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100902

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101019

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101111