(57)【特許請求の範囲】
【請求項１】
プログラムの実行に伴ってエージェントが取り得る動作を示す動作状態と、ある動作状態から他の動作状態への遷移関係を示す状態遷移とから構成される状態遷移図で表現されるエージェント・プログラムを作成対象プログラムとし、該作成対象プログラムを表現する状態遷移図を構成する個々の動作状態に対する動作記述を、視覚的表現による動作記述及びテキスト表現による動作記述により編集可能で、且つ、視覚的表現による動作記述をもとにしたテキスト表現による動作記述の自動生成を行い、テキスト表現による動作記述をもとにした視覚的表現による動作記述の自動生成を行わないようにしたプログラム作成支援システムにおいて、
前記作成対象プログラムを表現する状態遷移図を構成する個々の動作状態をそれぞれ表現する状態アイコンと、該状態遷移図を構成する個々の状態遷移をそれぞれ表現する状態遷移矢印アイコンとを表示画面に表示する手段と、
個々の前記状態アイコンに対応する動作状態毎に、前記視覚的表現による動作記述の編集のみを可能とする第１のモードと前記テキスト表現による動作記述の編集のみを可能とする第２のモードとのうちから、指示されたモードを設定する機能と、前記状態アイコンの各々について、当該状態アイコンに対応する動作状態に対して第１のモードと第２のモードのいずれが設定されているかを呈示するためのマーカであって該マーカが表示されているか否かによって若しくは該マーカの表示形態の相違によって該呈示を行うものを当該状態アイコン上に表示し、又は、該動作状態に対して設定されているモードを示す文字を当該状態アイコン上に表示する機能とを有する制御手段と、
いずれかの前記状態アイコンに対応する動作状態に対する編集の開始が指示された場合に、該動作状態に対して、第１のモードが設定されているときは、該動作状態について視覚的表現による動作記述の編集を可能とする図形ウィンドウを前記表示画面に表示し、第２のモードが設定されているときは、該動作状態についてテキスト表現による動作記述の編集を可能とするテキストウィンドウを前記表示画面に表示する手段と、
前記図形ウィンドウ上で編集された、該図形ウィンドウに係る状態アイコンに対応する動作状態に対する最新の視覚的表現による動作記述について、テキスト表現による動作記述を自動生成させるものとして予め定められている所定のイベントが発生した場合に、該図形ウィンドウ上の最新の視覚的表現による動作記述をもとに、テキスト表現による動作記述を自動生成し、この自動生成したテキスト表現による動作記述を、該動作状態に対する最新のテキスト表現による動作記述とする生成手段とを備え、
前記制御手段は、いずれかの前記状態アイコンに対応する動作状態について、第２のモードから第１のモードに設定変更する指示がされた場合に、ユーザに対して当該設定変更に伴い該動作状態に対する前記視覚的表現による動作記述の内容と前記テキスト表現による動作記述の内容との間に不整合が発生し得ることに関する注意を喚起するためのメッセージ文を表示する処理を行うことを特徴とするプログラム作成支援システム。
【請求項２】
前記制御手段は、第２のモードから第１のモードに設定変更する指示がされた場合に、前記メッセージ文を表示して、ただちに当該設定変更を行うことを特徴とする請求項１に記載のプログラム作成支援システム。
【請求項３】
前記制御手段は、第２のモードから第１のモードに設定変更する指示がされた場合に、当該設定変更を行うのに先だって、前記メッセージ文を表示するとともに、当該設定変更の可否の確認入力を促すためのメッセージを表示し、当該設定変更を可とする旨の確認入力がなされたときにのみ、当該設定変更を行うことを特徴とする請求項１に記載のプログラム作成支援システム。
【請求項４】
いずれかの前記状態アイコンに対応する動作状態に対する編集の開始が指示された場合に、該状態アイコンに対応する動作状態に対して前記第１のモードが設定されているときは、該動作状態について、視覚的表現による動作記述の編集を可能とする図形ウィンドウを前記表示画面に表示するのに加えて、テキスト表現による動作記述を表示するためのテキストウィンドウを前記表示画面に表示することを可能とし、該動作状態に対して前記第２のモードが設定されているときは、該動作状態について、テキスト表現による動作記述の編集を可能とするテキストウィンドウのみを前記表示画面に表示することを特徴とする請求項１ないし３のいずれか１項に記載のプログラム作成支援システム。
【請求項５】
前記表示画面に表示中のいずれかの前記状態アイコンに対応する動作状態に対する編集開始の指示が入力された場合に、該状態アイコンに対応する動作状態に対して前記第１のモードが設定されているときは、該動作状態について、視覚的表現による動作記述の編集を可能とする図形ウィンドウを前記表示画面に表示するのに加えて、テキスト表現による動作記述を表示するためのテキストウィンドウを前記表示画面に表示することを可能とし、該動作状態に対して前記第２のモードが設定されているときは、該動作状態について、テキスト表現による動作記述の編集を可能とするテキストウィンドウを前記表示画面に表示するのに加えて、視覚的表現による動作記述を表示するための図形ウィンドウを前記表示画面に表示することを可能とすることを特徴とする請求項１ないし３のいずれか１項に記載のプログラム作成支援システム。
【請求項６】
いずれかの前記図形ウィンドウに係る状態アイコンに対応する動作状態に対する最新の視覚的表現による動作記述をもとにしたテキスト表現による動作記述の自動生成が行われた場合に、該動作状態に対するテキスト表現による動作記述を表示するためのテキストウィンドウが表示されているときは、該テキストウィンドウのテキスト表現による動作記述に係る表示内容を、自動生成された該テキスト表現による動作記述により更新することを特徴とする請求項４または５に記載のプログラム作成支援システム。
【請求項７】
前記制御手段は、個々の前記状態アイコンに対応する動作状態について、デフォルトのモードとして前記第１のモードを設定することを特徴とする請求項１ないし６のいずれか１項に記載のプログラム作成支援システム。
【請求項８】
前記表示形態は、前記マーカの色、濃さ又は形状であることを特徴とする請求項１ないし７のいずれか１項に記載のプログラム作成支援システム。
【請求項９】
前記所定のイベントは、前記図形ウィンドウ上での前記視覚的表現による動作記述に対する編集の終了が指示されたこと、前記図形ウィンドウ上で編集された最新の視覚的表現による動作記述の記憶手段への保存が指示されたこと若しくは前記図形ウィンドウ上で編集された最新の視覚的表現による動作記述をもとにしたテキスト表現による動作記述の自動生成が指示されたこと、又は前記図形ウィンドウ上での前記視覚的表現による動作記述に対する編集量が一定量に達したこと若しくは前記図形ウィンドウ上が表示されている状態で一定期間経過したことであることを特徴とする請求項１ないし８のいずれか１項に記載のプログラム作成支援システム。
【請求項１０】
前記視覚的表現による動作記述は、シーケンス図又はダイアグラムによる動作記述であることを特徴とする請求項１ないし９のいずれか１項に記載のプログラム作成支援システム。
【請求項１１】
前記テキスト表現による動作記述は、プログラム記述又はプログラムコードであることを特徴とする請求項１ないし１０のいずれか１項に記載のプログラム作成支援システム。
【請求項１２】
前記メッセージ文は、視覚的表現による動作記述を編集し、テキスト表現による動作記述を自動生成すると、それまでのテキスト表現による動作記述の内容が上書きされる旨の文であることを特徴とする請求項１ないし１１のいずれか１項に記載のプログラム作成支援システム。
【請求項１３】
プログラムの実行に伴ってエージェントが取り得る動作を示す動作状態と、ある動作状態から他の動作状態への遷移関係を示す状態遷移とから構成される状態遷移図で表現されるエージェント・プログラムを作成対象プログラムとし、該作成対象プログラムを表現する状態遷移図を構成する個々の動作状態に対する動作記述を、視覚的表現による動作記述及びテキスト表現による動作記述により編集可能で、且つ、視覚的表現による動作記述をもとにしたテキスト表現による動作記述の自動生成を行い、テキスト表現による動作記述をもとにした視覚的表現による動作記述の自動生成を行わないようにしたプログラム作成支援システムにおけるプログラム作成支援方法であって、
前記作成対象プログラムを表現する状態遷移図を構成する個々の動作状態をそれぞれ表現する状態アイコンと、該状態遷移図を構成する個々の状態遷移をそれぞれ表現する状態遷移矢印アイコンとを表示画面に表示するステップと、
個々の前記状態アイコンに対応する動作状態毎に、前記視覚的表現による動作記述の編集のみを可能とする第１のモードと前記テキスト表現による動作記述の編集のみを可能とする第２のモードとのうちから、指示されたモードを設定するためのステップと、
前記状態アイコンの各々について、当該状態アイコンに対応する動作状態に対して第１のモードと第２のモードのいずれが設定されているかを呈示するためのマーカであって該マーカが表示されているか否かによって若しくは該マーカの表示形態の相違によって該呈示を行うものを当該状態アイコン上に表示し、又は、該動作状態に対して設定されているモードを示す文字を当該状態アイコン上に表示するステップと、
いずれかの前記状態アイコンに対応する動作状態に対する編集の開始が指示された場合に、該動作状態に対して、第１のモードが設定されているときは、該動作状態について視覚的表現による動作記述の編集を可能とする図形ウィンドウを前記表示画面に表示し、第２のモードが設定されているときは、該動作状態についてテキスト表現による動作記述の編集を可能とするテキストウィンドウを前記表示画面に表示するステップと、
前記図形ウィンドウ上で編集された、該図形ウィンドウに係る状態アイコンに対応する動作状態に対する最新の視覚的表現による動作記述について、テキスト表現による動作記述を自動生成させるものとして予め定められている所定のイベントが発生した場合に、該図形ウィンドウ上の最新の視覚的表現による動作記述をもとに、テキスト表現による動作記述を自動生成し、この自動生成したテキスト表現による動作記述を、該動作状態に対する最新のテキスト表現による動作記述とするステップと、
いずれかの前記状態アイコンに対応する動作状態について、第２のモードから第１のモードに設定変更する指示がされた場合に、ユーザに対して当該設定変更に伴い該動作状態に対する前記視覚的表現による動作記述の内容と前記テキスト表現による動作記述の内容との間に不整合が発生し得ることに関する注意を喚起するためのメッセージ文を表示する処理を行うためのステップとを有することを特徴とするプログラム作成支援方法。
【請求項１４】
プログラムの実行に伴ってエージェントが取り得る動作を示す動作状態と、ある動作状態から他の動作状態への遷移関係を示す状態遷移とから構成される状態遷移図で表現されるエージェント・プログラムを作成対象プログラムとし、該作成対象プログラムを表現する状態遷移図を構成する個々の動作状態に対する動作記述を、視覚的表現による動作記述及びテキスト表現による動作記述により編集可能で、且つ、視覚的表現による動作記述をもとにしたテキスト表現による動作記述の自動生成を行い、テキスト表現による動作記述をもとにした視覚的表現による動作記述の自動生成を行わないようにしたプログラム作成支援システムとしてコンピュータを機能させるためのプログラムであって、
前記作成対象プログラムを表現する状態遷移図を構成する個々の動作状態をそれぞれ表現する状態アイコンと、該状態遷移図を構成する個々の状態遷移をそれぞれ表現する状態遷移矢印アイコンとを表示画面に表示するステップと、
個々の前記状態アイコンに対応する動作状態毎に、前記視覚的表現による動作記述の編集のみを可能とする第１のモードと前記テキスト表現による動作記述の編集のみを可能とする第２のモードとのうちから、指示されたモードを設定するためのステップと、
前記状態アイコンの各々について、当該状態アイコンに対応する動作状態に対して第１のモードと第２のモードのいずれが設定されているかを呈示するためのマーカであって該マーカが表示されているか否かによって若しくは該マーカの表示形態の相違によって該呈示を行うものを当該状態アイコン上に表示し、又は、該動作状態に対して設定されているモードを示す文字を当該状態アイコン上に表示するステップと、
いずれかの前記状態アイコンに対応する動作状態に対する編集の開始が指示された場合に、該動作状態に対して、第１のモードが設定されているときは、該動作状態について視覚的表現による動作記述の編集を可能とする図形ウィンドウを前記表示画面に表示し、第２のモードが設定されているときは、該動作状態についてテキスト表現による動作記述の編集を可能とするテキストウィンドウを前記表示画面に表示するステップと、
前記図形ウィンドウ上で編集された、該図形ウィンドウに係る状態アイコンに対応する動作状態に対する最新の視覚的表現による動作記述について、テキスト表現による動作記述を自動生成させるものとして予め定められている所定のイベントが発生した場合に、該図形ウィンドウ上の最新の視覚的表現による動作記述をもとに、テキスト表現による動作記述を自動生成し、この自動生成したテキスト表現による動作記述を、該動作状態に対する最新のテキスト表現による動作記述とするステップと、
いずれかの前記状態アイコンに対応する動作状態について、第２のモードから第１のモードに設定変更する指示がされた場合に、ユーザに対して当該設定変更に伴い該動作状態に対する前記視覚的表現による動作記述の内容と前記テキスト表現による動作記述の内容との間に不整合が発生し得ることに関する注意を喚起するためのメッセージ文を表示する処理を行うためのステップとをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プログラムの作成を支援するためのプログラム作成支援システム及びプログラム作成支援方法に関する。
【０００２】
【従来の技術】
インターネットやイントラネットといった広域開放型ネットワーク環境が発展するのに伴い、変化が激しく、多種多様な要求が与えられるような分散システムへの需要がますます高まりつつある。そのようなシステム構築のための基盤技術として、エージェントが期待されている。エージェントとは、自律性・移動性・知性・協調性・即応性といった特徴により、環境の変化や多種多様な要求に対応するソフトウェアである。特に、移動性を備えたいわゆるモバイルエージェントは、最も実用化が近いと期待されている。なおここでの移動機能は、インターネットやイントラネットといった広域開放型ネットワーク環境で提供される情報リソースを、ネットワーク上を移動しながらそれらにアクセスすることにより、効率よく活用することを目的とした機能である。
【０００３】
さらに、エージェントの実システムへの適用が考えられるようになってきたため、開発支援技術の研究も出始めている。例えば、特開２００１−１６６９３６号公報に開示されたシステムでは、エージェントが移動する状態を状態遷移図やシーケンス図により視覚的に表示し、さらに、表示内容の変更をエージェントプログラムの動作記述に反映させることにより、利用者がエージェントプログラムを容易に作成することを可能としている。
【０００４】
【発明が解決しようとする課題】
シーケンス図などの視覚的表現により動作記述を編集し、これに対するプログラムコードなどのテキスト表現による動作記述を自動生成するような機能を提供する従来のプログラム作成支援システムには、次のような問題点がある。すなわち、視覚的表現により編集された動作記述に対応するテキスト表現による動作記述が生成された後に、さらに該生成されたテキスト表現による動作記述に対して修正を加えると、該修正されたテキスト表現による動作記述の内容と、もとの視覚的表現による動作記述の内容との間に、不整合が発生する可能性がある。この場合に、不整合の発生又はその可能性の存在に対する認識を欠いた状態で、もとの視覚的表現による動作記述に修正を加え、対応するテキスト表現による動作記述を生成すると、予期しない（テキスト表現による）動作記述が得られ、プログラムが予期しない動作を行うおそれがある。
【０００５】
本発明は、上記事情を考慮してなされたもので、プログラムの作成をより効果的に支援することができるプログラム作成支援システム及びプログラム作成支援方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
本発明は、プログラムの実行に伴ってエージェントが取り得る動作を示す動作状態と、ある動作状態から他の動作状態への遷移関係を示す状態遷移とから構成される状態遷移図で表現されるエージェント・プログラムを作成対象プログラムとし、該作成対象プログラムを表現する状態遷移図を構成する個々の動作状態に対する動作記述を、視覚的表現による動作記述及びテキスト表現による動作記述により編集可能で、且つ、視覚的表現による動作記述をもとにしたテキスト表現による動作記述の自動生成を行い、テキスト表現による動作記述をもとにした視覚的表現による動作記述の自動生成を行わないようにしたプログラム作成支援システムにおいて、前記作成対象プログラムを表現する状態遷移図を構成する個々の動作状態をそれぞれ表現する状態アイコンと、該状態遷移図を構成する個々の状態遷移をそれぞれ表現する状態遷移矢印アイコンとを表示画面に表示する手段と、個々の前記状態アイコンに対応する動作状態毎に、前記視覚的表現による動作記述の編集のみを可能とする第１のモードと前記テキスト表現による動作記述の編集のみを可能とする第２のモードとのうちから、指示されたモードを設定する機能と、前記状態アイコンの各々について、当該状態アイコンに対応する動作状態に対して第１のモードと第２のモードのいずれが設定されているかを呈示するためのマーカであって該マーカが表示されているか否かによって若しくは該マーカの表示形態の相違によって該呈示を行うものを当該状態アイコン上に表示し、又は、該動作状態に対して設定されているモードを示す文字を当該状態アイコン上に表示する機能とを有する制御手段と、いずれかの前記状態アイコンに対応する動作状態に対する編集の開始が指示された場合に、該動作状態に対して、第１のモードが設定されているときは、該動作状態について視覚的表現による動作記述の編集を可能とする図形ウィンドウを前記表示画面に表示し、第２のモードが設定されているときは、該動作状態についてテキスト表現による動作記述の編集を可能とするテキストウィンドウを前記表示画面に表示する手段と、前記図形ウィンドウ上で編集された、該図形ウィンドウに係る状態アイコンに対応する動作状態に対する最新の視覚的表現による動作記述について、テキスト表現による動作記述を自動生成させるものとして予め定められている所定のイベントが発生した場合に、該図形ウィンドウ上の最新の視覚的表現による動作記述をもとに、テキスト表現による動作記述を自動生成し、この自動生成したテキスト表現による動作記述を、該動作状態に対する最新のテキスト表現による動作記述とする生成手段とを備え、前記制御手段は、いずれかの前記状態アイコンに対応する動作状態について、第２のモードから第１のモードに設定変更する指示がされた場合に、ユーザに対して当該設定変更に伴い該動作状態に対する前記視覚的表現による動作記述の内容と前記テキスト表現による動作記述の内容との間に不整合が発生し得ることに関する注意を喚起するためのメッセージ文を表示する処理を行うことを特徴とする。
【００１２】
なお、装置に係る本発明は方法に係る発明としても成立し、方法に係る本発明は装置に係る発明としても成立する。
また、装置または方法に係る本発明は、コンピュータに当該発明に相当する手順を実行させるための（あるいはコンピュータを当該発明に相当する手段として機能させるための、あるいはコンピュータに当該発明に相当する機能を実現させるための）プログラムとしても成立し、該プログラムを記録したコンピュータ読取り可能な記録媒体としても成立する。
【００１３】
本発明によれば、プログラムの作成をより効果的に支援することができる。例えば、視覚的表現による動作記述の内容とテキスト表現による動作記述の内容との間に不整合が発生し得る変更操作をユーザが試みようとした際に、警告をユーザに与えることなどによって、ユーザにとって意図しないテキスト表現による動作記述が得られ、プログラムが意図しないあるいは予期しない動作を行うことを、未然に防止することができるようになる。
【００１４】
【発明の実施の形態】
以下、図面を参照しながら発明の実施の形態を説明する。
【００１５】
本実施形態ではプログラムの一例としてエージェント・プログラムを作成支援対象とする場合を例にとって説明する。
【００１６】
本実施形態では、エージェント・プログラムは、プログラムの実行に伴ってエージェントが取り得る動作を示す動作状態と、ある動作状態から他の動作状態への遷移関係を示す状態遷移とから構成される状態遷移図で表現されるものとし、各動作状態に対する動作記述としては、テキスト表現による動作記述（例えば、プログラム記述、プログラムコード等）と、視覚的表現による動作記述（例えば、動作のシーケンスを記述したシーケンス図、機能毎に用意されたコンポーネントを接続して記述したダイアグラム等）とが操作（表示や編集など）の対象となるものとする（図６参照）。
【００１７】
図１に、本発明の一実施形態に係るプログラム作成支援システムの構成例を示す。図１に示されるように、本実施形態のプログラム作成支援システムは、状態遷移図表示部１１と視覚的記述表示部１２とテキスト記述表示部１３を含む内容表示部１０、操作制御部１４、状態遷移図操作部１５、視覚的表示操作部１６、テキスト表示操作部１７、動作記述生成部１８、記憶部１９、ディスプレイ２０、マウスやキーボードなどの所定の入力デバイス（図示せず）を備えている。なお、必要に応じてその他の装置（例えば、ネットワーク接続装置、無線通信装置等）やソフトウェアを備えて構わない。また、本プログラム作成支援システムは、コンピュータ上でソフトウェア（プログラム）を実行する形態によって実施可能である。なお、ソフトウェアで実現する場合には、特定のＯＳ上で動作するものであってもよい。また、ソフトウェアで実現する場合には、記録媒体によって該ソフトウェアを受け渡しすることも、通信媒体によって該ソフトウェアを受け渡しすることも可能である。
【００１８】
本プログラム作成支援システムは、既存のエージェント・プログラムをもとにしてこれに追加、修正、削除などの編集を加えて所望のエージェント・プログラムを作成する場合にも、既存のものをもとにせずに全く新規に所望のエージェント・プログラムを作成する場合にも利用可能である。
【００１９】
記憶部１９は、開発過程にあるプログラムを表す状態遷移図、該状態遷移図における各動作状態に対する動作記述（テキスト表現による動作記述及び視覚的表現による動作記述の両方又は一方）などの各種データを記憶する。もちろん、記憶部１９に、開発済みのプログラムについてのデータを保存してもよい。記憶部１９には、例えば、磁気ディスク装置、光ディスク装置、半導体メモリ等の所望の記憶装置を用いることができる。
【００２０】
なお、既存のプログラムをもとにして所望のプログラムを作成する場合に、その既存のプログラムは、記憶部１９に保存されているものであってもよいし、ネットワークを介して取得したものであってもよい。
【００２１】
内容表示部１０は、状態遷移図表示部１１と、視覚的記述表示部１２と、テキスト記述表示部１３とを含む。
【００２２】
状態遷移図表示部１１は、ディスプレイ２０の表示画面上における所定のウィンドウ（以下、メインウィンドウ）内へ、対象となるプログラムの状態遷移図の内容を（記憶部１９から読み出して）、動作状態を表現するアイコン（以下、状態アイコン）と、動作状態間の状態遷移を表現するアイコン（以下、状態遷移矢印）により、視覚的に表示するためのものである。
【００２３】
視覚的記述表示部１２は、例えば表示中の状態遷移図における所望の状態アイコンがマウスにより選択されるなどによって指定された場合に、該指定された状態アイコンに対応する動作状態に対する視覚的表現による動作記述の内容を（記憶部１９から読み出して）、ディスプレイ２０の表示画面上における、視覚的表現による動作記述の表示・編集ための所定のウィンドウ（以下、図形ウィンドウ）内に、視覚的に表示するためのものである。
【００２４】
テキスト記述表示部１３は、例えば表示中の状態遷移図における所望の状態アイコンがマウスにより選択されるなどによって指定された場合に、該状態アイコンに対応する動作状態に対するテキスト表現による動作記述の内容を（記憶部１９から読み出して）、ディスプレイ２０の表示画面上における、テキスト表現による動作記述の表示・編集ための所定のウィンドウ（以下、テキストウィンドウ）内に、テキスト表示するためのものである。
【００２５】
なお、本実施形態では、詳しくは後述するように、操作モード（視覚的編集可能モード／視覚的編集不可モード）に応じて、必ずしも両ウィンドウが同時に表示可能になるものではないが、表示可能なウィンドウを任意に非表示にしあるいは表示されているウィンドウを任意に閉じることを可能としても構わない。
【００２６】
状態遷移図操作部１５は、メインウィンドウ上において、対象とするプログラムの状態遷移図につき、状態アイコンの生成、削除、移動、複製の操作や、状態遷移矢印の生成、削除、移動、複製の操作などを行うためのものである。
【００２７】
視覚的表示操作部１６は、図形ウィンドウが開かれている場合に、図形ウィンドウ上で、指定された動作状態に対する視覚的表現による動作記述につき、その内容を編集するためのものである。
【００２８】
テキスト表示操作部１７は、テキストウィンドウが開かれている場合に、テキストウィンドウ上で、指定された動作状態に対するテキスト表現による動作記述につき、その内容を編集するためのものである。
【００２９】
なお、各操作部１５〜１７は、ユーザ・インタフェースとしてＧＵＩを利用するのが望ましい。また、各操作部１５，１６については、既存のプログラム作成支援システムやＣＡＤなどの図形処理ツール等で知られている種々の手法、例えば、図形の生成／削除／移動／コピー、テンプレートの利用、スナップ、ガイド、グリッド、拡大、縮小、線種変更、線や矢印によって接続されたアイコン間の位置を変更した場合に線や矢印が自動的に追従する機能などの種々の手法を適宜利用することができる。また、各操作部１７については、既存のテキスト・エディターなどの編集ツール等で知られている種々の手法を適宜利用することができる。
【００３０】
動作記述生成部１８は、対象とするプログラムの状態遷移図におけるある動作状態について、図形ウィンドウ上で視覚的表現による動作記述が編集された際に、該視覚的表現による動作記述をもとにして、その動作状態に対するテキスト表現による動作記述を自動生成するためのものである。なお、動作記述生成部１８によりテキスト表現による動作記述が生成された場合、その生成された内容によりテキスト表現による動作記述が更新され（上書きされる）ものとする（もちろん、いわゆるＵＮＤＯ機能等による旧データの回復を可能にしてもよい）。また、テキスト表現による動作記述が更新された場合、テキストウインドウが開いているならば、その表示内容も更新するものとする。
【００３１】
自動生成を行うタイミングについては、例えば、ユーザが編集終了ボタンをクリックするなどして編集終了を指示した場合、ユーザが保存ボタンをクリックするなどしてデータの保存を指示した場合、ユーザが自動生成ボタンをクリックするなどして自動生成を指示した場合などユーザの操作にかからしめる形態や、図形ウィンドウが開いている場合には一定期間毎あるいは編集量が一定量に達する毎などに自動生成を行うようにする形態など、種々の形態がある。
【００３２】
なお、視覚的表現による動作記述をもとにしたテキスト表現による動作記述の生成については、既存のプログラム作成支援システムやＣＡＤなどの図形処理ツール等で知られている手法を利用することができる（例えば、特開２００１−１６６９３６号公報参照）。
【００３３】
操作制御部１４は、詳しくは後述するように、視覚的表現による動作記述についての操作およびテキスト表現による動作記述についての操作について、操作モード（視覚的編集可能モード／視覚的編集不可モード）の切り替えに関する制御を行うためのものである。
【００３４】
次に、本実施形態における基本的な操作について説明する。
【００３５】
プログラムの作成（の支援）にあたっては、図２（ａ）あるいは（ｂ）のように、まず、状態遷移図の編集がなされる（Ｓ１，Ｓ１１）。
【００３６】
状態遷移図の作成では、マウス等を利用して、状態アイコン（図３（ａ）参照）を描くことと、状態遷移矢印（図３（ｂ）参照）を描くことが、基本操作となる。
【００３７】
状態アイコンの描画は、例えば、状態アイコンを描く機能の選択と、状態アイコンの配置の指定などによって、行われる。この操作の結果、所望の位置に状態アイコンが配置される。
【００３８】
状態遷移矢印の描画は、例えば、状態遷移矢印を描く機能の選択と、状態遷移矢印を与えるべき複数の状態アイコン（例えば状態遷移の起点となる状態アイコン及び終点となる状態アイコン）の指定などによって、行われる。この操作の結果、一方の状態アイコンから他方の状態アイコンに向かって状態遷移矢印が付与される。
【００３９】
また、適宜、状態アイコンや状態遷移矢印の操作（移動、複製、削除など）が行われる。
【００４０】
なお、上記の操作の際に、状態遷移矢印の端点とそれに接している状態アイコンは離れないように処理するのが望ましい。
【００４１】
このようにして、例えば、図３（ｃ）のような状態遷移図が編集される。
【００４２】
なお、既存のプログラムを利用した編集が行われる場合には、最初に、利用するプログラムの指定がなされ、その状態遷移図がロードされ、メインウィンドウ内に表示される。
【００４３】
次に、図２（ａ）あるいは（ｂ）のように、所望の動作状態の動作記述の編集が行われる（Ｓ２，Ｓ１２）。
【００４４】
例えば、図３（ｃ）のように、対象とするプログラムの内容が状態遷移図によって表示されている場合に、所望の状態アイコンをマウスなどを利用して選択することによって、該状態アイコンに対応する動作状態に対する動作記述の表示・編集用に、図形ウィンドウ及び又はテキストウィンドウを表示させることができる。
【００４５】
この様子を、図４に示す。図４では、図形ウィンドウと、テキストウィンドウの両方が表示された様子を例示している。なお、図４では、動作記述データがまだ作成されていない場合を例にとっているが、動作記述データが存在する場合には、その内容が表示される（図５、図６参照）。
【００４６】
なお、本実施形態では、詳しくは後述するように、動作状態ごとに（状態アイコンごとに）操作モードを指定することにより、該動作状態に対応する動作記述を図形ウィンドウで編集するかテキストウィンドウで編集するか適宜選択することができる。
【００４７】
また、ここでは、所望の状態アイコンが選択された際に、表示可能なウィンドウは全て表示するようにするものとして説明する（所望の状態アイコンが選択された際に、ユーザ設定などによって、表示可能なウィンドウ（例えば、編集不可となっているウィンドウ）を表示しないようにすることを可能としてもよい）。
【００４８】
テキストウィンドウでテキスト表現による動作記述（例えば、プログラムコード）を編集した場合には、該テキスト表現による動作記述のみが、選択された動作状態に対応付けられて保存され、該動作状態に対する動作記述の編集は終了となる。
【００４９】
一方、例えば図５のように、図形ウィンドウで視覚的表現による動作記述（例えば、シーケンス図）を編集した場合には、動作記述生成部１８により、該動作記述をもとに、同一内容を持つテキスト表現による動作記述（例えば、プログラムコード）が自動生成され、該自動生成されたテキスト表現による動作記述は、テキストウィンドウに表示される（図２（ａ）のＳ３）。この様子を、図６に例示する。この場合には、該生成されたテキスト表現による動作記述及びそのもととなった視覚的表現による動作記述が、選択された動作状態に対応付けられて保存され、該動作状態に対する動作記述の編集は終了となる。
【００５０】
なお、図２は、一例であり、例えば、状態遷移図の編集と動作記述の編集とを任意の単位で交互に行っても構わない。
【００５１】
以下、操作モード（視覚的編集可能モード／視覚的編集不可モード）に関する操作や操作制御部１４による制御等について説明する。
【００５２】
ここで、図２（ｃ）（図２（ａ））のように、状態遷移図を編集し（Ｓ１）、図形ウィンドウで所望の動作状態の動作記述の編集を行い（Ｓ２）、その視覚的表現による動作記述から、テキスト表現による動作記述を自動生成（Ｓ３）した後に、図２（ｃ）のＳ４のように、テキストウィンドウで該自動生成されたテキスト表現による動作記述を編集すると、該編集されたテキスト表現による動作記述の内容と、（Ｓ２の時点の）もとの視覚的表現による動作記述の内容との間に、不整合が発生する可能性がある。なお、この点は、所望の動作状態に対応する視覚的表現による動作記述及びテキスト表現による動作記述が記憶部に保存されている際に、該視覚的表現による動作記述及びテキスト表現による動作記述を記憶部から読み出して図形ウィンドウ及びテキストウィンドウにそれぞれ表示し、テキストウィンドウで該テキスト表現による動作記述を編集する場合でも同様である。
【００５３】
そして、ユーザがこのような不整合の発生又はその可能性の存在に対する認識を欠くと、例えば、テキスト表現による動作記述との間に不整合がある視覚的表現による動作記述に修正を加え、対応するテキスト表現による動作記述を生成したときに、ユーザにとって意図しないテキスト表現による動作記述が得られ、プログラムが意図しないあるいは予期しない動作を行うおそれがあるなどの問題があるので、本実施形態では、操作モード（視覚的編集可能モード／視覚的編集不可モード）を設け、これを未然に防止するようにしている。
【００５４】
すなわち、本実施形態では、操作モードとして、視覚的編集可能モードと視覚的編集不可モードとを設ける。
【００５５】
操作モードは、対象となるプログラムの状態遷移図の各動作状態ごとに択一的に設定されるものとする。
【００５６】
視覚的編集可能モードでは、図形ウィンドウでの編集を可能とし、テキストウィンドウでの編集を不可とする。
【００５７】
視覚的編集不可モードでは、図形ウィンドウでの編集を不可とし、テキストウィンドウでの編集を可能とする。
【００５８】
なお、ここでは、視覚的編集不可モードでは、図形ウィンドウ自体が表示できないものとする（なお、視覚的編集可能モードでは、テキストウィンドウは表示できるものとする）。
【００５９】
対象となるプログラムの状態遷移図の所望の動作状態（各状態アイコン）に対する操作モードの設定（切り替え）は、例えば、メインウィンドウ上に表示されている状態アイコン上のチェックボックスやトグルボタンなどをマウスでクリックするなどによって行うようにしてもよいし、状態アイコン上でマウスを右クリックするなどによって表示させたメニューの項目をマウスで左クリックするなどによって行うようにしてもよいし、その他どのような方法によっても構わない。なお、操作モードは、デフォルトでは、視覚的編集可能モードであるものとしてもよい。
【００６０】
また、対象となるプログラムの状態遷移図の所望の動作状態（各状態アイコン）に対する操作モードが現在いずれのモードにあるかの表示（呈示）については、例えば、メインウィンドウ上に表示されている状態アイコン上に視覚的編集可能モードにあることを示すマーカが表示されているか視覚的編集可能モードを示すマーカが表示されていない（非表示）かによって呈示するようにしてもよいし、該状態アイコンに、モードに応じて色や濃さや形状など表示形態を異ならせたマーカを表示するようにしてもよいし、該状態アイコン上に視覚的編集不可モードを示す文字または視覚的編集不可モードを示す文字を表示するようにしてもよいし、その他どのような方法によっても構わない。
【００６１】
操作モードの設定方法と呈示方法は適宜組み合わせて実施可能である。例えば、視覚的編集可能モードの文字が描かれたトグルボタンを１回クリックすると、操作モードが視覚的編集不可モードに移行し、トグルボタン内の表示も視覚的編集不可モードに変わり、（視覚的編集不可モードの表示になった）トグルボタンをもう１回クリックすると、操作モードが視覚的編集可能モードに移行し、トグルボタン内の表示も視覚的編集可能モードに変わる、…、といった構成も可能である。
【００６２】
ある動作状態に対する操作モードの切り替えは、その動作状態に対する動作記述の編集中にも行うことができるようにしてもよいし、その動作状態に対する動作記述の編集中には行うことができず、一旦、編集を中断してからでなければ行うことができないようにしてもよい。ここでは、前者である場合を例にとって説明する。
【００６３】
また、視覚的編集不可モードから視覚的編集可能モードへ切り替わる際には、例えば「視覚的表現による動作記述を編集し、テキスト表現による動作記述を生成すると、それまでのテキスト表現による動作記述の内容が上書きされます。」あるいは「視覚的編集不可モードから視覚的編集可能モードへ切り替わりますので注意して下さい。」などの警告メッセージを、（例えば、警告メッセージウィンドウに）表示するようにするのが望ましい。
【００６４】
なお、視覚的編集可能モードが選択された場合に、ただちに視覚的編集可能モードに移行せずに、上記の警告メッセージを表示するとともにあるいは上記の警告メッセージを表示せずに、例えば、実際に切り替えるか否かを確認するためのダイアログ（例えばＯＫ／ＮＧ）を表示してユーザに確認の入力を求め、ユーザがＯＫを選択した場合に、はじめて視覚的編集可能モードに移行させ、ユーザがＮＧを選択した場合には、視覚的編集可能モードが選択されなかったものとして、操作モードの切り替えを行わないようにしてもよい。この操作モードの切り替えの確認は、視覚的編集不可モードから視覚的編集可能モードへの切り替えの際だけでなく、視覚的編集可能モードから視覚的編集不可モードへの切り替えの際にも行ってもよい。
【００６５】
図７に、操作モードに関する処理手順の一例を示す。
【００６６】
この手順例では、デフォルトとして、視覚的編集可能モードになる（Ｓ３１）。
【００６７】
図８に、対象となるプログラムの状態遷移図が表示されている様子を例示する。この例では、各状態アイコン上に、当該状態アイコンに対応する動作状態に対する操作モードを示すマーカが表示されている。なお、この例では、操作モードに応じて異なる表示形態を持つマーカを表示するようにしている。図８の例では、全状態アイコンが視覚的編集可能モードになっている。
【００６８】
ある視覚的編集可能モードにある動作状態に対応する状態アイコンについて、視覚的編集不可モードが選択されると（Ｓ３２）、視覚的編集不可モードに移行するための処理を行い（Ｓ３３）、視覚的編集不可モードに移行する（Ｓ３４）。視覚的編集不可モードに移行するための処理では、例えば、マーカの表示を変更する、図形ウィンドウを表示不可にする（図形ウィンドウが表示されていれば、これを非表示にする）（図形ウィンドウでの編集を不可にする）、テキストウィンドウでの編集を可能にする（動作記述の編集中で且つテキストウィンドウが非表示である場合には、テキストウィンドウを表示する）、などの処理を行う。
【００６９】
図９には、全状態アイコンが視覚的編集不可モードになっている様子を例示している。また、図９では、ある動作アイコンが選択され、対応する動作記述がテキストウィンドウで編集される様子を例示している。ここでは、図形ウィンドウは表示不可となっている（図形ウィンドウでの編集が不可になっている）。
【００７０】
他方、ある視覚的編集不可モードにある動作状態に対応する状態アイコンについて、視覚的編集可能モードが選択されると（Ｓ３５）、視覚的編集可能モードに移行するための処理を行い（Ｓ３６）、視覚的編集可能モードに移行する（Ｓ３１）。視覚的編集可能モードに移行するための処理では、例えば、警告メッセージを表示する、マーカの表示を変更する、図形ウィンドウを表示可能にする（動作記述の編集中で且つ図形ウィンドウが非表示である場合には、図形ウィンドウを表示する）（図形ウィンドウでの編集を可能にする）、テキストウィンドウでの編集を不可にする、などの処理を行う。
【００７１】
図９のように視覚的編集不可モードになっている動作状態（動作アイコン）について、視覚的編集可能モードが選択されると、例えば、図１０のように警告メッセージを表示し注意を促して、視覚的編集可能モードに移行する。
【００７２】
なお、表示されていても編集はできないウィンドウについて、そのことが分かるように、編集可能になっているウィンドウと区別できるような情報を表示し、あるいはウィンドウ自体の形態を異ならせるようにしてもよい。
【００７３】
なお、上記の操作モードに関する構成は一例であり、種々のバリエーションが可能である。
【００７４】
例えば、上記では、視覚的編集不可モードでは、図形ウィンドウの表示を不可としたが、いずれのモードでも両ウィンドウを表示可能とし、
視覚的編集可能モードでは、図形ウィンドウでの編集を可能とし、テキストウィンドウでの編集を不可とし、
視覚的編集不可モードでは、図形ウィンドウでの編集を不可とし、テキストウィンドウでの編集を可能とする、
という構成も可能である。
【００７５】
図１１に、この場合の処理手順の一例を示す。
【００７６】
また、これまでの説明では、視覚的編集可能モードでは、図形ウィンドウでの編集を可能とし、テキストウィンドウでの編集を不可とし、視覚的編集不可モードでは、図形ウィンドウでの編集を不可とし、テキストウィンドウでの編集を可能とするものとしたが、視覚的編集可能モードでは、両ウィンドウでの編集を可能とする構成も可能である。
【００７７】
また、例えば、プログラムの１つの動作状態を状態遷移図で表すことができ、当該１つの動作状態に対応する下位層の個々の動作状態に対しても画像ウィンドウとテキストウィンドウで編集することができるような、階層構造を持つシステムも構成可能である。
【００７８】
また、例えば、１つの動作状態あるいはコンポーネントのみを対象とするプログラム作成支援システムも構成可能である。この場合には、状態遷移図表示部や状態遷移図操作部は不要になる。
【００７９】
また、これまでは、プログラムが状態遷移図で表される場合を例にとって説明してきたが、例えば、プログラムが、特定の機能を持つコンポーネント（あるいは機能モジュール）と、コンポーネント間の制御フローで表される場合にも、動作状態をコンポーネントに置き換えれば、同様に適用可能である。
【００８０】
また、これまでは、プログラムの一例としてエージェント・プログラムを作成支援対象とする場合を例にとって説明してきたが、もちろん、本発明は、エージェント以外のプログラムを作成支援対象とする場合にも適用可能である。
【００８１】
なお、以上の各機能は、ソフトウェアとして実現可能である。
また、本実施形態は、コンピュータに所定の手段を実行させるための（あるいはコンピュータを所定の手段として機能させるための、あるいはコンピュータに所定の機能を実現させるための）プログラムとして実施することもでき、該プログラムを記録したコンピュータ読取り可能な記録媒体として実施することもできる。
【００８２】
なお、この発明の実施の形態で例示した構成は一例であって、それ以外の構成を排除する趣旨のものではなく、例示した構成の一部を他のもので置き換えたり、例示した構成の一部を省いたり、例示した構成に別の機能あるいは要素を付加したり、それらを組み合わせたりすることなどによって得られる別の構成も可能である。また、例示した構成と論理的に等価な別の構成、例示した構成と論理的に等価な部分を含む別の構成、例示した構成の要部と論理的に等価な別の構成なども可能である。また、例示した構成と同一もしくは類似の目的を達成する別の構成、例示した構成と同一もしくは類似の効果を奏する別の構成なども可能である。
また、この発明の実施の形態で例示した各種構成部分についての各種バリエーションは、適宜組み合わせて実施することが可能である。
また、この発明の実施の形態は、個別装置としての発明、関連を持つ２以上の装置についての発明、システム全体としての発明、個別装置内部の構成部分についての発明、またはそれらに対応する方法の発明等、種々の観点、段階、概念またはカテゴリに係る発明を包含・内在するものである。
従って、この発明の実施の形態に開示した内容からは、例示した構成に限定されることなく発明を抽出することができるものである。
【００８３】
本発明は、上述した実施の形態に限定されるものではなく、その技術的範囲において種々変形して実施することができる。
【００８４】
【発明の効果】
本発明によれば、プログラムの作成をより効果的に支援することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るプログラム作成支援システムの構成例を示す図
【図２】同実施形態のプログラム作成支援システムの基本的な処理の流れについて説明するための図
【図３】状態遷移図の編集について説明するための図
【図４】動作記述の表示・編集について説明するための図
【図５】動作記述の表示・編集について説明するための図
【図６】動作記述の表示・編集について説明するための図
【図７】操作モードに関する処理手順の一例を示すフローチャート
【図８】操作モードについて説明するための図
【図９】操作モードについて説明するための図
【図１０】操作モードについて説明するための図
【図１１】操作モードに関する処理手順の他の例を示すフローチャート
【符号の説明】
１０…内容表示部
１１…状態遷移図表示部
１２…テキスト記述表示部
１３…視覚的記述表示部
１４…操作制御部
１５…状態遷移図操作部
１６…視覚的表示操作部
１７…テキスト表示操作部
１８…動作記述生成部
１９…記憶部
２０…ディスプレイ
【図１】
0003898507.tif 000002
【図２】
0003898507.tif 000003
【図３】
0003898507.tif 000004
【図４】
0003898507.tif 000005
【図５】
0003898507.tif 000006
【図６】
0003898507.tif 000007
【図７】
0003898507.tif 000008
【図８】
0003898507.tif 000009
【図９】
0003898507.tif 000010
【図１０】
0003898507.tif 000011
【図１１】
0003898507.tif 000012