(57)【特許請求の範囲】
【請求項１】
ネットワークに接続されたコンピュータを表現するホストボックスを描くためのホストボックス操作部と、前記ホストボックス内に、そのホストボックスで表現されたコンピュータ上で動作するアプリケーションプログラムを表すアプリケーション動作ラインを描くためのアプリケーション動作ライン操作部と、前記ホストボックス内に、そのホストボックスで表現されたコンピュータ上で動作するエージェントプログラムを表すエージェント動作ラインを描くためのエージェント動作ライン操作部と、前記各プログラム間で交換されるメッセージを表すメッセージ矢印を描くためのメッセージ矢印操作部と、前記ホストボックスによって表現された異なったコンピュータ間のエージェントプログラムの移動を表現するために、異なったホストボックス内に存在するエージェント動作ライン同士を接続するエージェント移動矢印を描くためのエージェント移動矢印操作部とを備え、
前記エージェント移動矢印操作部には、エージェント移動矢印の接続判定部、エージェント動作ライン調整部およびエージェント動作記述変更部が設けられ、
前記エージェント移動矢印の接続判定部は、描画するエージェント移動矢印の始点と終点が、移動元と移動先のホストボックス内に位置しているか否かを判定し、移動矢印がこれらの２つのホストボックス間にまたがっていない場合にはエラーとして再度の移動矢印の描画を促すものであり、
前記動作ライン調整部は、描画されたエージェント移動矢印の始点と終点とにそれぞれエージェント動作ラインが表示されるように、各ホストボックス内におけるエージェントの動作ラインを変更するものであり、
前記エージェント動作記述変更部は、前記エージェント移動矢印操作部によりホストボックス間をエージェントが移動することが指定された場合に、それに応じてエージェントを構成するプログラムについて変更を行うものであることを特徴とするプログラム作成支援装置。
【請求項２】
ネットワークに接続されたコンピュータを表現するホストアイコンを描くためのホストアイコン操作部と、前記ホストアイコン内に、そのホストアイコンで表現されたコンピュータ上で動作するエージェントプログラムの各動作状態を示す状態アイコンを描くための状態アイコン操作部と、前記ホストアイコン内に、前記エージェントプログラムの各状態アイコン間の遷移を示す状態遷移矢印を描くための状態遷移矢印操作部と、異なったホストボックス内に存在するエージェントの状態アイコン同士を接続するエージェント移動矢印を描くためのエージェント移動矢印操作部とを備え、
前記エージェント移動矢印操作部は、エージェント移動矢印とホストアイコンとの接続を判定する接続判定部と、状態アイコンおよび遷移矢印の表示を変更する表示調整部と、エージェントの動作記述を変更する動作記述変更部とを備え、
前記接続判定部は、ホストアイコン間に引かれるというエージェント移動矢印についての制約が破られた場合には、それを検出してエージェント移動矢印を通常の状態遷移矢印に変化させるものであり、
前記表示調整部は、エージェント移動矢印の操作に伴い、各ホストアイコン内に表示されているエージェントそれ自体の構成に変化が生じた場合に、その変化に対応してエージェントの構成を表示する状態アイコンおよび状態遷移矢印の表示を変更するものであり、  前記動作記述変更部は、エージェントの構成の変化をその動作記述そのものの変更に反映させるものであることを特徴とするプログラム作成支援装置。
【請求項３】
前記ホストボックスあるいはホストアイコン間に、ホストボックスあるいはホストアイコンが表現するコンピュータ間の接続状態を示すリンクを表示するためのリンク操作部を備えていることを特徴とする請求項１または２に記載のプログラム作成支援装置。
【請求項４】
エージェントプログラムの複製操作を表現するエージェント複製矢印を描くためのエージェント複製矢印操作部を備えていることを特徴とする請求項１または２に記載のプログラム作成支援装置。
【請求項５】
画面上に表示されたホストボックスあるいはホストアイコン、アプリケーション動作ライン、エージェント動作ライン、状態アイコン、メッセージ矢印の少なくとも一つの表示について、その表示を指定した場合に、その表示が表現するコンピュータ、プログラム、メッセージの内容を画面上に表示する内容表示部を備えていることを特徴とする請求項１または２に記載のプログラム作成支援装置。
【請求項６】
コンピュータ上で動作するアプリケーションプログラムをアプリケーションアイコンにより表現するアプリケーションアイコン操作部と、
コンピュータ上で動作するエージェントプログラムをエージェントアイコンにより表現するエージェントアイコン操作部と、
コラボレーション識別子を備えかつ各アイコン間の相互作用を表現するメッセージ矢印を用いて、各プログラム間で交換されるメッセージを表現するメッセージ矢印操作部と、
コラボレーション識別子を備えかつ各アイコン間の相互作用を表現するエージェント複製矢印によって、エージェントの複製操作を表現するエージェント複製矢印操作部とを備え、
前記エージェント複製矢印操作部には、生成した複製矢印の始点が複製元となるエージェントアイコンに属しているか否かを判定する接続判定部と、エージェントアイコンの複製に伴う画面表示を変更する表示調整部と、このエージェントアイコンの複製に伴って支援対象となるプログラムにエージェントを複製するための命令を追加する動作記述変更部が設けられていることを特徴とするプログラム作成支援装置。
【請求項７】
ネットワークに接続されたコンピュータを表現するホストボックスを描くためのホストボックス操作部と、前記ホストボックス内に、そのホストボックスで表現されたコンピュータ上で動作するアプリケーションプログラムを表すアプリケーション動作ラインを描くためのアプリケーション動作ライン操作部と、前記ホストボックス内に、そのホストボックスで表現されたコンピュータ上で動作するエージェントプログラムを表すエージェント動作ラインを描くためのエージェント動作ライン操作部と、前記各プログラム間で交換されるメッセージを表すメッセージ矢印を描くためのメッセージ矢印操作部と、前記ホストボックスによって表現された異なったコンピュータ間のエージェントプログラムの移動を表現するために、異なったホストボックス内に存在するエージェント動作ライン同士を接続するエージェント移動矢印を描くためのエージェント移動矢印操作部とを備え、前記エージェント移動矢印操作部には、エージェント移動矢印の接続判定部、エージェント動作ライン調整部およびエージェント動作記述変更部が設けられたプログラム作成支援装置を使用し、
前記ホストボックス操作部により、コンピュータの画面上に、ネットワークに接続されたコンピュータをホストボックスを用いて表現し、前記アプリケーション動作ライン操作部により、このホストボックス内にこのホストボックスで表現されたコンピュータ上で動作するアプリケーションプログラムとエージェントプログラムとをそれぞれの動作ラインによって表現し、前記メッセージ矢印操作部により、各プログラム間で交換されるメッセージを前記動作ライン間に描かれたメッセージ矢印によって表現し、前記エージェント移動矢印操作部により、異なったホストボックス内に存在するエージェント動作ライン同士をエージェント移動矢印によって接続することにより、前記ホストボックスによって表現された異なったコンピュータ間のエージェントプログラムの移動を表現すると共に、
前記エージェント移動矢印の接続判定部により、描画するエージェント移動矢印の始点と終点が、移動元と移動先のホストボックス内に位置しているか否かを判定し、移動矢印がこれらの２つのホストボックス間にまたがっていない場合にはエラーとして再度の移動矢印の描画を促し、
前記動作ライン調整部により、描画されたエージェント移動矢印の始点と終点とにそれぞれエージェント動作ラインが表示されるように、各ホストボックス内におけるエージェントの動作ラインを変更し、
前記エージェント動作記述変更部により、前記エージェント移動矢印操作部によりホストボックス間をエージェントが移動することが指定された場合に、それに応じてエージェントを構成するプログラムについて変更を行うことを特徴とするプログラム作成支援方法。
【請求項８】
ネットワークに接続されたコンピュータを表現するホストアイコンを描くためのホストアイコン操作部と、前記ホストアイコン内に、そのホストアイコンで表現されたコンピュータ上で動作するエージェントプログラムの各動作状態を示す状態アイコンを描くための状態アイコン操作部と、前記ホストアイコン内に、前記エージェントプログラムの各状態アイコン間の遷移を示す状態遷移矢印を描くための状態遷移矢印操作部と、異なったホストボックス内に存在するエージェントの状態アイコン同士を接続するエージェント移動矢印を描くためのエージェント移動矢印操作部とを備えとを備え、前記エージェント移動矢印操作部は、エージェント移動矢印とホストアイコンとの接続を判定する接続判定部と、状態アイコンおよび遷移矢印の表示を変更する表示調整部と、エージェントの動作記述を変更する動作記述変更部とを備えたプログラム製支援装置を使用して、
前記ホストアイコン操作部により、コンピュータの画面上に、ネットワークに接続されたコンピュータをホストアイコンを用いて表現し、前記状態アイコン操作部により、このホストアイコン内にこのホストアイコンで表現されたコンピュータ上で動作するエージェントプログラムを、エージェントプログラムの各動作状態を示す状態アイコンを表現し、前記状態遷移矢印操作部により、各状態アイコン間の遷移を示す状態遷移矢印を表現し、前記エージェント移動矢印操作部により、異なったホストボックス内に存在するエージェントの状態アイコン同士をエージェント移動矢印によって接続することにより、前記ホストアイコンによって表現された異なったコンピュータ間のエージェントプログラムの移動が、エージェントプログラムのどの動作状態間においてなされるかを表現し、
前記接続判定部により、ホストアイコン間に引かれるというエージェント移動矢印についての制約が破られた場合には、それを検出してエージェント移動矢印を通常の状態遷移矢印に変化させ、
前記表示調整部により、エージェント移動矢印の操作に伴い、各ホストアイコン内に表示されているエージェントそれ自体の構成に変化が生じた場合に、その変化に対応してエージェントの構成を表示する状態アイコンおよび状態遷移矢印の表示を変更させ、
前記動作記述変更部により、エージェントの構成の変化をその動作記述そのものの変更に反映させることを特徴とするプログラム作成支援方法。
【請求項９】
前記プログラム作成支援装置がリンク操作部を有し、このリンク操作部により、前記ホストボックスあるいはホストアイコン間に、ホストボックスあるいはホストアイコンが表現するコンピュータ間の接続状態を示すリンクを表示することを特徴とする請求項７または８に記載のプログラム作成支援方法。
【請求項１０】
前記プログラム作成支援装置がエージェント複製矢印操作部を有し、このエージェント複製操作部が、エージェントプログラムの複製操作をエージェント複製矢印によって表現し、このエージェント複製矢印の始点を複製元のホストボックス内に表示されているエージェント動作ラインに設定し、エージェント複製矢印の終点を複製先のホストボックス内に設定することにより、複製先のホストボックス内に複製元のホストボックス内に表示されているエージェント動作ラインの複製を表示して、複製先のコンピュータ上における複製元のエージェントプログラムの複製の生成を表現することを特徴とする請求項７または８に記載のプログラム作成支援方法。
【請求項１１】
前記プログラム作成支援装置が内容表示部を備え、その内容表示部により、コンピュータの画面上に、表示されたホストボックスあるいはホストアイコン、アプリケーション動作ライン、エージェント動作ライン、状態アイコン、メッセージ矢印の少なくとも一つの表示について、その表示を指定した場合に、その表示が表現するコンピュータ、プログラム、メッセージの内容を画面上に表示することを特徴とする請求項７または８に記載のプログラム作成支援方法。
【請求項１２】
前記内容表示部による前記内容の表示が、状態遷移図またはプログラムリスト形式の状態記述によって行われることを特徴とする請求項１１に記載のプログラム作成支援方法。
【請求項１３】
コンピュータ上で動作するアプリケーションプログラムをアプリケーションアイコンにより表現するアプリケーションアイコン操作部と、コンピュータ上で動作するエージェントプログラムをエージェントアイコンにより表現するエージェントアイコン操作部と、コラボレーション識別子を備えかつ各アイコン間の相互作用を表現するメッセージ矢印を用いて、各プログラム間で交換されるメッセージを表現するメッセージ矢印操作部と、コラボレーション識別子を備えかつ各アイコン間の相互作用を表現するエージェント複製矢印によって、エージェントの複製操作を表現するエージェント複製矢印操作部とを備え、前記エージェント複製矢印操作部には、生成した複製矢印の始点が複製元となるエージェントアイコンに属しているか否かを判定する接続判定部と、エージェントアイコンの複製に伴う画面表示を変更する表示調整部と、このエージェントアイコンの複製に伴って支援対象となるプログラムにエージェントを複製するための命令を追加する動作記述変更部が設けられているプログラム作成支援装置を使用し、
コンピュータの画面上に、前記アプリケーションアイコン操作部により、コンピュータ上で動作するアプリケーションプログラムをアプリケーションアイコンにより表現し、前記エージェントアイコン操作部により、エージェントプログラムをエージェントアイコンにより表現し、前記メッセージ矢印操作部により、各プログラム間で交換されるメッセージをメッセージ矢印を用いて表現し、エージェント複製矢印操作部により、エージェントの複製操作をエージェント複製矢印によって表現することで、前記各矢印を、各アイコン間の相互作用を表現するコラボレーション識別子を備えたコラボレーション矢印によって構成し、前記エージェントアイコンからエージェント複製矢印を描くことにより、このエージェント複製矢印の終点に矢印の始点に表現されているエージェントアイコンの複製を描画して、複製先のコンピュータ上における複製元のエージェントプログラムの複製の生成を表現すると共に、この複製操作に付随して必要となる変更を行い、
前記接続判定部により、生成した複製矢印の始点が複製元となるエージェントアイコンに属しているか否かを判定し、前記表示調整部により、エージェントアイコンの複製に伴う画面表示を変更し、前記動作記述部により、このエージェントアイコンの複製に伴って支援対象となるプログラムにエージェントを複製するための命令を追加することを特徴とするプログラム作成支援方法。
【請求項１４】
コンピュータ上で動作するエージェントプログラムの各動作状態を示す状態アイコンを描くための状態アイコン操作部と、前記エージェントプログラムの各状態アイコン間の遷移を示す状態遷移矢印を描くための状態遷移矢印操作部と、前記状態アイコン上に、その状態アイコンが示す状態において、エージェントが複製を行うことを示す複製マーカを表示するためのエージェント複製マーカ操作部とを備え、
前記エージェント複製マーカ操作部には、指定された状態アイコン上における複製マーカの表示・非表示の指定を判定する表示判定部と、この表示判定部による判定結果に応じて、状態アイコン上に複製マーカ表示させ、あるいは表示されていた複製マーカを削除する表示調整部と、画面上に描かれた状態アイコン上の複製マーカの表示・非表示に合わせて動作記述の変更を行う動作記述変更部とを備えていることを特徴とするプログラム作成支援装置。
【請求項１５】
ネットワークに接続されたコンピュータを表現するホストアイコンを描くためのホストアイコン操作部と、前記ホストアイコン内に、そのホストアイコンで表現されたコンピュータ上で動作するアプリケーションプログラムをアプリケーションアイコンにより表現するアプリケーションアイコン操作部と、前記ホストアイコン内に、そのホストアイコンで表現されたコンピュータ上で動作するエージェントプログラムをエージェントアイコンにより表現するエージェントアイコン操作部と、コラボレーション識別子を備えかつ各アイコン間の相互作用を表現するメッセージ矢印を用いて各プログラム間で交換されるメッセージを表現するメッセージ矢印操作部と、前記ホストアイコンによって表現された異なったコンピュータ間のエージェントプログラムの移動を、コラボレーション識別子を備えかつ各アイコン間の相互作用を表現するエージェント移動矢印によって表現するエージェント移動矢印操作部とを備え、
前記エージェント移動矢印操作部には、生成した移動矢印の始点が移動元となるエージェントアイコンに属しているか否かを判定する接続判定部と、エージェントアイコンの移動に伴う画面表示を変更する表示調整部と、このエージェントアイコンの移動に伴って支援対象となるプログラムに動作記述の変更を行う動作記述変更部が設けられていることを特徴とするプログラム作成支援装置。
【請求項１６】
コンピュータ上で動作するエージェントプログラムの各動作状態を示す状態アイコンを描くための状態アイコン操作部と、前記エージェントプログラムの各状態アイコン間の遷移を示す状態遷移矢印を描くための状態遷移矢印操作部と、前記状態アイコン上に、その状態アイコンが示す状態において、エージェントが複製を行うことを示す複製マーカを表示するためのエージェント複製マーカ操作部とを備え、前記エージェント複製マーカ操作部は、指定された状態アイコン上における複製マーカの表示・非表示の指定を判定する表示判定部と、この表示判定部による判定結果に応じて、状態アイコン上に複製マーカ表示させ、あるいは表示されていた複製マーカを削除する表示調整部と、画面上に描かれた状態アイコン上の複製マーカの表示・非表示に合わせて動作記述の変更を行う動作記述変更部とを備えているプログラム作成支援装置を使用し、
コンピュータの画面上に、前記状態アイコン操作部により、コンピュータ上で動作するエージェントプログラムの各動作状態を示す状態アイコンを表現し、前記状態遷移矢印操作部により、各状態アイコン間の遷移を示す状態遷移矢印を表現し、前記状態アイコン上に複製マーカを表示するか否かによって、その状態アイコンが示す状態において、エージェントが複製を行うか否かを表現し、
前記表示判定部により、指定された状態アイコン上における複製マーカの表示・非表示の指定を判定し、前記表示調整部により、前記表示判定部による判定結果に応じて、状態アイコン上に複製マーカ表示させ、あるいは表示されていた複製マーカを削除させ、前記動作記述変更部により、画面上に描かれた状態アイコン上の複製マーカの表示・非表示に合わせて動作記述の変更を行うことを特徴とするプログラム作成支援方法。
【請求項１７】
ネットワークに接続されたコンピュータを表現するホストアイコンを描くためのホストアイコン操作部と、前記ホストアイコン内に、そのホストアイコンで表現されたコンピュータ上で動作するアプリケーションプログラムをアプリケーションアイコンにより表現するアプリケーションアイコン操作部と、前記ホストアイコン内に、そのホストアイコンで表現されたコンピュータ上で動作するエージェントプログラムをエージェントアイコンにより表現するエージェントアイコン操作部と、コラボレーション識別子を備えかつ各アイコン間の相互作用を表現するメッセージ矢印を用いて各プログラム間で交換されるメッセージを表現するメッセージ矢印操作部と、前記ホストアイコンによって表現された異なったコンピュータ間のエージェントプログラムの移動を、コラボレーション識別子を備えかつ各アイコン間の相互作用を表現するエージェント移動矢印によって表現するエージェント移動矢印操作部とを備え、前記エージェント移動矢印操作部には、生成した移動矢印の始点が移動元となるエージェントアイコンに属しているか否かを判定する接続判定部と、エージェントアイコンの移動に伴う画面表示を変更する表示調整部と、このエージェントアイコンの移動に伴って支援対象となるプログラムに動作記述の変更を行う動作記述変更部が設けられているプログラム作成支援装置を使用して、
コンピュータの画面上に、前記ホストアイコン操作部により、ネットワークに接続されたコンピュータをホストアイコンを用いて表現し、アプリケーションアイコン操作部により、このホストアイコン内にこのホストアイコンで表現されたコンピュータ上で動作するアプリケーションプログラムをアプリケーションアイコンにより表現し、エージェントアイコン操作部により、エージェントプログラムをエージェントアイコンにより表現し、メッセージ矢印操作部により、各プログラム間で交換されるメッセージをメッセージ矢印を用いて表現し、エージェント移動矢印操作部により、エージェントの移動をエージェント移動矢印によって表現し、前記各矢印を、各アイコン間の相互作用を表現するコラボレーション識別子を備えたコラボレーション矢印によって構成し、前記エージェントアイコンからエージェント移動矢印を描くことにより、このエージェント移動矢印の終点にエージェントアイコンを描画して移動後のエージェントを表現するとともに、この移動に付随して必要となる表示変更を行い、
前記接続判定部により、生成した移動矢印の始点が移動元となるエージェントアイコンに属しているか否かを判定し、前記表示調整部により、エージェントアイコンの移動に伴う画面表示を変更し、前記動作記述変更部により、このエージェントアイコンの移動に伴って支援対象となるプログラムに動作記述の変更を行うことを特徴とするプログラム作成支援方法。
【請求項１８】
前記請求項７から１３、１６、および１７のいずれかに記載されたプログラム作成支援方法を実現するコンピュータプログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のコンピュータ間で移動するモバイルエージェントを使用したプログラムの作成を支援する装置および方法に関するものである。
【０００２】
【従来の技術】
インターネットやイントラネットといった広域開放型ネットワーク環境が発展するのに伴い、変化が激しく、多種多様な要求が与えられるような分散システムへの需要がますます高まりつつある。そのようなシステム構築のための基盤技術として、エージェントが期待されている。エージェントとは、自律性、移動性、知性、協調性、即応性といった特徴により、環境の変化や多種多様な要求に対応するソフトウェアである。特に、移動性を備えたいわゆるモバイルエージェントは、最も実用化が近いと期待されている。なお、ここでの移動機能は、インターネットやイントラネットといった広域開放型ネットワーク環境で提供される情報リソースを、ネットワーク上を移動しながらそれらにアクセスすることにより、効率よく活用することを目的とした機能である。
【０００３】
さらに、エージェントの実システムへの適用が考えられるようになってきたため、開発支援技術の研究も出始めている。たとえば、オブジェクト指向方法論を適用した開発手法や、デザインパターンの適用といったものがある。前者の例として、David Kinny and Michael Georgeff " Modelling and Design of Multi-Agent Systems "（Jorg P. Muller, Michael Wooldridge, Nicholas R. Jennings編 "Intelligent Agents III; Proceedings of the 1996 Workshop on Agent Theories, Architectures, and Languages" 所収）がある。また後者の例として、Yariv Aridor and Danny B. Lange "Agent design patterns: Elements of agent application design" （Proceedings of Agents '98 所収）がある。
【０００４】
Kinny とGeorgeffの文献は、エージェントシステムの開発に対し、ＯＭＴ（James Rumbaugh, Michael Blaha, William, Premerlani, Frederick Eddy, william Lorenson著、羽生田栄一監訳「オブジェクト指向方法論ＯＭＴ−モデル化と設計」）と呼ばれる、図式表現に基づいた開発手法を適用している。ＯＭＴは、本来オブジェクト指向システムの開発手法として広く有効性が認められているので、オブジェクト指向技術を基盤としたエージェントシステムの開発に対しても効果がある。
【０００５】
AridorとLange の文献では、エージェントのためのデザインパターンを、Travelling Pattern、Task Pattern、およびInteraction Patternsの3 種類に分けて、いくつか例示している。ここでデザインパターンとは、ソフトウェア開発における過去の優れた経験を定式化し、明示的に表現することにより、それら優れたソフトウェア設計の再利用を容易にするものである。また、そのようなデザインパターンの利用例も示すことにより、エージェントシステムの開発手法を効果的に例示している。
【０００６】
【発明が解決しようとする課題】
一般に、移動機能を持つモバイルエージェントは、その動きをとらえるのが、従来のソフトウェアに比べて困難である、という点がある。すなわち、エージェントがリモートホストに移動して作業を開始すると、移動先の環境に対応して動作することになるが、そのようなリモートホストの環境を把握することは容易ではなく、結果的にエージェントの動作の把握も困難となる。このため、エージェントシステムは理解容易性が低くなりがちであり、開発はアドホックなものとなり、信頼性や拡張性が乏しいシステムとなる。したがって、移動機能をいかに効果的に表現できるかが、モバイルエージェントシステムの開発手法として重要である。
【０００７】
ところが、このような点に関して、上記の先行技術には次のような問題点がある。まず、Kinny とGeorgeffの文献の手法で利用しているＯＭＴは、モバイルエージェントの中心的な機能であるエージェント移動機能を効果的に表現することができず、エージェントの移動機能を扱っていない。また、AridorとLange の文献の手法は、そこで紹介している特定のデザインパターンにおけるエージェントの移動機能の利用法を示すのみであり、エージェント移動機能の一般的な表現方法については考慮していない。
【０００８】
本発明は、前記のような従来技術の問題点を解決するために提案されたものであって、エージェントの移動機能の図的表現を開発者が視覚的に操作することにより、モバイルエージェントシステムの開発を容易にするプログラム作成支援装置およびその方法、作成支援プログラムを記録した媒体を提供することを目的とする。
特に、本発明は、エージェントの移動または複製を矢印とアイコンやボックスなどの図形によって表示すると共に、この矢印の操作部として表示判定部、表示調整部および動作記述変更部の三者を備えた構成とすることで、開発者に対してエラー表示や記述変更などのプログラム作成支援を与えるものである。
【０００９】
【課題を解決するための手段】
前記の目的を達成するための手段の一つは、ネットワークに接続されたコンピュータを表現するホストボックスを描くためのホストボックス操作部と、前記ホストボックス内に、そのホストボックスで表現されたコンピュータ上で動作するアプリケーションプログラムを表すアプリケーション動作ラインを描くためのアプリケーション動作ライン操作部と、前記ホストボックス内に、そのホストボックスで表現されたコンピュータ上で動作するエージェントプログラムを表すエージェント動作ラインを描くためのエージェント動作ライン操作部と、前記各プログラム間で交換されるメッセージを表すメッセージ矢印を描くためのメッセージ矢印操作部と、前記ホストボックスによって表現された異なったコンピュータ間のエージェントプログラムの移動を表現するために、異なったホストボックス内に存在するエージェント動作ライン同士を接続するエージェント移動矢印を描くためのエージェント移動矢印操作部とを備えていることを特徴とする。
【００１０】
このような解決手段では、画面上に、ネットワークに接続されたコンピュータをホストボックスを用いて表現し、このホストボックス内にこのホストボックスで表現されたコンピュータ上で動作するアプリケーションプログラムとエージェントプログラムとをそれぞれの動作ラインによって表現し、各プログラム間で交換されるメッセージを前記動作ライン間に描かれたメッセージ矢印によって表現し、異なったホストボックス内に存在するエージェント動作ライン同士をエージェント移動矢印によって接続することにより、前記ホストボックスによって表現された異なったコンピュータ間のエージェントプログラムの移動を表現する。
【００１１】
他の解決手段は、ネットワークに接続されたコンピュータを表現するホストアイコンを描くためのホストアイコン操作部と、前記ホストアイコン内に、そのホストアイコンで表現されたコンピュータ上で動作するエージェントプログラムの各動作状態を示す状態アイコンを描くための状態アイコン操作部と、前記ホストアイコン内に、前記エージェントプログラムの各状態アイコン間の遷移を示す状態遷移矢印を描くための状態遷移矢印操作部と、異なったホストボックス内に存在するエージェントの状態アイコン同士を接続するエージェント移動矢印を描くためのエージェント移動矢印操作部とを備えていることを特徴とする。
【００１２】
この手段では、画面上に、ネットワークに接続されたコンピュータをホストアイコンを用いて表現し、このホストアイコン内にこのホストアイコンで表現されたコンピュータ上で動作するエージェントプログラムを、エージェントプログラムの各動作状態を示す状態アイコンと、各状態アイコン間の遷移を示す状態遷移矢印とによって表現し、異なったホストボックス内に存在するエージェントの状態アイコン同士をエージェント移動矢印によって接続することにより、前記ホストアイコンによって表現された異なったコンピュータ間のエージェントプログラムの移動が、エージェントプログラムのどの動作状態間においてなされるかを表現する。
【００１３】
他の解決手段は、前記ホストボックスあるいはホストアイコン間に、ホストボックスあるいはホストアイコンが表現するコンピュータ間の接続状態を示すリンクを表示するためのリンク操作部を備えていることを特徴とする。この手段では、前記ホストボックスあるいはホストアイコン間に、ホストボックスあるいはホストアイコンが表現するコンピュータ間の接続状態を示すリンクを表示する。
【００１４】
他の解決手段は、エージェントプログラムの複製操作を表現するエージェント複製矢印を描くためのエージェント複製矢印操作部を備えていることを特徴とする。この手段では、エージェントプログラムの複製操作をエージェント複製矢印によって表現し、このエージェント複製矢印の始点を複製元のホストボックス内に表示されているエージェント動作ラインに設定し、エージェント複製矢印の終点を複製先のホストボックス内に設定することにより、複製先のホストボックス内に複製元のホストボックス内に表示されているエージェント動作ラインの複製を表示して、複製先のコンピュータ上における複製元のエージェントプログラムの複製の生成を表現する。
【００１５】
他の解決手段は、画面上に表示されたホストボックスあるいはホストアイコン、アプリケーション動作ライン、エージェント動作ライン、状態アイコン、メッセージ矢印の少なくとも一つの表示について、その表示を指定した場合に、その表示が表現するコンピュータ、プログラム、メッセージの内容を画面上に表示する内容表示部を備えていることを特徴とする。この手段では、画面上の表示を指定した場合に、その表示が表現するコンピュータ、プログラム、メッセージの内容を画面上に表示する。また、前記内容の表示を、状態遷移図またはプログラムリスト形式の状態記述によって行う。
【００１６】
他の解決手段は、コンピュータ上で動作するアプリケーションプログラムをアプリケーションアイコンにより表現するアプリケーションアイコン操作部と、コンピュータ上で動作するエージェントプログラムをエージェントアイコンにより表現するエージェントアイコン操作部と、各プログラム間で交換されるメッセージを、各アイコン間の相互作用を表現するコラボレーション識別子を備えたコラボレーション矢印からなるメッセージ矢印を用いて表現するメッセージ矢印操作部と、エージェントの複製操作を、各アイコン間の相互作用を表現するコラボレーション識別子を備えたコラボレーション矢印からなるエージェント複製矢印によって表現するエージェント複製矢印操作部とを備えていることを特徴とする。
【００１７】
この手段では、画面上に、コンピュータ上で動作するアプリケーションプログラムをアプリケーションアイコンにより表現し、エージェントプログラムをエージェントアイコンにより表現し、各プログラム間で交換されるメッセージをメッセージ矢印を用いて表現し、エージェントの複製操作をエージェント複製矢印によって表現し、前記各矢印を、各アイコン間の相互作用を表現するコラボレーション識別子を備えたコラボレーション矢印によって構成し、前記エージェントアイコンからエージェント複製矢印を描くことにより、このエージェント複製矢印の終点部分に対して矢印の始点に表現されているエージェントアイコンの複製を描画して、複製先のコンピュータ上における複製元のエージェントプログラムの複製の生成を表現すると共に、この複製操作に付随して必要となる変更を行う。
【００１８】
他の解決手段は、コンピュータ上で動作するエージェントプログラムの各動作状態を示す状態アイコンを描くための状態アイコン操作部と、前記エージェントプログラムの各状態アイコン間の遷移を示す状態遷移矢印を描くための状態遷移矢印操作部と、前記状態アイコン上に、その状態アイコンが示す状態において、エージェントが複製を行うことを示す複製マーカを表示するためのエージェント複製マーカ操作部とを備えていることを特徴とする。
【００１９】
この手段では、画面上に、コンピュータ上で動作するエージェントプログラムを、エージェントプログラムの各動作状態を示す状態アイコンと、各状態アイコン間の遷移を示す状態遷移矢印とによって表現し、前記状態アイコン上に複製マーカを表示するか否かによって、その状態アイコンが示す状態において、エージェントが複製を行うか否かを表現する。
【００２０】
他の解決手段は、ネットワークに接続されたコンピュータを表現するホストアイコンを描くためのホストアイコン操作部と、前記ホストアイコン内に、そのホストアイコンで表現されたコンピュータ上で動作するアプリケーションプログラムをアプリケーションアイコンにより表現するアプリケーションアイコン操作部と、前記ホストアイコン内に、そのホストアイコンで表現されたコンピュータ上で動作するエージェントプログラムをエージェントアイコンにより表現するエージェントアイコン操作部と、各プログラム間で交換されるメッセージを、各アイコン間の相互作用を表現するコラボレーション識別子を備えたコラボレーション矢印からなるメッセージ矢印を用いて表現するメッセージ矢印操作部と、前記ホストアイコンによって表現された異なったコンピュータ間のエージェントプログラムの移動を表現するために、各アイコン間の相互作用を表現するコラボレーション識別子を備えたコラボレーション矢印からなるエージェント移動矢印によって表現するエージェント移動矢印操作部とを備えていることを特徴とする。
【００２１】
この手段では、画面上に、ネットワークに接続されたコンピュータをホストアイコンを用いて表現し、このホストアイコン内にこのホストアイコンで表現されたコンピュータ上で動作するアプリケーションプログラムをアプリケーションアイコンにより表現し、エージェントプログラムをエージェントアイコンにより表現し、各プログラム間で交換されるメッセージをメッセージ矢印を用いて表現し、エージェントの移動をエージェント移動矢印によって表現し、前記各矢印を、各アイコン間の相互作用を表現するコラボレーション識別子を備えたコラボレーション矢印によって構成し、前記エージェントアイコンからエージェント移動矢印を描くことにより、このエージェント移動矢印の終点にエージェントアイコンを描画して移動後のエージェントを表現するとともに、この移動に付随して必要となる表示変更を行う。
【００２２】
他の解決手段は、記録媒体に関するものであって、この記録媒体に前記のようなプログラム作成支援方法を実現するコンピュータプログラムを記録する。
【００２３】
【発明の実施の形態】
以下、本発明のプログラム作成支援装置および方法の実施形態を図面に基づいて具体的に説明する。本発明の実施形態はコンピュータ上に実現され、実施形態の各機能は、所定の手順（プログラム）がこのコンピュータを制御することで実現される。例えば、入力装置は、入力するプログラムやデータの態様によって種々のものを採用することができ、キーボードやマウスなどを使用できる。また、各記憶装置は、外部から入力したデータや作成対象となるプログラム、および本実施形態の作成支援装置を構成するプログラムや、本実施形態の支援装置で作成した各種のデータ蓄えるためのものであり、磁気や光ディスク装置、半導体メモリ等の所望の装置を用いることができる。さらに、他の部分は、コンピュータのソフトウェアによって構成されることが典型的である。
【００２４】
本明細書における各「部」は、実施形態の各機能に対応する概念的なもので、必ずしも特定のハードウェアやソフトウェア・ルーチンに１対１には対応しない。したがって、本明細書では、以下、実施形態の各機能を有する仮想的回路ブロック（部）を想定して実施形態を説明する。また、本実施形態における各手順の各ステップは、その性質に反しない限り、実行順序を変更し、複数同時に実行し、また、実行ごとに異なった順序で実行してもよい。
【００２５】
（１）第１実施形態
本実施形態は、エージェントの移動機能の開発を支援するもので、システムで動作中のソフトウェア（アプリケーションやエージェント）の動作状況や、それらソフトウェア間の相互作用の状況を、時間軸に沿って示すシーケンス図の表記を利用する。シーケンス図では、上から下への縦方向に時間が流れているものとし、動作ラインと呼ばれる縦方向の直線によって、各ソフトウェアの動作状況を表現する。また、動作ライン間に引かれた、相互作用矢印によって、ソフトウェア間の相互作用を表現する。
【００２６】
なお、本発明のプログラム作成支援装置はプログラムやそれを動作させるコンピュータを画面上に図形として表示するものであるから、本実施形態および後に述べる他の実施形態に使用される各種の動作（図形の生成、削除、移動、コピー）は、従来からＣＡＤなどの図形処理ソフトウェアで知られている手法を適宜採用することができる。また、従来の図形処理ソフトで使用されるテンプレートの利用、スナップ、ガイド、グリッド、拡大、縮小、線種変更、線や矢印によって接続されたアイコン間の位置を変更した場合に線や矢印が自動的に追従する機能なども、本発明の装置に組み合わせて使用できる。
【００２７】
（１−１）第１実施形態の構成…図１，図２
本実施形態のプログラム作成支援装置について、図１および図２を参照して説明する。本装置は、その支援対象となるプログラムの開発を行うとともに本装置を動作させるためにＣＰＵやメモリを備えたコンピュータ本体１と、このコンピュータ本体１に対しさまざまなコマンドやデータを入力するマウスやキーボードなどの入力装置２と、プログラムの作成を支援するために本装置によって生成されるさまざまな表示を描画するためのディスプレイ３とを備えている。
【００２８】
前記コンピュータ本体１上で動作する本装置は、開発過程にあるプログラムを構成する各種のアプリケーションと各種のエージェントの仕様や動作記述を記憶する記憶装置４を備えている。この記憶装置４は、これらのプログラムを動作させるためにネットワークの各ノードを構成する複数のコンピュータと、各アプリケーションやエージェント間において交換される各種のメッセージについても、それぞれの内容を記憶する。
【００２９】
本装置には、ホストボックス操作部１２、アプリケーション動作ライン操作部１３、エージェント動作ライン操作部１４、エージェント移動矢印操作部１５、メッセージ矢印操作部１６、メニュー表示部１７、表示判定部１８および内容表示部１９が設けられている。また、前記エージェント移動矢印操作部１５は、エージェント移動矢印Ａｙとホストボックスとの接続を判定する接続判定部１５１と、エージェント動作ラインの変更行う動作ライン調整部１５２と、エージェントの動作記述を変更する動作記述変更部１５３とを備えている。
【００３０】
ホストボックス操作部１２は、前記記憶装置４に記憶されている複数のネットワーク上のコンピュータ中から所定のコンピュータを選択し、そのコンピュータをホストボックスＨとしてディスプレイ３の画面上に表示する。このホストボックス操作部１２は、画面上におけるホストボックスの生成、削除、移動を行うと共に、後に説明するアプリケーション動作ラインＰやエージェント動作ラインＡがホストボックスＨ内にとどまるように調整するなどのホストボックスに関する操作を行う。
【００３１】
アプリケーション動作ライン操作部１３は、ネットワークに接続された各コンピュータ上で動作するアプリケーションを選択して、このアプリケーションを前記コンピュータに対応するホストボックスＨ内に直線として表示する。この場合、本実施形態においては、このアプリケーション動作ラインＰはアプリケーションの動作ステップに従って画面の上方から下方に向かって伸びる直線として表示される。エージェント動作ライン操作部１４は、前記記憶装置４に記憶されている複数のエージェントの中から、所定のエージェントを選択して、そのエージェントが動作するコンピュータを示すホストボックスＨ内に、画面の上方から下方に伸びる直線として表示する。すなわち、アプリケーション動作ラインＰは、エージェントでない通常のアプリケーションソフトウェアの動作状況を表し、エージェント動作ラインＡは、モバイルエージェントの各ホスト内での動作状況を表すもので、これらは、実線、点線などにより区別されている。
【００３２】
これら各動作ラインＰ，Ａは、画面上の一点を指定することにより、その点を通る縦方向の直線として描画されるものであり、前記各操作部１３，１４によってホストボックスＨ内からはみ出すことがないように描かれる。また、各操作部１３，１４は、ホストボックスが表すコンピュータ内における各種のアプリケーションやエージェントの動作を、各アプリケーションやエージェントの動作時間軸上における相対的な位置関係を利用して表示するものである。そのため、前記各操作部１３，１４は、各アプリケーションやエージェントの生成、消滅に従い、ホストボックスＨ内における各動作ラインＰ，Ａの長さを調整する機能を有する。また、各操作部１３，１４は、各動作ラインＰ，Ａの削除、移動などの操作も行うように構成されている。
【００３３】
エージェント移動矢印操作部１５は、画面上に表示している複数のホストボックスＨ間に、そのホストボックスが表示するコンピュータ間にエージェントを移動させることを示す矢印（エージェント移動矢印Ａｙ）を表示するものである。このエージェント移動矢印操作部１５には、エージェント移動矢印Ａｙの接続判定部１５１、エージェント動作ライン調整部１５２およびエージェント動作記述変更部１５３が設けられている。
【００３４】
エージェント移動矢印Ａｙの接続判定部１５１は、描画するエージェント移動矢印Ａｙの始点と終点が、移動元と移動先のホストボックスＨ１，Ｈ２内に位置しているか否かを判定するものであり、移動矢印Ａｙがこれらの２つのホストボックス間にまたがっていない場合にはエラーとして再度の移動矢印Ａｙの描画を促すものである。動作ライン調整部１５２は、描画されたエージェント移動矢印Ａｙの始点と終点とにそれぞれエージェント動作ラインＡが表示されるように、各ホストボックス内におけるエージェントの動作ラインを変更する。すなわち、エージェント移動矢印操作部１５により、エージェントがホストボックス間を移動することが画面上に表示された場合、このエージェントの移動に伴い移動元と移動先のホストボックス内におけるエージェントの動作が移動矢印Ａｙの描画前の状態とは異なることになる。そのため、動作ライン調整部１５２は、移動矢印Ａｙを描画した場合に、エージェントの移動に伴う移動元と移動先のホストボックス内におけるエージェント動作ラインＡの変更を行う。エージェント動作記述変更部１５３は、前記動作ライン調整部１５２と同様に、エージェント移動矢印操作部１５によりホストボックス間をエージェントが移動することが指定された場合に、それに応じてエージェントを構成するプログラムについて移動命令を付加するなどの変更を自動的に行う。
【００３５】
エージェント移動矢印操作部１５は、前記のようなエージェント移動矢印Ａｙの生成に加えて、その削除、移動などの操作も行うように構成されており、これらの操作に伴い、動作ライン調整部１５２およびエージェント動作記述変更部１５３が動作ラインの調整と、エージェントを構成するプログラムの変更を自動的に行う。
【００３６】
メッセージ矢印操作部１６は、記憶装置に記憶されている複数のメッセージの中から所定のメッセージを選択し、このメッセージが指定したアプリケーション間、あるいはアプリケーションとエージェント間で交換されるように、アプリケーション動作ラインＰ間あるいはエージェント動作ラインＡ間にメッセージ矢印Ｍｙを表示する。すなわち、２つの動作ライン付近の一点ずつを指定することにより、一方の動作ラインから他方の動作ラインに延びた、各動作ラインに接触するメッセージ矢印Ｍｙを描く。このメッセージ矢印操作部１６は、前記のようなメッセージ矢印Ｍｙの生成に加えて、その削除、移動などの操作も行うように構成されている。
【００３７】
メニュー表示部１７は、前記入力装置２を利用して前記各操作部１２〜１６のいずれかを選択するとともに、選択された各操作部１２〜１６を動作させる場合において必要な選択、すなわち、
(1) 記憶装置に記憶されている中のどのような種類のコンピュータ、アプリケーション、エージェントあるいはメッセージを操作するか。
(2) 各操作部において動作ラインや移動矢印Ａｙの生成、消滅、移動などのうち、どの様な操作を行うか。
(3) プログラムなどの内容を表示させる場合にどの様な表示形式を選択するか。などの選択を行う。
【００３８】
表示判定部１８は、入力装置２を使用して画面上に表示された複数の表示の中からある特定の表示を指定した場合に、その表示がどのような種類の動作ラインや矢印であるかを判定する。この表示判定部１８は、単に指定された動作ラインや矢印の種類を判定するだけではなく、指定された動作ラインまたは矢印が前記記憶装置４に記憶されているどのアプリケーションやエージェントを表しているかについても判定する。
【００３９】
内容表示部１９は、各操作部１２〜１６によって操作されるホストボックス、アプリケーション動作ラインＰ、エージェント動作ラインＡ、エージェント移動矢印Ａｙ、およびメッセージ矢印Ｍｙの内容を表示する。すなわち、この内容表示部１９は、前記表示判定部１８によって判定された各動作ラインや矢印が表示するアプリケーションやエージェントあるいはメッセージの記述内容や仕様を画面上に具体的に表示する。本実施形態においては、エージェント等の内容を状態遷移図によって表示するかあるいはプログラムリストのような状態記述によって表示するかを、前記メニュー表示部１７を利用して選択することができるように、この内容表示部１９は状態遷移図表示部１９１と状態記述表示部１９２とにより構成されている。
【００４０】
（１−２）第１実施形態の作用
（１−２−１）画面上における各表示の説明…図２
ディスプレイ３の画面上にはネットワーク上のコンピュータを表すホストボックスＨが表示されている。この図２ではネットワークに接続された２つのホストボックスＨ１，Ｈ２が表示されている。それぞれのホストボックスＨ１，Ｈ２内には非エージェントアプリケーションの動作を表すアプリケーション動作ラインＰが表示されている。このアプリケーション動作ラインＰは、ホストボックス内において縦方向に伸びる直線として表示されており、このアプリケーション動作ラインＰによってホストボックスＨによって表されたコンピュータ内におけるアプリケーションの動作が経時的に表示される。
【００４１】
ホストボックスＨ内にはそのコンピュータで動作するアプリケーションの数に応じて複数本の動作ラインが表示されている。複数の動作ラインの間には、各アプリケーション間で交換されるメッセージを表示するために、メッセージ矢印Ｍｙが表示されている。このメッセージ矢印Ｍｙは後述するエージェントの移動を表示する矢印（エージェント移動矢印Ａｙ）とは区別するために、画面上では太さや色彩あるいは点線実線などを異ならせて表示されている。
【００４２】
ホストボックスＨ内には、コンピュータ内におけるモバイルエージェントの動作を表すために、エージェント動作ラインＡが表示されている。このモバイルエージェントの動作ラインＡは、前記アプリケーション動作ラインＰとは点線、実線などの線種や色彩により区別して表示される。モバイルエージェントは、ネットワークに接続された複数のコンピュータ間を移動するものであるため、モバイルエージェントの移動元である第１のホストボックスＨ１内においては、このモバイルエージェントの生成から他のコンピュータへ移動するまでの間の状態を示す動作ラインＡ１が表示され、移動先である第２のホストボックスＨ２内には移動してきたモバイルエージェントの到着時からその消滅時あるいは他のコンピュータへ移動するまでの間の状態を示す動作ラインＡ２が表示される。
【００４３】
さらに、移動元のホストボックスＨ１と移動先のホストボックスＨ２との間には、エージェントの移動を示すエージェント移動矢印Ａｙが表示されている。このエージェント移動矢印Ａｙは、移動元のホストボックスＨ１内に表示されたエージェント動作ラインＡの終端と、移動先のホストボックスＨ２内に表示されたエージェント動作ラインＡの始点とを結ぶものである。また、このエージェント動作ラインＡと前記アプリケーション動作ラインＰとの間には、エージェントとアプリケーションとの間で交換されるメッセージを表示するためのメッセージ矢印Ｍｙが表示されている。
【００４４】
（１−２−２）エージェント動作ラインの生成…図３，図４
ところで、本実施形態においては、次のようにして複数のホストボックスＨにエージェント動作ラインＡを表示させることができる。すなわち、図３は、エージェントの移動元と移動先のコンピュータを表示したホストボックスＨが描かれ、これらホストボックス内にそれぞれ独立して動作する複数のアプリケーションがアプリケーション動作ラインＰとして示されている。このホストボックスＨを描画するには、前記図１に示したホストボックス操作部１２により、記憶装置４から所定のコンピュータを選択し、このコンピュータに相当するホストボックスを画面上に描画する。この図３では、ネットワークに接続された２つのコンピュータに相当する２つのホストボックスＨ１，Ｈ２が画面上に表示され、各ホストボックス内にはそれぞれのコンピュータで動作するアプリケーションを示す動作ラインＰが表示されている。
【００４５】
このような複数のコンピュータ間においてモバイルエージェントを動作させる場合には、マウスなどの入力装置２を利用して、まず、どのような種類のエージェントを生成させるかについてメニュー表示部１７を利用して選択しておく。このようなエージェントを選択することにより、エージェントがどのアプリケーションの実行状態におけるどのようなタイミングにおいて生成あるいは消滅するか、また、エージェントの属性、仕様、機能などが決定される。次に、マウスなどの入力装置２を使用して移動元のホストボックスＨ１内における所定の点を指定し、この点から移動先のホストボックスＨ２に向けてエージェント移動矢印Ａｙを描く。なお、ここで指定した点は移動元のホストボックスＨ１内で動作するアプリケーションとの関係において、モバイルエージェントが移動先のホストボックスＨ２に移動するタイミングに相当する。
【００４６】
このような入力装置２からの指令に基づいて、エージェント移動矢印操作部１５がエージェント移動矢印Ａｙを描くと、図４に示すように、前記エージェント動作ライン調整部１５２によって移動元のホストボックスＨ１と移動先のホストボックスＨ２のそれぞれにエージェント動作ラインＡが表示される。このうち移動元のホストボックスＨ１に表示されるエージェント動作ラインは、前記の選択されたエージェントの属性などによって定まるホストボックス内の所定の点を始点とし、エージェント移動矢印Ａｙの始点部を終点とする。一方、移動先のホストボックスＨ２に表示される動作ラインは、エージェント移動矢印Ａｙの終点部を始点として、あらかじめ選択されたエージェントの属性などによって定まるホストボックス内の所定の点を終点とする。
【００４７】
なお、図では表示されていないが、このような移動矢印の生成に伴ってエージェント動作ラインＡが生成された場合、エージェント動作記述変更部１５３により、生成された動作ラインに対応するようにエージェントプログラム自体の仕様や動作記述も変更される。さらに、前記の入力装置２によって、エージェント移動矢印Ａｙを描いた場合に、その始点と終点のいずれか一方、あるいはその両方がホストボックスＨ内に存在しない場合には、接続判定部１５１がこれを検出してエラー処理を行い、始点と終点が移動元と移動先のホストボックスＨ１，Ｈ２にまたがった移動矢印を再度入力するように、プログラムの開発者に促すことになる。
【００４８】
このように、本実施形態によれば、複数のホストボックスの間にまたがってエージェント移動矢印Ａｙを描くだけの操作により、各ホストボックスにおけるエージェントを生成および消滅を表すエージェント動作ラインＡが自動的に生成される。その結果、エージェント移動矢印Ａｙを描くという１つの操作により、ネットワークに接続されたあるコンピュータ上でエージェントが生成され、そのエージェントが他のコンピュータ上に移動して所定の動作を行うことが、一目瞭然に表示される。
【００４９】
（１−２−３）エージェント動作ラインの変更…図５，図６
図５は移動元のホストボックスＨ１内にエージェント動作ラインＡが表示されている場合に、エージェント動作ライン操作部１４を使用して、このエージェント動作ラインＡの途中から移動先のホストボックスＨ２に向けてエージェント移動矢印Ａｙを描いた場合を表示している。このような場合は、移動矢印Ａｙを描く前の状態では移動元のホストボックスＨ１内においてエージェントが生成し、所定の動作を行ってから消滅することを意味しているが、そのエージェントの動作ラインＡの途中から移動矢印Ａｙを描いた結果、エージェントは矢印の始点部分までは移動元のホストボックスＨ１内で動作を行い、その後矢印によって結ばれた移動先のホストボックスＨ２に移動して、そのホストボックスＨ２が表すコンピュータ上で動作を行う。
【００５０】
したがって、このようなエージェント移動矢印Ａｙを描くと、それによって生じるエージェントの移動に応じて、エージェント動作ライン調整部１５２により、各ホストボックス内におけるエージェント移動ラインについても図６に示すように、移動元のホストボックスＨ１内では矢印の始点以降のエージェント動作ラインＡが消去され、一方、移動先のホストボックスＨ２内においては矢印の終点部以降にエージェント動作ラインＡが生成されるという調整が自動的に行われる。
【００５１】
（１−２−４）移動矢印を描画する場合のフローチャート…図７
前記のような図３〜図６に示すような本実施形態の作用を図７のフローチャートによって説明する。まず、ステップ１のようにエージェント移動矢印操作部１５を利用してエージェント移動矢印Ａｙを画面上に描くと、ステップ２のように接続判定部１５１が描かれたエージェント移動矢印Ａｙが複数のホストボックスＨにまたがっているか否かの判定を行う。ここで、エージェント移動矢印Ａｙが複数のホストボックスＨにまたがっていない場合には、エージェントの移動元および／または移動先が示されていないので、ステップ３においてエラー処理を行い改めてエージェント移動矢印Ａｙの入力を待つ。一方、エージェント移動矢印Ａｙが複数のホストボックスＨにまたがっていることが確認された場合には、ステップ４に進み、前記接続判定部１５１において、エージェント移動矢印Ａｙの始点および終点がモバイルエージェントの動作ラインに接しているか否かの判定を行う。
【００５２】
移動矢印Ａｙの始点および終点が動作ラインに接していない場合には、ステップ５において、エージェント動作ライン調整部１５２により、移動矢印Ａｙの始点側のホストボックスＨ１内には上方に向けてエージェント動作ラインＡを表示し、一方、移動矢印Ａｙの終点側のホストボックスＨ２内には下方に向けてエージェント動作ラインＡを表示する。このステップ５の動作が、前記図３および図４に示したものである。
【００５３】
また、ステップ４において、前記接続判定部１５１によりエージェント移動矢印Ａｙの始点あるいは終点がエージェント動作ラインＡに接していることが判明した場合には、ステップ６に進む。このステップ６においては、エージェント動作ライン調整部１５２により、移動矢印Ａｙの始点が動作ラインに接している場合には（前記図５の状態）、動作ラインの上側のみを残して動作ラインを縮小し、移動矢印Ａｙの終点側のホストボックスＨ内に矢印の終点よりも下側に伸びる動作ラインを描く（前記図６の状態）。また移動矢印Ａｙの終点がエージェント動作ラインＡの途中に接している場合には、矢印の終点よりも下側の動作ラインを残してそのボックス内の動作ラインを縮小し、一方矢印の始点側のホストボックスＨ内に矢印の始点よりも上側に新たな動作ラインを表示する。
【００５４】
（１−２−５）状態遷移図による内容表示…図８，図９
次に、本実施形態における内容表示部１９の作用を説明する。
例えば、図８に示すようなホストボックスＨ内にエージェント動作ラインＡが表示されている状態において、マウスなどの入力手段によりそのエージェント動作ラインＡを指定する。すると、表示判定部１８が指定した表示がどの様な種類の表示、例えばホストボックス、動作ラインあるいは矢印であるか（図８の場合はエージェント動作ラインＡ）を判別し、さらに、判別された各種の表示ごとに複数の異なった内容のものがある場合には、その表示が記憶装置に記憶されているいずれのコンピュータ、アプリケーション、エージェント、メッセージであるかを判別する（図８の場合には、どのような種類のエージェントであるか）。この表示判定部１８の判別結果に従い、内容表示部１９は指定された表示に対応するコンピュータ、アプリケーション、エージェント、メッセージに関する仕様や動作記述を呼び出して、図９に示すように、画面上に新たなウインドウＷを開き、このウインドウＷ内に指定された表示に対応するコンピュータ、アプリケーション、エージェントあるいはメッセージの仕様や動作記述を表示する。
【００５５】
この動作記述の表示にあたっては、動作記述を表示させる動作ラインなどの表示にカーソルを合わせてマウスのボタンをダブルクリックしたりあるいはマウスの右ボタンを押すことにより、メニュー表示部１７によりメニューを表示させて状態遷移図表示部１９１あるいは状態記述表示部１９２を選択することにより、表示する動作記述表示の形式を選択することができる。
【００５６】
この図９の例では、エージェント動作ラインＡによって表示されたエージェントの動作記述が、画面上に開かれたウインドウＷ内に状態遷移図として表示されている。すなわち、このウインドウＷ内には、エージェントの動作記述が、エージェントの状態を表す状態アイコンＮと、エージェントの状態変化を表す状態遷移矢印Ｎｙとによって表示されている。
【００５７】
（１−２−６）状態遷移図における動作記述の変更…図１０，図１１
図１０のようにエージェントの内容が状態遷移図によって表示されている状態において、マウスなどを利用して移動元のホストボックスＨ１内にあるエージェントから移動先のホストボックスＨ２内に向かってエージェント移動矢印Ａｙを描くと、この移動矢印Ａｙの追加によってホストボックスＨ内のエージェントは矢印終点側のホストボックスＨに移動する指令を受けることになるので、この移動が可能となるように、エージェントを構成するプログラムそのものに変更が加えられる。このエージェントのプログラムそのものに対する変更は、前記エージェント動作記述変更部１５３によって行われる。
【００５８】
このようなエージェントのプログラムの構成それ自体に対する変更が行われると、この変更を受けて内容表示部１９は、画面上に表示している状態遷移図についても変更を行う。すなわち、図１１に示すように、エージェントが移動するためには、エージェントが移動直前の状態に変化する必要があるので、ウインドウＷ内には移動直前の状態を示す状態アイコンＮ−１と、すでに表示されている各状態アイコンＮからこの移動直前の状態のアイコンに至る遷移を示す遷移矢印Ｎｙ−１とが追加される。なお、図１０および図１１の例では状態遷移図を表示するウインドウＷを開いたままでエージェント移動矢印Ａｙを描いたために、ウインドウＷ内に移動前状態アイコンＮや遷移矢印が追加されたが、図１０の状態でいったんウインドウＷを閉じ、再度図８のようにエージェント動作ラインＡを指定すれば、移動矢印Ａｙの追加の結果変更されたエージェントの構成が図１０のような状態遷移図として表示される。
【００５９】
（１−２−７）動作記述による内容表示と動作記述の変更…図１２〜図１４
図１２の例は、前記図８においてエージェント動作ラインＡを指定した場合に、前記のようなウインドウＷ内に状態遷移図を表示させるかわりに、そのエージェントの動作記述すなわちプログラムリストを表示させるものである。すなわち、メニュー表示部１７を利用して表示形式として動作記述による表示を選択しておくことにより、状態記述表示部１９２が動作して選択されたアプリケーションやエージェントの動作記述をプログラムリストの形式で表示する。
【００６０】
このような図１２のウインドウＷ内に動作記述が表示されている状態において、図１３に示すように動作ラインの端部から移動先のホストボックスＨ２内に向かってエージェント移動矢印Ａｙを描くと、図１４に示すように、エージェント動作記述変更部１５３によりエージェントを構成するプログラムに移動命令が追加されるとともに、内容表示部１９がその変更を受けてウインドウＷ内の動作記述の末尾移動命令が追加された表示を行う。
【００６１】
（１−２−８）移動命令追加のフローチャート…図１５
なお、図１５は、前記エージェント移動矢印Ａｙを描いた場合におけるエージェント移動矢印操作部１５の作用を説明するフローチャートであって、前記図７のフローチャートのステップ５およびステップ６の次に、ステップ７として、始点側のエージェント動作ラインＡの表すエージェントについて、その動作記述に移動命令を挿入するステップを追加したものである。このように本実施形態では、エージェント動作ライン調整部１５２によってエージェントの移動に伴う動作ラインの表示を変更するだけではなく、エージェント動作記述変更部１５３の作用により、前記状態遷移図やこのプログラムリスト形式の状態記述に示すように、エージェントの移動に伴うエージェントプログラムの動作技術の変更までも自動的に行うことができる。
【００６２】
（１−２−９）メッセージ矢印の内容表示…図１６
前記内容表示部１９は、前記のような動作ラインによって表示されたエージェントの内容を表示するだけではなく、画面上に表示された他の表示（ホストボックス、アプリケーション動作ライン、メッセージ矢印）によって示されるコンピュータ、アプリケーション、あるいはメッセージの内容を表示することができる。例えば、アプリケーション間あるいはエージェント間でやりとりされるメッセージは、メッセージ矢印Ｍｙによって表示されるが、このメッセージ矢印Ｍｙをマウスなどで指定した場合に、指定されたメッセージ矢印Ｍｙが示すメッセージの具体的内容を表示させることが可能である。
【００６３】
このメッセージの内容表示は、表示判定部１８により、入力装置２によって指定されたメッセージ矢印Ｍｙがどのメッセージを表示しているかを判定し、この表示判定部１８によって判別されたメッセージの具体的内容を、内容表示部１９が記憶装置４から呼び出して画面上に表示する。すなわち、内容表示部１９は、図１６に示すように、前記判定部によって判定されたメッセージの内容を記憶装置４から取り出すとともに、画面上にウインドウＷを開いてこのウインドウＷ内に記憶装置４から取り出したメッセージの具体的内容を表示する。
なお、このメッセージ内容の表示については、本実施形態に限らず、以下述べる他の実施形態においても同様に設けることが可能である。
【００６４】
（１−３）第１実施形態の効果
このように本実施形態によれば、移動元と移動先のホストボックスＨ１，Ｈ２の間にエージェント移動矢印Ａｙを描くだけの操作によって、ホストボックス間を移動するエージェントの動作が一目瞭然に表示されるとともに、画面上にエージェント移動矢印Ａｙを描くと同時に開発中のプログラムに対しても、エージェントの移動を表す命令が自動的に付加される。また、移動に伴う各ホストボックス内におけるエージェントの構成そのものの変化についても自動的に修正がなされる。さらに、ホストボックス内に示されているアプリケーションやエージェントの構成内容を状態遷移図や動作記述として表示することができるので、プログラムの開発者が開発中のアプリケーションやエージェントについてその具体的内容を常に参照することが可能となる。
なお、本実施形態においては、エージェントの動作記述を状態遷移図とプログラムリストの両方で表示するようにしたが、いずれか一方のみを表示するように構成することも可能である。
【００６５】
（２）第２実施形態
本実施形態は、エージェントの移動機能の開発を支援するもので、ネットワークに接続された各コンピュータをホストアイコンＩで表示すると共に、各コンピュータ内で動作するアプリケーションおよび各コンピュータ間で移動するエージェントの構成および動作を、状態アイコンＮとその間の状態遷移矢印Ｎｙとから構成される状態遷移図で表す。エージェントの移動も、状態アイコンＮ間の遷移矢印とは区別される別の状態遷移矢印Ａｙで表す。
【００６６】
（２−１）第２実施形態の構成…図１７
本実施形態のプログラム開発支援装置は、図１７に示すように、ホストアイコン操作部２１、状態アイコン操作部２２、状態遷移矢印操作部２３、エージェント移動矢印操作部２４、メニュー表示部２７、表示判定部２８および内容表示部２９を備えている。また、エージェント移動矢印操作部２４は、エージェント移動矢印ＡｙとホストアイコンＩとの接続を判定する接続判定部２４１と、状態アイコンＮおよび遷移矢印の表示を変更する表示調整部２４２と、エージェントの動作記述を変更する動作記述変更部２４３とを備えている。
【００６７】
ホストアイコン操作部２１は、画面上におけるホストアイコンＩの生成、削除、移動を行う。すなわち、ホストアイコン操作部２１は、前記記憶装置に記憶されている複数のネットワーク上のコンピュータ中から所定のコンピュータを選択し、そのコンピュータをホストアイコンＩとしてディスプレイの画面上に表示する。ホストアイコンＩはそれぞれネットワーク上のコンピュータを表すもので、その内部に状態アイコンＮが存在することにより、エージェントプログラムがアイコンによって示された状態に従ってそのコンピュータ上で動作することを示す。このホストアイコン操作部２１は、後で説明する状態アイコンＮや状態遷移矢印ＮｙがホストアイコンＩ内部にとどまるように（ただし、異なるホストアイコンＩの内部に移動することは可能）調整するなどのホストアイコンＩに関する操作を行う。
【００６８】
状態アイコンＮは、各コンピュータ上に配置されたエージェントの状態を示すものであり、また状態遷移矢印Ｎｙはエージェントの各状態から他の状態への遷移を表現するものであって、これら状態アイコンＮと状態遷移矢印Ｎｙとによりエージェントが状態遷移図として表現される。
【００６９】
状態アイコン操作部２２は、指定したホストアイコンＩ内における状態アイコンＮの生成、削除、移動、複製などの操作を行うものである。また、状態遷移矢印操作部２３は、複数の状態アイコンＮを指定することにより、一方の状態アイコンＮからもう一方の状態アイコンＮに向かって状態遷移矢印Ｎｙを生成したり、この生成された状態遷移矢印Ｎｙの削除、移動、複製の操作を行う。なお、本実施形態では、この操作の際に、状態遷移矢印Ｎｙの端点とそれに接している状態アイコンＮは離れないように、状態アイコンＮの近傍に矢印の端点を指定すると、状態アイコンＮと矢印端点とがスナップするように構成する。
【００７０】
この状態アイコン操作部２２および状態遷移矢印操作部２３は、描画される状態アイコンＮや状態遷移矢印Ｎｙが、ホストアイコンＩの内部にのみ存在できるようにする機能を有する。すなわち、プログラムの開発者が、状態アイコンＮや状態遷移矢印ＮｙをホストアイコンＩの外部に描画しようとした場合には、それを検出してエラー表示を行うとともに、ホストアイコンＩ内部にこれらを描画するように促すメッセージなどを表示する。
【００７１】
この状態アイコン操作部２２および状態遷移矢印操作部２３は、プログラムの開発者が各状態アイコンＮや状態遷移矢印Ｎｙを指定したホストアイコンＩ内に一つ一つ描いていくことにより、所定のエージェントプログラムを表現することも可能であるが、メニュー表示部２７および内容表示部２９を利用して、前記記憶装置４に記憶されている複数のエージェントの中から希望するエージェントを選択し、そのエージェントの動作記述を状態遷移図としてホストアイコンＩ内に表示させることも可能である。さらに、状態アイコン操作部２２および状態遷移矢印操作部２３は、状態アイコンＮが表す状態および状態遷移矢印Ｎｙが表す状態遷移の動作記述（プログラムなど）を操作（表示、編集など）する機能も有する。
【００７２】
エージェント移動矢印Ａｙは、ネットワークに接続された複数のコンピュータ間をエージェントが移動することを表すものである。このエージェント移動矢印Ａｙの操作部２４は、エージェント移動矢印Ａｙの操作（生成、削除、移動など）を行うものであって、例えば、前記コンピュータを表示する異なったホストアイコンＩ間にエージェント移動矢印Ａｙを引くものである。
【００７３】
このエージェント移動矢印操作部２４は、前記状態アイコンＮなどを操作した場合に、ホストアイコンＩ間に引かれるというエージェント移動矢印Ａｙについての制約が破られた場合には、それを検出してエージェント移動矢印Ａｙを通常の状態遷移矢印Ｎｙに変化させる機能を有する。したがって、このエージェント移動矢印操作部２４には、エージェント移動矢印ＡｙとホストアイコンＩ間の接続を判定する接続判定部２４１が設けられている。また、エージェント移動矢印Ａｙの操作に伴い、各ホストアイコンＩ内に表示されているエージェントそれ自体の構成に変化が生じた場合には、その変化に対応してエージェントの構成を表示する状態アイコンＮおよび状態遷移矢印Ｎｙの表示を変更する表示調整部２４２と、エージェントの構成の変化をその動作記述そのものの変更に反映させる動作記述変更部２４３と備えている。
【００７４】
メニュー表示部２７、表示判定部２８および内容表示部２９は、基本的には前記に第１実施形態と同様の構成を有するものである。すなわち、メニュー表示部２７は、前記入力装置２を利用して前記各操作部のいずれを動作させるか選択するとともに、選択された各操作部を動作させる場合において必要な選択、例えば操作に当たってどのような種類のコンピュータやエージェントを使用するか、アイコンや矢印について生成、消滅、移動などの中からどのような操作を行うか、などの選択を行う。表示判定部２８は、入力装置２によって画面上に表示されたホストアイコンＩや状態アイコンＮなどを指定した場合に、そのようなアイコンなどがどのコンピュータやエージェントを意味するか、あるいはこれらのコンピュータやエージェントの仕様や動作記述はどのようなものであるかを判定する。内容表示部２９は、前記判定部２８によって判定されたアイコンや矢印に対応するコンピュータやエージェントの仕様や記述内容を、画面上にプログラムリストなどの形式で表示する。
【００７５】
（２−２）第２実施形態の作用
（２−２−１）画面上における各表示の説明…図１８
ディスプレイ３の画面上には、ネットワーク上のコンピュータを表すホストアイコンＩが表示されている。この図１８ではネットワークに接続された３つのホストアイコンＩが表示されている。それぞれのホストアイコンＩ内には、そのホストアイコンＩが表示するコンピュータ上におけるエージェントの動作状態を表示する状態アイコンＮが表示されている。この場合、各ホストアイコンＩ内には、プログラムの実行に伴ってエージェントがとりうる動作を示す複数の状態アイコンＮが表示され、各状態アイコンＮ同士は、ある状態から他の状態にエージェントが動作することを示す状態遷移矢印Ｎｙによって接続されている。
【００７６】
複数のホストアイコンＩの間には、各ホストアイコンＩが表すコンピュータ間をエージェントが移動することを示すために、エージェント移動矢印Ａｙが表示されている。すなわち、このエージェント移動矢印Ａｙは、移動元のホストボックス内に表示された移動直前の状態を示す状態アイコンＮと、移動先のホストボックス内に表示された移動直後の状態を示す状態アイコンＮとを接続するものである。前記ホストアイコンＩと状態アイコンＮ、およびエージェント移動矢印Ａｙと前記状態遷移矢印Ｎｙは、その線種、線の太さ、色彩などが異なることにより、画面上で区別して表示される。
【００７７】
このようにすると移動元のホストアイコンＩによって表現されるコンピュータ上で生成されたエージェントが、そのホストアイコンＩ内の状態アイコンＮによって表示された動作状態から、エージェント移動矢印Ａｙによって接続された移動先のホストアイコンＩにより表現される他のコンピュータに対してネットワークを通じて移動し、移動先のホストアイコンＩ内の状態アイコンＮによって表示された動作状態に移行することが表現される。また、エージェントがあるホストアイコンＩ内で異なった動作状態をとる場合には、各動作状態間の遷移が状態遷移矢印Ｎｙによって表現される。
【００７８】
（２−２−２）状態アイコンＮの移動…図１９、図２０
前記図１８に示すような状態から、図１９に示すように、状態アイコン操作部２２を利用して、第２のホストアイコンＩ２内の状態アイコンＮ２を第３のホストアイコンＩ３内のＮ３の位置に移動させると、この状態アイコンＮ２，Ｎ３と他の状態アイコンＮと接続している状態遷移矢印Ｎｙおよびエージェント移動矢印Ａｙが状態アイコンＮ２，Ｎ３の移動に追従して変形する。すなわち、第２のホストアイコンＩ２内で移動直前の状態を示す状態アイコンＮ２が、第３のホストアイコンＩ３内における移動完了直後の状態アイコンＮ３に変化する。
【００７９】
すると、図２０に示すように、第２のホストアイコンＩ２内において移動直前の状態アイコンＮ２に接続されていた状態遷移矢印Ｎｙが、第２のホストアイコンＩ２と第３のホストアイコンＩ３をまたぐように引き伸ばされるとともに、第２のホストアイコンＩ２と第３のホストアイコンＩ３間に引かれていたエージェント移動矢印Ａｙが第３のホストアイコンＩ３内部の状態アイコンＮ同士を接続するように短縮される。このような状態アイコンＮ２，Ｎ３の移動およびそれに伴う状態遷移矢印Ｎｙとエージェント移動矢印Ａｙの変形が生じると、前記接続判定部２４１が各矢印のホストアイコンＩ内外の位置を検出し、その検出結果に応じて表示調整部２４２が各矢印を状態遷移矢印Ｎｙあるいはエージェント移動矢印Ａｙに変形する。具体的には、各矢印の線種、太さ、色彩などを、移動前の状態アイコンＮ２，Ｎ３を接続していたものから、移動後の状態アイコンＮ２，３を接続する矢印に相当するものに変更する。
【００８０】
このように本実施形態においては、状態アイコンＮをホストアイコンＩ間に移動させる操作により、ホストアイコンＩが表すコンピュータ間におけるエージェントの移動タイミングを自由に変更することができるとともに、状態アイコンＮの移動に応じて状態遷移矢印Ｎｙやエージェント移動矢印Ａｙの表示も変更することが可能となる。その結果、簡単な操作でエージェントプログラムの変更を行うと同時に、その変更結果を直ちにかつ明瞭に認識することが可能となる。
【００８１】
（２−２−３）フローチャートの説明…図２１
図２１は前記のようなホストアイコンＩ間における状態アイコンＮの移動操作を示すフローチャートである。このフローチャートに示すように、ステップ１において、状態アイコン操作部２２により状態アイコンＮを操作すると、この状態アイコンＮに接続されている状態遷移矢印Ｎｙあるいはエージェント移動矢印Ａｙが変形する。そして、ステップ２において、接続判定部２４１により状態遷移矢印Ｎｙが複数のホストアイコンＩにまたがっているか否かを判定する。判定の結果、状態遷移矢印Ｎｙが複数のホストアイコンＩにまたがっている場合には、ステップ３に示すように、表示調整部２４２が状態遷移矢印Ｎｙをエージェント移動矢印Ａｙに変更する。
【００８２】
一方、ステップ２における判定結果が、状態遷移矢印Ｎｙが複数のホストアイコンＩにまたがっていない場合には、ステップ４に進み、前記接続判定部２４１によりエージェント移動矢印Ａｙは複数のホストアイコンＩにまたがっているか否かを判定する。この判定結果がＹｅｓの場合には、状態アイコンＮが一つのホストアイコンＩ内で移動し、状態遷移矢印Ｎｙおよびエージェント移動矢印Ａｙについて変更をする必要がないので、表示調整部２４２は状態アイコンＮの移動に伴う各矢印の寸法の調整のみを行う。ステップ４における接続判定部２４１の判定結果がＮｏ、すなわちエージェント移動矢印Ａｙが複数のホストアイコンＩにまたがっていない場合には、ステップ５に進み、表示調整部２４２はエージェント移動矢印Ａｙを状態遷移矢印に変更する。
【００８３】
（２−２−４）エージェントプログラムの表示…図２２
図２２の例は、画面上にホストアイコンや状態アイコンが表示されている場合において、マウスなどの入力装置により希望する表示を指定すると、その表示が表しているコンピュータの仕様や次プログラムの構成内容が表示されることを示している。すなわち、入力装置により希望する表示を指定すると、表示判定部２８が画面上のどのホストアイコンや状態アイコンを示しているか、また指定されたホストアイコンや状態アイコンが前記記憶装置４に記憶されているどのような内容のコンピュータやプログラムに相当するかを判定する。そして、内容表示部２９が前記表示判定部２８によって判定されたプログラムなどの内容を記憶装置４から取り出すとともに、画面上にウインドウＷを開いて、このウインドウＷ内にプログラムの動作記述をプログラムリストの形式で表示したり、コンピュータの仕様などを表示する。
【００８４】
（２−２−５）動作記述の変更…図２３
図２３は、前記図２２の状態において、第１のホストアイコン内の状態アイコンから第２のホストアイコン内の状態アイコンに向かってエージェント移動矢印を追加した状態を示している。エージェント移動矢印操作部２４を利用して画面上にこのような矢印を追加すると、本実施形態においては画面上における表示の変更だけではなく、表示されているエージェントプログラムの構成内容それ自体についても矢印の追加に応じた変更がなされる。具体的には、画面上のウインドウ内に表示されている動作記述の末尾に、エージェント移動矢印に対応した移動命令が追加される。このような動作記述の変更は、動作記述変更部２４３が、画面上に描かれたエージェント移動矢印やその他の状態アイコンなどの変更を検出し、その変更内容に合わせた動作記述の変更を行うことによりなされる。
【００８５】
（２−３）第２実施形態の効果
以上の通り本実施形態によれば、各ホストアイコンが表現するコンピュータ上においてエージェントプログラムが取り得る様々な動作状態が状態アイコンとして表現されるとともに、それぞれの動作状態から他の動作状態に対する遷移が状態遷移矢印によって表示されるので、プログラムの開発者がエージェントプログラムとそれが動作するネットワーク上のコンピュータとの関係を容易に把握することができる。また、ホストアイコン間における状態アイコンの移動に伴う状態遷移矢印やエージェント移動矢印の変更、あるいはエージェント移動矢印や状態アイコンの追加がエージェントプログラムの構成内容そのものに反映されるので、画面上でアイコンや矢印を操作するだけでプログラムの記述や修正を行うことが可能となる。さらに、画面上のアイコンや矢印の表示する内容を常に参照することができる点も、プログラムの開発上便利である。
【００８６】
（３）第３実施形態…図２４、図２５
本実施形態は、エージェントの移動機能の開発を支援するもので、前記第２実施形態に対し、コンピュータ間の接続状況を表すリンクを操作する機能を追加したものである。
本実施形態の構成は、図１７に示す第２実施形態の構成に加えて、コンピュータ間の接続状況を表すリンクを操作するリンク操作部３１を設けたものである。このリンク操作部３１は、画面上に表示されている複数のホストアイコンを結ぶリンクＬの生成・削除・移動、複製などを行うものである。このリンク操作部３１によって生成されるリンクＬは、本実施形態においては前記状態遷移矢印やエージェント移動矢印とは区別される直線によって表示される。このリンクＬも、ホストアイコンが表現するコンピュータ間の接続状況に合わせて、複数種類のものを用意することが可能であり、これら各種のリンクＬは前記記憶装置４内に記憶され、プログラムの開発者はメニュー表示部を操作することにより希望するリンクＬを選択し、複数のホストアイコン間を接続することができる。
【００８７】
（４）第４実施形態…図２６、図２７
本実施形態はエージェントの複製機能の開発を支援するもので、第１実施形態の構成に加えて、エージェントの複製機能を表現するために、エージェント複製矢印操作部４１を設けたものである。このエージェント複製矢印操作部４１には、生成した複製矢印の始点が複製元となるエージェント動作ラインの途中に接しているか否かを判定する接続判定部４１１と、複製矢印の終点に新たなエージェント動作ラインを描画するなどのエージェントの複製に伴う画面表示を変更する表示調整部４１２と、このエージェント動作ラインの複製に伴って支援対象となるプログラムにエージェントを複製するための命令を追加するなどの変更を行う動作記述変更部４１３が設けられている。
【００８８】
本実施形態において、画面上に表示されたエージェント複製矢印Ｃｙは、エージェントの複製を表す。エージェント複製矢印操作部４１は、このエージェント複製矢印Ｃｙが、常にエージェント動作ラインＡの途中を始点とし、終点は別のエージェント動作ラインＡの始点となるように画面上に表示する。すなわち、エージェント複製矢印操作部４１を利用して画面上に表示されているエージェント動作ラインＡ１の途中からエージェント複製矢印Ｃｙを引き出すと、このエージェント複製矢印Ｃｙの終点部に、前記エージェント動作ラインＡ１のエージェント複製矢印Ｃｙの始点よりも後の部分が新しいエージェントとしてコンピュータ上に生成され、それが新しいエージェント動作ラインＡ２として画面上に表示される。このエージェント複製矢印Ｃｙは、前記エージェント移動矢印や状態遷移矢印とは区別されるように、その線種、太さ、色彩などが異なったものである。
【００８９】
また、本実施形態においては、前記第１実施形態における動作記述変更部４１３が、このエージェント複製矢印Ｃｙの生成・削除・移動などにより生じるエージェントの変更に応じて、エージェントの動作記述そのものについても変更を行う。すなわち、図２７の例では、エージェント複製矢印Ｃｙの追加に伴い、新たなエージェントが生成されると、エージェントの動作記述に複製命令が追加される。
【００９０】
（５）第５実施形態
本実施形態はエージェントの複製機能の開発を支援するものであって、コラボレーション図により、エージェントの複製機能を表現する。このコラボレーション図は、システムの構成要素を長方形で表すオブジェクトアイコン（アプリケーションアイコンＰ、エージェントアイコンＡ）と、構成要素間の相互作用をオブジェクトアイコン間の矢印で表すコラボレーション矢印（メッセージ矢印Ｍｙと複製矢印Ｃｙ）から構成される。本実施形態おいては、前記実施形態で示した状態遷移図と同様に、各コラボレーション矢印の始点、終点は、オブジェクトアイコンと常に接する。また、各コラボレーション矢印には、文字列で表されるコラボレーションラベルが、コラボレーションの順序を数字で表すコラボレーション番号と共に付随し、コラボレーション識別子となる。
【００９１】
（５−１）第５実施形態の構成…図２８
本実施形態の装置は、支援対象となるプログラムを構成するアプリケーションおよびエージェントを表示するために、アプリケーションアイコン操作部５１およびエージェントアイコン操作部５２を備えている。また、アプリケーションとエージェント間で交換されるメッセージを表示するメッセージ矢印Ｍｙを操作するメッセージ矢印操作部５３と、エージェントの複製を表示する複製矢印Ｃｙを操作する複製矢印操作部５４とが設けられている。メッセージ矢印操作部５３は、メッセージ矢印Ｍｙを生成、削除、移動するもので、メッセージ矢印Ｍｙはアプリケーションやエージェントを表示する各アイコン間に描かれる。
【００９２】
複製矢印操作部５４は、支援対象となるプログラム中にエージェントの複製を生成するために使用する複製矢印Ｃｙを生成、削除、移動するもので、複製矢印Ｃｙはその操作部５４により必ずエージェントアイコンＡ間に描かれる。このエージェント複製矢印操作部５４には、生成した複製矢印の始点が複製元となるエージェントアイコンに属しているか否かを判定する接続判定部５４１と、複製矢印の終点に複製元のエージェントアイコンと同一のエージェントアイコンを描画するとともに、複製元のエージェントアイコンにループ状のメッセージ矢印を生成するなどのエージェントアイコンの複製に伴う画面表示を変更する表示調整部５４２と、このエージェントアイコンの複製に伴って支援対象となるプログラムにエージェントを複製するための命令を追加するなどの動作記述の変更を行う動作記述変更部５４３が設けられている。
【００９３】
なお、本実施形態においても、前記各実施形態と同様に、メニュー表示部１７、表示判定部１８、内容表示部１９が設けられ、画面上で指定した各アプリケーション、エージェント、メッセージなどの具体的内容（仕様や動作記述など）を適宜表示できるようになっている。また、画面上に表示する各アイコンや矢印に対して、記憶装置４に格納されているどのようなアプリケーションやエージェントあるいはメッセージを割り当てるかについて、前記各操作部の操作時にメニュー表示部１７を利用して選択できる点も、前記各実施形態と同様である。
【００９４】
（５−２）第５実施形態の作用…図２９
図２９において、画面上には個別のアプリケーションプログラムを表すアプリケーションアイコンＰが表示されている。またこのアプリケーションアイコンＰとの間でメッセージをやりとりするエージェントプログラムを示すエージェントアイコンＡが表示されている。これらのアプリケーションアイコンＰやエージェントアイコンＡは、前記アプリケーションアイコン操作部５１あるいはエージェントアイコン操作部５２によって生成される。なお、これら各操作部５１，５２によって各アイコンＰ，Ａを画面上に表示するにあたっては、前記メニュー表示部１７を利用して、記憶装置４内に格納されている各種のアプリケーションやエージェントの中から所望なものを選択し、それらをマウスなどの入力装置２を用いて画面上に適宜配置する。
【００９５】
なお、図の例では、第１のアプリケーションアイコンＰ１を画面上に表示した後、複製元となるエージェントアイコンＡ１を表示し、次にこれらアプリケーションアイコンＰ１とエージェントアイコンＡ１の間を、メッセージ矢印操作部５３によって生成されるメッセージ矢印Ｍｙ１によって接続する。その後、複製元のエージェントアイコンＡ１から複製矢印Ｃｙを引き出すと、複製矢印Ｃｙの終点部に複製先のエージェントアイコンＡ２が表示される。これと同時に、また、複製矢印操作部５４により、複製矢印Ｃｙの始点のエージェントアイコンＡ１には、「copy_message」というラベルのついた、当該エージェントアイコンＡ１上でループしたメッセージ矢印Ｍｙｒが付随して表示される。
【００９６】
以下、第２のアプリケーションアイコンＰ２、第３のアプリケーションアイコンＰ３を順次描くとともにこれらアプリケーションアイコンＰ２，Ｐ３とエージェントアイコンＡ１，Ａ２との間にメッセージ矢印Ｍｙ２，Ｍｙ３を表示することで、支援対象となるプログラムを構成する複数のアプリケーションとエージェントとの関係をコラボレーション図により表示することができる。
【００９７】
この場合、メッセージ矢印Ｍｙや複製矢印Ｃｙを各アイコン間に順番に生成していくと、各矢印操作部５３，５４は、各矢印の生成順序をコラボレーションの順序として認識し、各矢印の近傍にコラボレーション番号を表示する。また、このコラボレーション番号とともに、メッセージ矢印Ｍｙや複製矢印Ｃｙであることを示す識別子、例えばメッセージ矢印Ｍｙではその内容を示すａ，ｂ，ｃなどの記号やラベルを、また複製矢印Ｃｙではその作用を示す「copy」の文字を矢印の近傍に表示する。
【００９８】
なお、各矢印操作部５３，５４は、コラボレーション番号や識別子の変更が可能であってもよい。この場合、変更後も番号が矢印によって異なるものとなるように、調整する必要がある。例えば、ある番号を変更した結果、他の矢印の番号と一致、あるいは順序が入れ替わる場合、影響が及ぶ矢印の番号も同時に変更することが考えられる。さらには、各矢印操作部５３，５４は、予め番号を生成、表示せず、後で番号を入力できるようにしてもよい。
【００９９】
また、この第５実施形態においては、ネットワークに接続された各コンピュータを表示するホストボックスやホストアイコンを表示していないが、この第５実施形態と前記第１または第２実施形態とを組み合わせることにより、第５実施形態に表示された各アプリケーションやエージェントがいずれのコンピュータ上で動作するかを表現することも可能である。例えば、図３０において、第１のアプリケーションアイコンＰ１と複製元のエージェントアイコンＡ１を第１のホストボックスあるいはホストアイコン内に配置し、第２、第３のアプリケーションアイコンＰ２，Ｐ３と複製先のエージェントアイコンＡ２を第２のホストボックスあるいはホストアイコン内に配置することにより、各プログラムとコンピュータの関係を表示することができる。
【０１００】
（５−３）第５実施形態の効果
前記のように第５実施形態においては、個々のアプリケーションとエージェント間のメッセージの交換をコラボレーション図を利用して表示するプログラムの開発作業を行う場合に、画面上で複製矢印を操作するだけの簡単な作業でエージェントの複製を行うことができる。特に、本実施形態においては複製矢印を描画するだけで、画面上における新たなエージェントアイコンの表示や複製元のエージェントに関するメッセージ矢印の生成が自動的に行われるとともに、これらの操作が開発対象であるプログラムの動作記述に対しても反映される利点がある。また、前記の動作ラインや状態遷移図を利用した表示に比較して、コラボレーション図による表示は、メッセージ矢印や複製矢印にその動作順序や内容を示すラベルを表示させることができるので、各アプリケーションやエージェント間におけるメッセージの動作順序などが一目瞭然に表示される利点もある。
【０１０１】
（６）第６実施形態
本実施形態は、エージェントの複製機能を活用したプログラム作成をより一層効果的に支援するために、状態遷移図によりエージェントの複製機能を表現する。すなわち、本実施形態は、コンピュータ上で動作するエージェントの動作を、エージェントの各動作状態を示す状態アイコンＮとその間の状態遷移矢印Ｎｙとから構成される状態遷移図で表した上で、状態アイコンが示す状態において、エージェントが複製を行うことを示す複製マーカを操作する機能を追加したものである。
【０１０２】
（６−１）第６実施形態の構成…図３０
本実施形態のプログラム開発支援装置は、図３０に示すように、状態遷移図を操作するための基本的な機能部として、状態アイコン操作部６１および状態遷移矢印操作部６２を備えている。これらの機能部は、前述した第２実施形態の対応する機能部とほぼ同様の機能を有するものである。すなわち、状態アイコン操作部６１は、状態アイコンＮの生成、削除、移動、複製などの操作を行うものである。また、状態遷移矢印操作部６２は、複数の状態アイコンＮを指定することにより、一方の状態アイコンＮからもう一方の状態アイコンＮに向かって状態遷移矢印Ｎｙを生成したり、この生成された状態遷移矢印Ｎｙの削除、移動、複製の操作を行う。
【０１０３】
そして、本実施形態においては、これらの状態アイコン操作部６１および状態遷移矢印操作部６２に加えて、状態アイコンが示す状態においてエージェントが複製を行うことを示す複製マーカを操作するエージェント複製マーカ操作部６１が設けられている。エージェント複製マーカ操作部６１は、状態アイコン上における、エージェント複製マーカＣｍの表示・非表示を切り替えるものである。
【０１０４】
このエージェント複製マーカ操作部６１には、指定された状態アイコンＮ上における複製マーカの表示・非表示の指定を判定する表示判定部６３１が設けられている。そして、この表示判定部６３１による判定結果に応じて、状態アイコンＮ上に複製マーカＣｍを表示させ、あるいは表示されていた複製マーカＣｍを削除する表示調整部６３２と、複製マーカＣｍの表示・非表示の変化をその状態アイコンＮに対応する動作記述変更部６４３とを備えている。
【０１０５】
なお、本実施形態においても、前記各実施形態と同様に、メニュー表示部１７、表示判定部１８、内容表示部１９が設けられ、画面上で指定した各アプリケーション、エージェント、メッセージなどの具体的内容（仕様や動作記述など）を適宜表示できるようになっている。また、画面上に表示する各アイコンや矢印に対して、記憶装置４に格納されているどのようなアプリケーションやエージェントあるいはメッセージを割り当てるかについて、前記各操作部の操作時にメニュー表示部１７を利用して選択できる点も、前記各実施形態と同様である。
【０１０６】
（６−２）第６実施形態の作用…図３１〜図３３
図３１においては、コンピュータ上におけるエージェントの動作状態を表示する状態アイコンＮが表示されている。この場合、プログラムの実行に伴ってエージェントがとりうる動作を示す複数の状態アイコンＮが表示され、各状態アイコンＮ同士は、ある状態から他の状態にエージェントが移行することを示す状態遷移矢印Ｎｙによって接続されている。この画面上において、エージェント複製マーカ操作部６１は、状態アイコン上におけるエージェント複製マーカＣｍの表示・非表示を切り替えることができる。
【０１０７】
図３２においては、状態アイコンＮを指定して、対応するプログラムコードを表示した場合の画面を示している。すなわち、入力装置２により１つの状態アイコンＮを指定すると、表示判定部１８が画面上のどの状態アイコンを示しているか、また指定された状態アイコンが記憶装置４に記憶されているどのような内容のコンピュータやプログラムに相当するかを判定する。そして、内容表示部１９が前記表示判定部１８によって判定されたプログラムなどの内容を記憶装置４から取り出すとともに、画面上にウインドウＷを開いて、このウインドウＷ内にプログラムの動作記述をプログラムリストの形式で表示したり、コンピュータの仕様などを表示する。図３２中では、プログラムリストを表示している。
【０１０８】
図３３は、図３２の状態から、指定された状態アイコンＮ上でさらに入力装置２により「複製マーカ表示」を指定することによって、エージェント複製マーカ操作部６１によりその状態アイコンＮ上に複製マーカＣｍを表示した状態を示している。エージェント複製マーカ操作部６１を利用して画面上にこの複製マーカＣｍを表示した場合には、画面上における表示の変更だけではなく、ウインドウＷ内に表示されているエージェントプログラムの構成内容それ自体についても複製マーカＣｍの追加に応じた変更がなされる。具体的には、画面上のウインドウ内に表示されている動作記述の文頭に、複製マーカＣｍに対応した複製命令が追加される。このような動作記述の変更は、動作記述変更部６３３が、画面上に描かれた状態アイコン上の複製マーカＣｍの表示・非表示に合わせた動作記述の変更を行うことによりなされる。
【０１０９】
また、エージェント複製マーカ操作部６１によって、単に表示・非表示の切り替えのみでなく、複製回数を任意に指定できるようにしてもよい。この場合には、動作記述変更部６３３によって単に複製命令を追加・除去するだけでなく、指定回数だけ複製命令を実行するプログラムコードを追加することもできる。
さらには、複数命令の実行により生成される複製エージェントの動作開始状態を任意に指定することもできる。
【０１１０】
（６−３）第６実施形態の効果
以上の通り、本実施形態においては、状態遷移図を利用して、エージェントの複製機能を活用したプログラムの作成を容易に行うことができる。特に、本実施形態においては、複製マークＣｍの表示・非表示を指定するだけで、複製マークＣｍが画面上に表示されるとともに、この複製マークＣｍに対応する複製命令が、開発対象であるプログラムの動作記述に対しても反映される利点がある。したがって、エージェントの複製機能を活用したプログラム作成をより一層効果的に支援することができる。
【０１１１】
（７）第７実施形態
本実施形態は、エージェントの移動機能を活用したプログラム作成をより一層効果的に支援するために、コラボレーション図により、エージェントの移動機能を表現する。すなわち、本実施形態は、コンピュータ上で動作するエージェントの動作を、オブジェクトアイコンＰ，Ａとコラボレーション矢印Ｍｙとから構成されるコラボレーション図で表した上で、さらに、ホストボックスＨとエージェント移動矢印Ａｙを操作する機能を追加したものである。
【０１１２】
（７−１）第７実施形態の構成…図３４
本実施形態のプログラム開発支援装置は、図３４に示すように、コラボレーション図を操作するための基本的な機能部として、アプリケーションアイコン操作部７１、エージェントアイコン操作部７２、およびメッセージ矢印操作部７３を備えている。これらの機能部は、前述した第５実施形態の対応する機能部とほぼ同様の機能を有するものである。すなわち、アプリケーションアイコン操作部７１およびエージェントアイコン操作部７２は、支援対象となるプログラムを構成するアプリケーションおよびエージェントを表示するアプリケーションアイコンＰおよびエージェントアイコンＡの生成、削除、移動、複製などの操作を行うものである。また、メッセージ矢印操作部７３は、アプリケーションとエージェント間で交換されるメッセージを表示するメッセージ矢印Ｍｙの生成、削除、移動などの操作を行うものであり、メッセージ矢印ＭｙはアプリケーションアイコンＰやエージェントアイコンＡなどのオブジェクトアイコン間に描かれる。
【０１１３】
そして、本実施形態においては、これらの操作部７１〜７３に加えて、ホストボックスを操作するホストボックス操作部７４と、支援対象となるプログラム中でのエージェントの移動を示すために使用するエージェント移動矢印Ａｙを操作するエージェント移動矢印操作部７５が設けられている。
このうち、ホストボックス操作部７４は、ホストボックスの基本的な編集機能、すなわち、生成、移動、サイズ変更、削除などの操作を行うものである。ホストボックスＨは、その操作部７４によりアプリケーションアイコンＰやエージェントアイコンＡなどの複数のオブジェクトアイコンを囲む矩形で表され、それらのオブジェクトアイコンが示すアプリケーションやエージェントが、ある物理的なホストマシン上で動作していることを表す。
【０１１４】
また、エージェント移動矢印操作部７５は、支援対象となるプログラム中でのエージェントの移動を表示するために使用する移動矢印Ａｙの基本的な編集機能を有するものである。エージェント移動矢印Ａｙは、それぞれ異なるホストボックスＨ内にあるエージェントアイコンＡ間に描かれ、このエージェントが始点のあるホストボックスＨが表すホストマシンから、終点のあるホストボックスが表すホストマシンへ移動することを表す。また、エージェント移動矢印Ａｙは、必ずそれぞれ異なるホストボックス内にあるエージェントアイコン間に描かれ、その始点のエージェントアイコンには、そのエージェントアイコン上でループするメッセージ矢印が、migrate_messageというラベル付きで必ず付随する。
【０１１５】
エージェント移動矢印操作部７５には、生成した移動矢印の始点が移動元となるエージェントアイコンに属しているか否かを判定する接続判定部７５１が設けられている。そして、移動矢印の終点に移動元のエージェントアイコンと同一のエージェントアイコンを描画するとともに、移動元のエージェントアイコンにループ状のメッセージ矢印を生成するなどのエージェントアイコンの移動に伴う画面表示を変更する表示調整部７５２と、このエージェントアイコンの移動に伴って支援対象となるプログラムにエージェントを移動するための命令を追加するなどの動作記述の変更を行う動作記述変更部７５３が設けられている。
【０１１６】
なお、本実施形態においても、前記各実施形態と同様に、メニュー表示部１７、表示判定部１８、内容表示部１９が設けられ、画面上で指定した各アプリケーション、エージェント、メッセージなどの具体的内容（仕様や動作記述など）を適宜表示できるようになっている。また、画面上に表示する各アイコンや矢印に対して、記憶装置４に格納されているどのようなアプリケーションやエージェントあるいはメッセージを割り当てるかについて、前記各操作部の操作時にメニュー表示部１７を利用して選択できる点も、前記各実施形態と同様である。
【０１１７】
（７−２）第７実施形態の作用…図３５〜図３７
図３５において、画面上には、個別のアプリケーションプログラムを表すアプリケーションアイコンＰと、このアプリケーションアイコンＰとの間でメッセージをやりとりするエージェントプログラムを示すエージェントアイコンＡが表示されている。また、アプリケーションアイコンＰとエージェントアイコンＡとの間には、コラボレーション識別子付きのメッセージ矢印Ｍｙが表示されている。
【０１１８】
この図３５においては、さらに、アプリケーションアイコンＰやエージェントアイコンＡを囲むようにして、それらのアイコンＰ，Ａが示すアプリケーションやエージェントが動作している物理的なホストマシンを示す２個のホストボックスＨ１，Ｈ２が表示されており、これらのホストボックスＨ１，Ｈ２は、ホストボックス操作部７４によって生成される。そして、異なるホストボックスＨ１，Ｈ２内にあるエージェントアイコンＡ１，Ａ２間にエージェント移動矢印Ａｙが表示されるとともに、その始点のエージェントアイコンには、そのエージェントアイコン上でループするメッセージ矢印Ｍｙｒが、「migrate_message」というラベル付きで表示されている。
【０１１９】
図３６、図３７は、図３５に示す画面を作成する手順を示している。すなわち、まず、図３６に示すように、ホストボックス操作部７４によってホストボックスＨ１を画面上に表示し、アプリケーションアイコン操作部７１によってそのホストボックスＨ１内に第１、第２のアプリケーションアイコンＰ１，Ｐ２を表示するとともに、エージェントアイコン操作部７２によって移動元となるエージェントアイコンＡ１を表示する。なお、アプリケーションアイコン操作部７１やエージェントアイコン操作部７２によって各アイコンＰ，Ａを画面上に表示するにあたっては、前述した第５実施形態と同様に、メニュー表示部１７を利用して、記憶装置４内に格納されている各種のアプリケーションやエージェントの中から所望なものを選択し、それらをマウスなどの入力装置２を用いて画面上に適宜配置する。次に、第１、第２のアプリケーションアイコンＰ１，Ｐ２とエージェントアイコンＡ１の間を、メッセージ矢印操作部７３によって生成されるメッセージ矢印Ｍｙ１，Ｍｙ２によってそれぞれ接続する。
【０１２０】
続いて、ホストボックス操作部７４によって移動先となるホストボックスＨ２を画面上に表示し、このホストボックスＨ２内にアプリケーションアイコン操作部７１によって第３のアプリケーションアイコンＰ３を表示する。その後、エージェント移動矢印操作部７５によって、移動元のホストボックスＨ１内のエージェントアイコンＡ１から移動先のホストボックスＨ２内を終点とするエージェント移動矢印Ａｙを引き出す。
このようにエージェント移動矢印Ａｙが描かれると、図３７に塗りつぶしで示すように、この移動矢印Ａｙに付随するラベル、移動先のエージェントアイコンＡ２、およびラベル付きのループしたメッセージ矢印Ｍｙｒ、が自動的に表示される。すなわち、エージェント移動矢印Ａｙが描かれると、この移動矢印Ａｙに「migrate」というラベルが表示されるとともに、エージェント移動矢印Ａｙの終点部に移動先のエージェントアイコンＡ２が表示される。これと同時に、移動矢印Ａｙの始点のエージェントアイコンＡ１には、エージェントアイコンＡ１上でループしたメッセージ矢印Ｍｙ２が、「migrate_message」というラベル付きで表示される。
【０１２１】
以下、移動先のホストボックスＨ２内において、第３のアプリケーションアイコンＰ３と移動先のエージェントアイコンＡ２との間にメッセージ矢印Ｍｙ３を表示することで、支援対象となるプログラムを構成する複数のアプリケーションとエージェントとの関係をコラボレーション図により表示することができる。
この場合、メッセージ矢印Ｍｙや移動矢印Ａｙを各アイコン間に順番に生成していくと、各矢印操作部７３，７５は、各矢印の生成順序をコラボレーションの順序として認識し、各矢印の近傍にコラボレーション番号を表示する。また、このコラボレーション番号とともに、メッセージ矢印Ｍｙや移動矢印Ｃｙであることを示す識別子、例えば、メッセージ矢印Ｍｙではその内容を示すａ，ｂ，ｃなどの記号やラベルを、また移動矢印Ｃｙでは前述したように、その作用を示す「migrate」の文字を矢印の近傍に表示する。
【０１２２】
なお、各矢印操作部７３，７５は、コラボレーション番号や識別子の変更が可能であってもよい。この場合、変更後も番号が矢印によって異なるものとなるように、調整する必要がある。例えば、ある番号を変更した結果、他の矢印の番号と一致、あるいは順序が入れ替わる場合、影響が及ぶ矢印の番号も同時に変更することが考えられる。さらには、各矢印操作部７３，７５は、予め番号を生成、表示せず、後で番号を入力できるようにしてもよい。
【０１２３】
（７−３）第７実施形態の効果
以上の通り、本実施形態においては、コラボレーション図を利用して、エージェントの移動機能を活用したプログラムの作成を容易に行うことができる。特に、本実施形態においては、移動矢印を描画するだけで、画面上における新たなエージェントアイコンの表示や移動元のエージェントに関するメッセージ矢印の生成が自動的に行われるとともに、これらの操作が開発対象であるプログラムの動作記述に対しても反映される利点がある。また、第５実施形態について説明したように、動作ラインや状態遷移図を利用した表示に比較して、コラボレーション図による表示は、メッセージ矢印や移動矢印にその動作順序や内容を示すラベルを表示させることができるので、各アプリケーションやエージェント間におけるメッセージの動作順序などが一目瞭然に表示される利点もある。したがって、エージェントの移動機能を活用したプログラム作成をより一層効果的に支援することができる。
【０１２４】
【発明の効果】
以上の通り本発明によれば、ネットワークによって接続された複数のコンピュータ間をモバイルエージェントが移動するようなプログラムを作成するにあたって、各コンピュータ上で動作するアプリケーションプログラムとエージェントとの関係、あるいはエージェントとそれが移動する各コンピュータとの関係を目で見て分かりやすく表現することが可能となる。また、コンピュータ、アプリケーション、エージェント、メッセージなどに対応する表示を画面上で操作するだけで、これらを組み合わせたプログラム全体の構築が可能となるとともに、画面上の表示に対する操作をそのままプログラムの動作記述に反映させることができるので、プログラムの作成がより簡単に実行できる。このように本発明によれば、モバイルエージェントを使用したプログラムの作成を効果的に支援することのできる支援装置および方法を提供することが可能となる。
【図面の簡単な説明】
【図１】本発明によるプログラム作成支援装置の第１実施形態の構成を示すブロック図。
【図２】本発明の第１実施形態の画面上における各表示を説明する図。
【図３】本発明の第１実施形態において、エージェント動作ラインの生成前の状態を示す図。
【図４】図３の状態からエージェント動作ラインが生成された後の状態を示す図。
【図５】本発明の第１実施形態において、エージェント動作ラインの途中からエージェント移動矢印を描いた状態を示す図。
【図６】図５のエージェント移動矢印を描いた結果、新たなエージェント動作ラインが生成された状態を示す図。
【図７】本発明の第１実施形態の動作を説明するフローチャート。
【図８】本発明の第１実施形態において、エージェント動作ラインを指定した状態を示す図。
【図９】図８の状態から指定されたエージェントの動作記述を状態遷移図によって表示した図。
【図１０】図９の状態において、エージェント移動矢印を描いた状態を示す図。
【図１１】図１０の状態において、エージェント移動矢印の追加に伴う状態遷移図の変化を示す図。
【図１２】図８の状態から指定されたエージェントの動作記述をプログラムリストを利用して表示した図。
【図１３】図１２の状態において、エージェント移動矢印を描いた状態を示す図。
【図１４】図１３の状態において、エージェント移動矢印の追加に伴う動作記述の変化を示す図。
【図１５】本発明の第１実施形態において、エージェント移動矢印を表示した場合の動作を示すフローチャート。
【図１６】本発明の第１実施形態において、メッセージ矢印の内容を表示する図。
【図１７】本発明の第２実施形態の構成を示すブロック図。
【図１８】本発明の第２実施形態の画面上における各表示を説明する図。
【図１９】本発明の第２実施形態において、状態アイコンを他のホストアイコンに移動する場合を説明する図。
【図２０】図１９において、状態アイコンの移動が完了した状態を示す図。
【図２１】本発明の第２実施形態の動作を説明するフローチャート。
【図２２】本発明の第２実施形態において、状態アイコンを指定するとそのプログラムリストが表示されることを示す図。
【図２３】本発明の第２実施形態において、エージェント移動矢印を描くと移動命令が追加されることを示す図。
【図２４】本発明の第３実施形態の構成を示すブロック図。
【図２５】本発明の第３実施形態において、ホストアイコン間にリンクが表示されている状態を示す図。
【図２６】本発明の第４実施形態の構成を示すブロック図。
【図２７】本発明の第４実施形態において、エージェント複製矢印を描くとプログラムに複製命令が追加されることを示す図。
【図２８】本発明の第５実施形態の構成を示すブロック図。
【図２９】本発明の第５実施形態において、エージェントアイコンの複製を示す図。
【図３０】本発明の第６実施形態の構成を示すブロック図。
【図３１】本発明の第６実施形態において、複製マーカを示す図。
【図３２】本発明の第６実施形態において、状態アイコンを指定するとそのプログラムリストが表示されることを示す図。
【図３３】本発明の第６実施形態において、複製マーカを表示すると複製命令が追加されることを示す図。
【図３４】本発明の第７実施形態の構成を示すブロック図。
【図３５】本発明の第７実施形態において、エージェントアイコンの移動を示す図。
【図３６】本発明の第７実施形態において、エージェント移動矢印の生成を示す図。
【図３７】本発明の第７実施形態において、エージェント移動矢印を描くと関連する表示変更が行われることを示す図。
【符号の説明】
１…コンピュータ本体
２…入力装置
３…ディスプレイ
４…記憶装置
１２…ホストボックス操作部
１３…アプリケーション動作ライン操作部
１４…エージェント動作ライン操作部
１５…エージェント移動矢印操作部
１５１…接続判定部
１５２…エージェント動作ライン調整部
１５３…エージェント動作記述変更部
１６…メッセージ矢印操作部
１７…メニュー表示部
１７…メニュー表示部
１８…表示判定部
１９…内容表示部
１９１…状態遷移図表示部
１９２…状態記述表示部
２１…ホストアイコン操作部
２２…状態アイコン操作部
２３…状態遷移矢印操作部
２４…エージェント移動矢印操作部
２４１…接続判定部
２４２…表示調整部
２４３…動作記述変更部
２７…メニュー表示部
２８…表示判定部
２９…内容表示部
３１…リンク操作部
４１…エージェント複製矢印操作部
４１１…接続判定部
４１２…表示調整部
４１３…動作記述変更部
５１…アプリケーションアイコン操作部
５２…エージェントアイコン操作部
５３…メッセージ矢印操作部
５４…エージェント複製矢印操作部
５４１…接続判定部
５４２…表示調整部
５４３…動作記述変更部
６１…状態アイコン操作部
６２…状態遷移矢印操作部
６３…エージェント複製マーカ操作部
６３１…表示判定部
６３２…表示調整部
６３３…動作記述変更部
７１…アプリケーションアイコン操作部
７２…エージェントアイコン操作部
７３…メッセージ矢印操作部
７４…ホストボックス操作部
７５…エージェント移動矢印操作部
７５１…接続判定部
７５２…表示調整部
７５３…動作記述変更部
Ｈ…ホストボックス
Ｉ…ホストアイコン
Ｎ…状態アイコン
Ｐ…アプリケーションアイコン
Ｐ…アプリケーション動作ライン
Ａ…エージェントアイコン
Ａ…エージェント動作ライン
Ａｙ…エージェント移動矢印
Ｃｙ…エージェント複製矢印
Ｍｙ…メッセージ矢印
Ｍｙｒ…ループしたメッセージ矢印
Ｎｙ…状態遷移矢印
Ｗ…ウインドウ
Ｌ…リンク
【図１】
0004057766.tif 000002
【図２】
0004057766.tif 000003
【図３】
0004057766.tif 000004
【図４】
0004057766.tif 000005
【図５】
0004057766.tif 000006
【図６】
0004057766.tif 000007
【図７】
0004057766.tif 000008
【図８】
0004057766.tif 000009
【図９】
0004057766.tif 000010
【図１０】
0004057766.tif 000011
【図１１】
0004057766.tif 000012
【図１２】
0004057766.tif 000013
【図１３】
0004057766.tif 000014
【図１４】
0004057766.tif 000015
【図１５】
0004057766.tif 000016
【図１６】
0004057766.tif 000017
【図１７】
0004057766.tif 000018
【図１８】
0004057766.tif 000019
【図１９】
0004057766.tif 000020
【図２０】
0004057766.tif 000021
【図２１】
0004057766.tif 000022
【図２２】
0004057766.tif 000023
【図２３】
0004057766.tif 000024
【図２４】
0004057766.tif 000025
【図２５】
0004057766.tif 000026
【図２６】
0004057766.tif 000027
【図２７】
0004057766.tif 000028
【図２８】
0004057766.tif 000029
【図２９】
0004057766.tif 000030
【図３０】
0004057766.tif 000031
【図３１】
0004057766.tif 000032
【図３２】
0004057766.tif 000033
【図３３】
0004057766.tif 000034
【図３４】
0004057766.tif 000035
【図３５】
0004057766.tif 000036
【図３６】
0004057766.tif 000037
【図３７】
0004057766.tif 000038