JP3803458B2 - エージェントモニター装置及び方法、情報処理装置及び方法、並びに記録媒体 - Google Patents
エージェントモニター装置及び方法、情報処理装置及び方法、並びに記録媒体 Download PDFInfo
- Publication number
- JP3803458B2 JP3803458B2 JP16313997A JP16313997A JP3803458B2 JP 3803458 B2 JP3803458 B2 JP 3803458B2 JP 16313997 A JP16313997 A JP 16313997A JP 16313997 A JP16313997 A JP 16313997A JP 3803458 B2 JP3803458 B2 JP 3803458B2
- Authority
- JP
- Japan
- Prior art keywords
- agent
- state
- node
- plan
- displaying
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Digital Computer Display Output (AREA)
- User Interface Of Digital Computer (AREA)
Description
【発明の属する技術分野】
本発明は、エージェントシステムで動作するエージェントの状態を表示してユーザにモニターさせるためにエージェントモニター装置に関するものである。
【0002】
【従来の技術】
エージェントシステムは、エージェントを用いた情報処理システムの総称である。エージェントとは、ユーザの作業を代行しておこなうソフトウエア上の実行主体であり、目的を達成するための自律性を有する。エージェントは、インタフェースエージェント、モバイルエージェント、ネットワークエージェント、マルチエージェントに分類されている(西田豊明:ソフトウエアエージェント、pp.44-51、人工知能学会誌Vol.10,No.5,1995) 。エージェントシステムの形態には、単一のエージェントによるものと複数のエージェントによるものが考えられる。
【0003】
エージェントシステムの一例は、次のようなものである。複数のノードをネットワークに接続する。ユーザが任意のノードに情報処理の目的を入力すると、エージェントが生成される。各ノードには、エージェントがどのようなアクションをとれるかという情報が用意されている。このアクションを組み合わせて、エージェントは、目的を達成するためのプランを作成する。プランは、どの種類のアクションをどの順序で実行すれば目的が達成されるか表す行動計画で、他のノードに移動する移動命令も、必要に応じて組み込むことができる。エージェントは、作成したプランを実行し、プラン中に移動命令が登場すると指定されたノードへ移動し、移動先で動作を続ける。
【0004】
実際には、各ノードには、プランを作成する手段、プランを実行する手段、エージェントの生成・消滅やノード間移動を行う手段、といった機能別のモジュールが設けられていて、これらのモジュールの働きによって上記のようなエージェントの動作が実現される。
【0005】
多くのエージェントシステムは、このようなネットワーク環境や分散環境下において動作しており、このような環境において、ユーザがシステムの動作を把握するためには、どのような情報をどのように表示するかが重要な問題となる。たとえば、単一のエージェントが動作するシステムであれば、エージェントの状態、特に、ネットワークのノード間で移動する機能をもったエージェントの場合には、エージェントの現在位置などの情報をユーザに表示することが必要である。また、複数のエージェントが動作するマルチエージェントシステムの場合には、それぞれのエージェントの状況、エージェント間の関係などの情報を、理解容易な形でユーザに提供することが必要である。さらに、移動機能をもつエージェントを含んでいる場合には、これらの情報に加えてエージェントの移動位置に関する情報も考慮することが必要である。これらの情報は、ユーザがエージェントシステムを開発したり、改善したり、効果的に活用するために不可欠である。
【0006】
この点を考慮して、現在用いられているエージェントシステムの多くにおいて、単一又は複数のエージェントについて、状況を表示する機能が提供されており、さらに、エージェントの状況表示のためにGUIを備えているシステムも知られている(小野、黒田:JAVAの世界を広げる最新エージェント・テクノロジー、pp.134-141, No.2, JAVAWORLD, 1997)。
【0007】
【発明が解決しようとする課題】
しかしながら、これらのGUIでは、エージェントの状況に関する情報がテキスト形式で表示されるものが多く、ユーザがエージェントの状況を把握することは容易ではなかった。特に、複数のエージェントが複数の実行環境に分散している複雑な条件のもとでは、文字のみで各エージェントのふるまいを把握することは困難で、このため、システム全体のふるまいを理解することも困難であった。
【0008】
本発明は、上記のような従来技術の問題点を解決するために提案されたもので、その目的は、エージェントの挙動、特に、エージェントが何をしているのかと行った状態や、ノード間でのエージェントの移動を容易に理解できるエージェントモニター装置を提供することである。
【0009】
【課題を解決するための手段】
上記の目的を達成するため、請求項1の発明は、ネットワークによって接続された複数のノード間を移動し、各ノードに設けられたノードマネージャに制御されて情報処理を実行するソフトウェアであるエージェントの挙動を表示するために、各ノードに設けられるエージェントモニター装置において、エージェントの各状態の内容に応じた画像情報を記憶する手段と、エージェントの状態を読み込む手段と、読み込んだエージェントの状態に応じた前記画像情報を用いて、所定のキャラクタを表示する手段とを備え、前記所定のキャラクタを表示する手段が、一画面上に、エージェントの適用分野に依存しないエージェントの基本的な状態を画像表示する基本状態表示部と、適用分野ごとのエージェントの詳細な状態を表示する詳細状態表示部とを同時に表示する表示装置と、この表示装置上における前記基本状態表示部と詳細状態表示部に対して、それぞれエージェントを表示させるための基本状態表示制御部と詳細状態表示制御部とを備え、かつ、前記基本状態表示制御部と詳細状態表示制御部は、前記基本状態表示部と詳細状態表示部とに対して、エージェントが自分のノードに存在する場合にキャラクタを出現させ、自分のノードから退去した場合にキャラクタを消滅させることによって、自他ノード間でのエージェントの移動を表示するように構成されたことを特徴とする。
【0010】
請求項2の発明は、前記請求項1の発明を方法の観点から把握したものである。また、請求項3の発明は、請求項1の発明のエージェントモニター装置を備えた情報処理装置に関するものである。請求項4の発明は、請求項3の発明を方法の観点から把握したものであり、請求項5の発明は、請求項3の発明をコンピュータ読取可能な記録媒体の観点から把握したものである。
【0011】
前記のような本発明では、エージェントの挙動を内容に応じて、例えば、プランの生成・実行・ノード間の移動・それらの成功や失敗などに応じて、異なった表情・動作・表示形態のキャラクタで表示する。これによって、各エージェントやシステム全体の挙動が、視覚を通じてリアルタイムかつ容易に理解できる。このため、エージェントが正常に動作するかを試験するなどの作業が効率化される。特に、ノード間でのエージェントの移動がキャラクタの出没で視覚的に表示されることによって理解容易になる。例えば、エージェントがノードに到着すると、擬人化されたGUI上の人物がウィンドウ上に表れ、エージェントがノードを離脱するとその人物の表示が消える。
【0012】
また、本発明において、基本状態表示部は、プラン生成、実行、成功、失敗、到着、出発、不在など、エージェントの適用分野に依存しないエージェントの基本的な状態について、各状態に対応する画像の表示によって、エージェントの基本的な状態を表示する。詳細状態表示部は、基本的な状態のみでは表現できない複雑な状態、典型的には、適用分野特有の所定の実行コマンドごとのエージェントの状態に対応する画像を表示する。特に、本発明は、表示装置の一画面上に、基本状態表示部と詳細状態表示部とを同時に表示させることができるように構成しているので、エージェントの状態を多面的に捉えることが可能となる利点がある。
【0013】
さらに、本発明では、プラン生成の際にソフトウェア要素の情報が用いられる。このため、ソフトウェアの所在などシステム構成が変更されても、前記情報の更新によって変更に対応したプラン生成が可能となる。また、移動先のノードでもエージェントの動作は継続され、必要に応じて再度のプランニングも行われるので、柔軟な情報処理が実現される。そして、このような複雑な動作もキャラクタの画像によって表示されるので、視覚を通じて容易に理解することができる。
【0014】
【発明の実施の形態】
以下、本発明の実施形態について図面を参照して説明する。なお、本発明は、通常、コンピュータと周辺機器をプログラムで制御することによって実現される。この場合、前記プログラムによって制御されるCPUが、コンピュータの各種ハードウェア資源を活用することによって本発明の効果を奏する。ハードウェア資源としては、CPUの他、メモリやディスクドライブなどの記憶装置、キーボードやマウスなどの入力装置、画像表示装置やプリンタなどの出力装置が考えられる。ただし、コンピュータや周辺機器の構成は多様であり、これらのハードウェア資源は、種類や構成を適宜変更して用いることができる。このため、本出願では、「○○部」のように、本発明の機能を実現する仮想的回路ブロックを用いて本発明を説明する。
【0015】
(1)構成
まず、図1は、本実施形態の全体構成を示す機能ブロック図である。すなわち、本実施形態は、複数のノードXをネットワークNで接続した情報処理システムに、本発明のエージェントモニター装置(以下「モニター装置」と略称する)を適用したものである。各ノードXは、エージェントの動作を実現するノードマネージャ1と、エージェントの動作を表示してモニターするためのモニター装置37とを組み合わせて構成される。
【0016】
次に、図2は、各ノードXの構成を示す機能ブロック図である。この図において、ノードマネージャ1は、エージェントを管理すると共に、エージェントの各種動作を実現する部分で、エージェント生成部2から動作ログ出力部29までの必要な各構成部分を有する。
【0017】
このノードマネージャ1の主な構成要素は次のようなものである。すなわち、まず、各ノードXのノードマネージャ1は、図1に示すように、エージェントによる情報処理の目的であるゴールを入力するための入力手段Iと、エージェントのプラン作成に用いる情報を保持する情報データベースDとを有する。ここでいう情報は、エージェントがどのようなアクションを取りうるかという情報と、どのノードにどのようなソフトウェア要素が存在するかという情報である。この場合、ソフトウェア要素としては、ファイルや処理モジュールの種別や名称などが挙げられる。ファイルがどのノードにあるかといったシステム構成が変更されても、ソフトウェア要素の情報の更新によって、システム構成の変更をプランの内容に反映させることができる。
【0018】
そして、ノードマネージャ1は、図2に示すように、エージェントを生成するエージェント生成部2と、与えられたゴールを達成するためにエージェントが実行すべきプランを生成して所定の記憶領域に出力するプラン生成部19とを有する。また、ノードマネージャ1は、生成されたプランを、エージェントが取るべき行動内容として前記記憶領域から順次入力するエージェント入力部3と、プラン中の実行開始位置を各時点で検出する実行開始位置検出部6と、プランとして作成されたスクリプトの終了を判定するスクリプト終了判定部8と、プランを実行することによってエージェントの振る舞いを実現する実行部15とを有する。
【0019】
また、ノードマネージャ1は、プラン中の移動命令を検出する移動検出部28と、検出された移動命令に基づいてエージェントを他のノードに移動させる移動処理部26と、不要になったエージェントを消滅させるエージェント消去部14とを有する。
【0020】
また、ノードマネージャ1は、プラン生成の失敗を検出するプラン生成失敗検出部17と、プラン実行の失敗を検出する実行失敗検出部21と、エージェントのノード間移動の失敗を検出する移動失敗検出部24とを有し、プラン生成部19は、プラン実行や移動が失敗した場合は、必要に応じて再度プランを生成するように構成されている。また、ノードマネージャ1は、ノードマネージャ1の動作のログ(履歴)を出力するための動作ログ出力部29を有する。
【0021】
そして、特定のノードに存在する複数個のエージェントは、ノード単位に設置されるノード・マネージャにより一括管理される。モニター装置37は、ノード・マネージャ1が管理するエージェントの状態を視覚的かつリアルタイムにユーザへ通知する装置である。
【0022】
ノードマネージャ1は、モニタースクリプトをモニター装置37へ順次送信する。モニタースクリプトは、ノードマネージャ1が管理するエージェントの状態を表す文字列データである。
【0023】
モニター装置37を構成するにあたって、エージェントがとりうる状態ごとに、擬人化したGUI上の人物画像(以下「エージェント画像」と呼ぶ。)を作成し、表示画像ファイル46に記憶させておく。モニター装置37は、表示装置としてCRT47を有し、CRT47の表示部分は、それぞれ異なる機能を果たす部分に3分割(上下2分割、さらに上半分を左右に2分割)されており、テキスト表示部473(右上)、基本状態表示部470(左上)、詳細状態表示部474(下)に分けられる。
【0024】
このうち、テキスト表示部473は、ノード・マネージャ1から送られてくるモニター・スクリプトを、動作ログとして順次文字表示することによりエージェントの状態をテキスト形式でユーザへ通知する部分である。基本状態表示部470は、プラン生成、実行、成功、失敗、到着、出発、不在など、エージェントの適用分野に依存しないエージェントの基本的な状態について、各状態に対応するタイトル画像およびエージェント画像の表示によって、エージェントの基本的な状態をユーザへ通知する部分である。なお、タイトル画像は、エージェントの状態の名称を表した画像である。詳細状態表示部474は、予め用意された適用分野ごとのタイトル画像およびエージェント画像の表示により、エージェントの詳細な状態をユーザへ通知する部分である。
【0025】
すなわち、エージェントは、あらゆる分野に適用可能なため、その適用分野によっては、基本的な状態のみでは表現できない複雑な状態が生じる。詳細状態表示部474に表示される情報は、その複雑な状態を詳細に表示するために用意されるもので、典型的には、適用分野特有の所定の実行コマンドごとに、エージェントの状態に対応する画像が表示される。なお、CRT47の表示部分の画面構成例を図3に示す。
【0026】
また、モニター制御装置37は、前記各部分470,474,473の表示内容を制御する基本状態表示制御部38、詳細状態表示制御部39、テキスト表示制御部40を有する。これら各制御部38〜40は、以下、「モニター制御装置」と総称するが、これらは例えばアプレットを用いて実装される。
【0027】
また、ここで用いるタイトル画像およびエージェント画像等の画像ファイルは、ページ記述言語により予めウェブ・ブラウザ上に表示可能なHTMLファイルとしておき、必要時にウェブ・ブラウザのページとして表示する。ここで、エージェントの基本的な状態にどのような種類があるかを表1に、各状態に対応する図柄の内容を表2に示す。
【表1】
【0028】
【表2】
【0029】
すなわち、上記のように、表示画像ファイル46は、エージェントの挙動の内容に応じた画像情報を記憶する手段である。また、ノードマネージャからモニター装置37へモニタースクリプトの送信する経路30〜36は、エージェントの挙動を読み込む手段である。また、制御部38〜40及びCRT47は、読み込んだエージェントの挙動に応じた前記画像情報を用いて、所定のキャラクタを表示する手段である。
【0030】
(2)作用
(2−1)エージェントの動作
上記のような構成を有する本実施形態では、エージェントは、次のような動作からなるライフサイクルによって情報処理を行う。図4は、エージェントの各動作からなるライフサイクルを示す図である。この図に示すように、まず、処理開始時には(動作A1)、任意のノードにおいて、ユーザがノードマネージャに対してゴールを与える、すなわち投入することにより、そのノードのノードマネージャがエージェントを生成する(動作A2)。生成されるエージェントの目的は、与えられたゴールを達成する事である。
【0031】
生成されたエージェントは、与えられたゴールを達成するプランニングを行い(動作A3)、成功するとその出力としてエージェントのプログラムであるプランとして、スクリプトを生成する(動作A7)。しかし、プランニング自体に失敗する場合もあり(動作A4)、この場合は、エージェントの実行は完全に失敗する(動作A5)。
【0032】
プランニングに成功した場合、生成されたスクリプトを実行する実行フェーズに移行する(動作A7)。この実行フェーズでは、スクリプトに含まれる各種のコマンドが実行される(動作A9)。エージェントによるコマンドの実行は、エラーを発生して失敗する可能性もある。この場合は、再びプランニングフェーズに戻り(動作A8)、最初に与えたゴール、または実行が失敗したコマンドが指定するゴールがある場合はそのゴールを達成するプランを作成する(動作A3)。
【0033】
実行フェーズにおいて、スクリプトを末尾まで実行できた場合は、エージェントは、ゴールを完遂した事になる(動作A10)。この時は、エージェントの動作は正常終了する(動作A11)。
【0034】
なお、実行フェーズにおいて、スクリプト中の移動命令を実行する場合は移動フェーズに入る(動作A12,A14)。移動の際は、移動元のノードマネージャは、移動先のノードマネージャに対して所定の通信プロトコルにて移動を行い、成功すると移動先のノードにて実行フェーズに戻る(動作A13)。移動が失敗した場合は、他のコマンドの失敗と同様にプランニングフェーズに戻る(動作A6)。
【0035】
(2−2)ノードマネージャの動作
上記のようなエージェントのライフサイクルは、ノードマネージャによる次のような動作によって実現される。すなわち、エージェント生成部2は(図2)、ノードマネージャに対して投入されたゴールを受取ると、エージェントを生成して動作を開始させ、また、経路4を通じてプラン生成部19にゴールを渡す。プラン生成部19では、経路4から与えられたゴールを達成するプラン、すなわちスクリプトを生成する。
【0036】
このとき、プランニングは失敗する場合がある。これは、ゴールを達成する手段が見つけられなかったことを意味し、エージェントは、実行失敗となる。この場合、プラン生成失敗検出部17は経路18を通じて失敗を検出し、経路12からその旨をエージェント消去部14に通知する。通知を受けたエージェント消去部14は、エージェントを消滅させて終了処理を行う。
【0037】
一方、プランの生成に成功すると、プランは経路10から送出され、エージェントは実行フェーズに入る。実行フェーズでは、実行部15が、スクリプトの実行位置におけるコマンドを読み取り、解釈実行し、また、スクリプトの終了判定部8では、実行部15に経路13を通じてコマンドを渡しながら、スクリプトの末尾まで実行が進んだかどうかを判定する。
【0038】
実行フェーズにおいてプランの実行失敗が発生した場合、実行失敗検出部21が経路16を通じて実行失敗を検出し、コマンドの実行時エラーとなる。そして、このエラーを経路20で通知されたプラン生成部19がプランを生成する。
【0039】
プラン実行時、移動検出部28は、経路23を通じて、実行中のコマンドが移動命令であるかどうかを判定する。判定結果として移動命令である旨が経路27で通知されると、移動処理部26は移動コマンドを実行し、この際、移動先のノードに対してエージェントの移動に必要な情報を通信する。この場合、エージェントは、移動元のノードからは立ち去ることになるため、移動元のノードによるそのエージェントの処理は、移動が成功した段階で終了する。
【0040】
なお、移動失敗検出部24は、経路25を通じて移動の失敗を監視する。移動の失敗は、移動先のノードとの通信プロトコルが正常に動作しない事により検出できる。移動が失敗した場合は、失敗が経路22で通知され、プランニングフェーズに戻り、プラン生成部19がプランを生成しなおす。
【0041】
これら動作の間、動作ログ出力部29は、エージェントの動作の詳細な記録をとり、所定のファイルに記述する。なお、改めて図示しないが、本実施形態の動作においては、ワークメモリ・各種ライブラリファイル・テンポラリファイルなど、あらゆる他の必要な構成要素が適宜用いられる。
【0042】
(2−3)モニタースクリプトの送信
上記のような動作を行う各段階で、ノード・マネージャ1の各部分は、ユーザへの通知を目的として、管理するエージェントの状態をテキスト表現したモニター・スクリプトをモニター装置37へ送信する。なお、ユーザは、ノード・マネージャが管理する複数個のエージェントからモニター装置の表示対象となるエージェントを予め選択しておくことができる。ノード・マネージャの管理対象が単一エージェントである場合、そのエージェントがモニター装置の表示対象となる。
【0043】
(2−4)モニター装置による情報の表示
モニター装置37は、ノード・マネージャ1から送られてきたモニター・スクリプトを受け、現時点で表示対象として選択されているエージェントに関するものである場合、送信されてきたモニタースクリプトに対応する文字列や画像によってエージェントの挙動をユーザに表示する。図5は、モニター装置の動作を示すフローチャートである。なお、図2の表示画像ファイル46は、図5に示す基本的な状態画像のファイル461と、エージェントの適用分野別の状態画像ファイル462とを含む。
【0044】
そして、モニター装置の各画面は、中心となる前記モニター制御装置により管理制御され、その表示内容は、図5に示すように、ノードマネージャが送信(ステップ51)したモニタースクリプトを、モニター制御装置が受信するごとに(ステップ52)更新される。
【0045】
表示内容の更新の際は、まず、テキスト表示部473(図3右上)にエージェントの状態として、送信されてきたモニタースクリプト472を表示する(ステップ53)。次に、基本状態の表示を行う。ここでは、モニター・スクリプトの内容がエージェントの基本状態を意味する場合、すなわち表1に示す文字列とモニタースクリプトが一致する場合、エージェントの基本状態を表現したタイトル画像およびエージェント画像を、基本的な状態画像ファイル461から検索取得し、これを基本状態表示部470に表示する(ステップ54)。
【0046】
なお、このように基本状態を表示するための具体的な手順を図6に示す。この手順では、モニタースクリプトの文字列に応じて(ステップ601,603,605,607,609,611,613)、文字列が表す基本状態に対応するエージェント画像471が表示される(ステップ602,604,606,608,610,612,614)。なお、基本状態表示制御部38は、エージェントのライフサイクルを表す図式を、図4に示したような形式で基本状態表示部470に表示しておき、各時点で該当する部分を強調表示するように構成してもよい。
【0047】
最後に(図5)、モニター・スクリプトの内容に対応するエージェントの適用分野に応じたタイトル画像およびエージェント画像が予め用意されている場合、これを適用分野別状態画像ファイル462から検索取得し、詳細状態表示画面474(図3下)に表示する(ステップ55)。なお、このように適用分野別の詳細状態を表示するための具体的な手順を図7に示す。この手順では、受信したモニタースクリプトに対応する詳細画像ファイルを検索し(ステップ71)、該当する詳細画像ファイルがあった場合は(ステップ72)、その詳細画像ファイルを用いてエージェントの適用分野に応じた詳細な画像表示を行う(ステップ73)。以上の手続きをモニター・スクリプト受信毎に行なうことにより、エージェントの状態を視覚的かつリアルタイムにユーザへ通知することができる。
【0048】
(2−5)エージェントの動作の実例
以降では、旅行計画支援を実例として、モニター装置37がどのように稼働するのか説明する。通常の旅行計画支援例題は、複数個のエージェントおよび複数個のノードを用いて旅行計画に関する全般を支援するが、ここでは例題を簡略化し、単一エージェントおよび旅行計画を依頼する旅行代理店と旅行目的地の2つのノードによる「出発地から目的地までのルート情報獲得」の部分だけを例にとって、モニター装置の機能との関係を前提に説明する。
【0049】
この例において、旅行代理店(以降TAと呼ぶ)ならびに旅行目的地(以降JAISTと呼ぶ)のノードは、以下の条件のもとに成立し、その目的は「出発地TOKYOから目的地JAISTまでのルート情報獲得」とする。
・旅行代理店は、出発地から目的地までのルート情報を保持していないものとする。
・旅行代理店は、出発地から目的地までのルート情報を保持するノードを認識しているものとする。
・旅行目的地は、出発地から目的地までのルート情報を保持しているものとする。
【0050】
図8に、上記条件から求めたルート情報獲得の手続きおよびエージェントの状態を表したモニター・スクリプトを示す。なお、図8のモニター・スクリプトは、説明のために簡略化した例である。また、図8に表記されている文字列の意味(文法)を以下に示す。
【0051】
・特殊文字#はコメント行の開始位置であり、#以降に続く文字列は全てコメントとして扱われる。
・文字列"agent1"はエージェント固有の識別子(エージェント識別子)であり、ノード内に存在する複数個のエージェントを一意に識別するものである。ここで"agent1"以降に続く文字列は、全てagent1に関する状態であること意味する。
・文字列"plan","parsing","complete","fail","enter","bye"は、表1に示されるエージェントの基本的な状態、プラン生成、実行、成功、失敗、到着、出発、不在を意味する。
・文字列"script"は、"script"以降に続く文字列が直前のプラン生成により生成されたスクリプトであることを意味する。
【0052】
以下、表記されているモニター・スクリプトが表す手続きについて説明した後、手続きに対応したモニター装置の表示内容について説明する。なお、以下の「行番号」は、図8に示すモニター・スクリプトの各行右端に括弧書きされた行番号である。
【0053】
まず、TAにおいて出発地TOKYOから目的地JAISTまでの旅行計画をプラン(行番号1)し、ルート情報獲得のためのスクリプト(行番号2−3)を求める。求めたスクリプトでは、TAにおいてルート情報検索(行番号2)と獲得(行番号3)を行なうよう指示されている。なお、本来ならば、スクリプト(行番号2−3)以降に、タイムテーブル検索取得、チケット検索取得等に関するスクリプトが生成されるが、ここでは簡略化のため省略する。
【0054】
スクリプト(行番号2−3)に従い、ルート情報検索(行番号4)を行なうが、条件より「旅行代理店は、出発地から目的地までのルート情報を保持していない」為、このルート情報検索は失敗(行番号5)する。
【0055】
失敗後、直ちにスクリプト(行番号2−3)と異なる方法を再プラン(行番号6)し、新たなスクリプト(行番号7−11)を求める。新たなスクリプトは、「ルート情報を保持するであろうノードJAISTに移動後(行番号7)、JAISTおいてルート情報検索(行番号8)と獲得(行番号9)を行ない、獲得したルート情報をTAに持ち帰る(行番号10−11)」というものである。スクリプト(行番号7−11)の実行結果が(行番号12〜19)に相当する。
【0056】
すなわち、まず、TAからJAISTに移動(行番号12〜15)し、JAISTにおいてルート情報検索(行番号16)、獲得(行番号17)を行なう。条件より「旅行目的地は、出発地から目的地までのルート情報を保持している」為、これに成功(行番号18,19)する。最後に、獲得したルート情報をTAに持ち返り(行番号20−22)、本手続きを終了するとともに目的を達成する。
【0057】
(2−6)表示の実例
上記のようなエージェントの動作をモニター装置37が如何に表示するかについて、モニター・スクリプトの部分ごとに、エージェントの動作内容とともに説明する。なお、以下では、テキスト、基本状態、詳細状態はモニター装置のテキスト表示部、基本状態表示部、詳細状態表示部を表し、エージェント画像とはエージェントの状態を表すのに必要なタイトル画像および擬人化したGUI上の人物画像を意味するものとする。
【0058】
なお、表示に先だって、エージェントの各状態や挙動に対応する次のような表示に用いる画像が表示画像ファイル46に格納されているものとする。すなわち、図9はプラン生成中を表す表示例であり、同様に、図10はプラン実行中、図11は、プラン実行成功、図12はプラン実行失敗の場合の表示例である。また、図13はノードにエージェントが到着した場合の表示例、図14はノードからエージェントが出発する場合の表示例、図15はノードにエージェントが不在の場合の表示例である。
【0059】
・行番号1〜3
まず、エージェントは、出発地TOKYOから目的地JAISTまでの旅行計画をプラン生成(行番号1)し、ルート情報獲得のスクリプト(行番号2〜3)を求める。このときのモニター装置の表示内容を図16に、モニター装置の表示例の変化を図17に示す。なお、図16中の括弧書きの数字は図8に示したモニター・スクリプト中の行番号であり、以下同様である。
【0060】
・行番号4〜5
エージェントは、生成したスクリプト(行番号2〜3)に従い、ルート情報検索(行番号4)を行なうが、条件より「旅行代理店は出発地から目的地までのルート情報を保持していない」為、本ノードにおけるルート情報検索は失敗(行番号5)する。このときのモニター装置の表示内容を図18に、モニター装置の表示例の変化を図19に示す。
【0061】
・行番号6〜11
エージェントは、ルート情報検索に失敗後、スクリプト(行番号2〜3)と異なる方法を再プラン(行番号6)し、新たなスクリプト(行番号7〜11)を求める。このときのモニター装置の表示内容を図20に、モニター装置の表示例の変化を図21に示す。
【0062】
・行番号12〜14
そして、エージェントは、新たなスクリプト(行番号7〜11)に従い、TAを出発後(行番号12〜13)、JAISTへ移動する。移動後(行番号14)のモニター装置には、エージェントは表示されない。このときのモニター装置の表示内容を図22に、モニター装置の表示例の変化を図23左側に示す。すなわち、図23左側は移動元のノードのモニター装置の表示例の変化であり、エージェントを表す人物画像が消滅する。
【0063】
・行番号15
TAを出発したエージェントは、JAISTに到着(行番号15)する。JAISTのモニター装置には、到着をあらわすエージェントが表示される。このときのモニター装置の表示内容を図24に、モニター装置の表示例の変化を図23右側に示す。図23右側は移動先のノードのモニター装置の表示例の変化であり、エージェントを表す人物画像が出現する。
【0064】
このように、本実施形態では、ノード間でのエージェントの移動がキャラクタの出没で視覚的に表示されることによって理解容易になる(請求項2,7)。すなわち、エージェントがノードに到着すると、擬人化されたGUI上の人物がウィンドウ上に表れ、エージェントがノードを離脱するとその人物の表示が消える。
【0065】
・行番号16〜17
エージェントは、到着したJAISTにおいてルート情報検索(行番号16)を行なう。条件より「目的地は、出発地から目的地までのルート情報を保持している」ことから、本ノードにおけるルート情報検索は成功(行番号17)する。このときのモニター装置の表示内容を図25に、モニター装置の表示例の変化を図26に示す。
【0066】
・行番号18〜19
検索に成功したエージェントは、ルート情報獲得(行番号18)を行なう。条件より「目的地は、出発地から目的地までのルート情報を保持している」ことから、本ノードにおけるルート情報獲得も成功(行番号19)する。このときのモニター装置の表示内容を図27に、モニター装置の表示例の変化を図28に示す。
【0067】
・行番号20〜21
最後に、エージェントは、獲得したルート情報をTAに持ち帰って情報処理は目的が達成される(行番号20〜21)。このときのモニター装置の表示内容を図29に示す。また、エージェントが元のノードに帰還する際の、移動元と帰還先それぞれにおけるモニター装置の表示例の変化を、図30の左側と右側に示す。
【0068】
(3)効果
以上のように、本実施形態では、エージェントの挙動を内容に応じて、例えば、プランの生成・実行・ノード間の移動・それらの成功や失敗などに応じて、異なった表情・動作・表示形態のキャラクタで表示する。このため、各エージェントやシステム全体の挙動が、視覚を通じてリアルタイムかつ容易に理解できる。このため、エージェントが正常に動作するかを試験するなどの作業が効率化される。
【0069】
特に、本実施形態では、プランの生成・実行・実行失敗などエージェントの状態が、キャラクタの動作で視覚的に表示されることによって理解容易になる。
【0070】
また、本実施形態では、プラン生成の際にソフトウェア要素の情報が用いられる(請求項6,8)。このため、ソフトウェアの所在などシステム構成が変更されても、前記情報の更新によって変更に対応したプラン生成が可能となる。また、移動先のノードでもエージェントの動作は継続され、必要に応じて再度のプランニングも行われるので、柔軟な情報処理が実現される。そして、このような複雑な動作もキャラクタの画像によって表示されるので、視覚を通じて容易に理解することができる。
【0071】
(4)他の実施形態
なお、本発明は、上記実施形態には限定されず、次に例示するような他の実施形態を包含するものである。例えば、上記実施形態に示したネットワークの構成、エージェントのスクリプト、モニター装置による表示例や表示画像の内容などは単なる例示に過ぎず、これらの具体的な実現態様は自由に定めることができる。また、ノード内でのエージェントの状態の表示と、ノード間でのエージェントの移動を必ずしも双方表示する必要はなく、モニター装置でモニターする情報の内容はユーザが自由に定めればよい。
【0072】
また、本発明は、コンピュータをプログラムで制御することによって実現されることが一般的と考えられるので、そのようなプログラムを記録した記録媒体も本発明の一態様である。
【0073】
【発明の効果】
以上説明したように、本発明によれば、ユーザが把握するのに困難とされる、特定ノードにおけるエージェントの状態および特定ノード間を移動するエージェントの位置を、視覚的かつリアルタイムに確認することが可能となる。
【図面の簡単な説明】
【図1】 本発明の実施の形態における情報処理装置全体の構成を示すブロック図。
【図2】 本発明の実施の形態におけるノードの構成を示す機能ブロック図。
【図3】 本発明の実施の形態において、モニター装置の表示画面の構成を示す図。
【図4】 本発明の実施の形態において、エージェントの各動作からなるライフサイクルを示す図。
【図5】 本発明の実施の形態において、表示を更新する処理手順を示すフローチャート。
【図6】 本発明の実施の形態において、基本状態画像を表示する手順を示すフローチャート。
【図7】 本発明の実施の形態において、詳細状態画像を表示する手順を示すフローチャート。
【図8】 本発明の実施の形態において、スクリプトの例を間略化して示す図。
【図9】 本発明の実施の形態において、プラン生成中を表すモニター装置の表示例。
【図10】 本発明の実施の形態において、プラン実行中を表すモニター装置の表示例。
【図11】 本発明の実施の形態において、プラン実行成功を表すモニター装置の表示例。
【図12】 本発明の実施の形態において、プラン実行失敗を表すモニター装置の表示例。
【図13】 本発明の実施の形態において、エージェント到着時のモニター装置の表示例。
【図14】 本発明の実施の形態において、エージェント出発時のモニター装置の表示例。
【図15】 本発明の実施の形態において、エージェント不在時のモニター装置の表示例。
【図16】 本発明の実施の形態において、モニター装置の表示内容を示す図(行番号1〜3の処理に対応)。
【図17】 本発明の実施の形態において、モニター装置の表示が図16に示した表示内容に対応して変化する状態を示す。
【図18】 本発明の実施の形態において、モニター装置の表示例の変化を示す図(行番号4〜5の処理に対応)。
【図19】 本発明の実施の形態において、モニター装置の表示が図18に示した表示内容に対応して変化する状態を示す。
【図20】 本発明の実施の形態において、モニター装置の表示内容を示す図(行番号6〜11の処理に対応)。
【図21】 本発明の実施の形態において、モニター装置の表示が図20に示した表示内容に対応して変化する状態を示す。
【図22】 本発明の実施の形態において、モニター装置の表示内容を示す図(行番号12〜14の処理に対応)。
【図23】 本発明の実施の形態において、モニター装置の表示が図22に示した表示内容に対応して変化する状態を示す。
【図24】 本発明の実施の形態において、モニター装置の表示内容を示す図(行番号15の処理に対応)。
【図25】 本発明の実施の形態において、モニター装置の表示内容を示す図(行番号16〜17の処理に対応)。
【図26】 本発明の実施の形態において、モニター装置の表示が図24及び図25に示した表示内容に対応して変化する状態を示す。
【図27】 本発明の実施の形態において、モニター装置の表示内容を示す図(行番号18〜19の処理に対応)。
【図28】 本発明の実施の形態において、モニター装置の表示が図27に示した表示内容に対応して変化する状態を示す。
【図29】 本発明の実施の形態において、モニター装置の表示内容を示す図(行番号20〜21の処理に対応)。
【図30】 本発明の実施の形態において、モニター装置の表示が図29に示した表示内容に対応して変化する状態を示す。
Claims (5)
- ネットワークによって接続された複数のノード間を移動し、各ノードに設けられたノードマネージャに制御されて情報処理を実行するソフトウェアであるエージェントの挙動を表示するために、各ノードに設けられるエージェントモニター装置において、
エージェントの各状態の内容に応じた画像情報を記憶する手段と、
エージェントの状態を読み込む手段と、
読み込んだエージェントの状態に応じた前記画像情報を用いて、所定のキャラクタを表示する手段とを備え、
前記所定のキャラクタを表示する手段が、一画面上に、エージェントの適用分野に依存しないエージェントの基本的な状態を画像表示する基本状態表示部と、適用分野ごとのエージェントの詳細な状態を表示する詳細状態表示部とを同時に表示する表示装置と、この表示装置上における前記基本状態表示部と詳細状態表示部に対して、それぞれエージェントを表示させるための基本状態表示制御部と詳細状態表示制御部とを備え、かつ、前記基本状態表示制御部と詳細状態表示制御部は、前記基本状態表示部と詳細状態表示部とに対して、エージェントが自分のノードに存在する場合にキャラクタを出現させ、自分のノードから退去した場合にキャラクタを消滅させることによって、自他ノード間でのエージェントの移動を表示するように構成されたことを特徴とするエージェントモニター装置。 - ネットワークによって接続された複数のノード間を移動するソフトウェアであるエージェントを、各ノードに設けられたノードマネージャによって制御して情報処理を実行させる場合に、前記エージェントの状態を表示するためのエージェントモニター方法において、
エージェントの各状態の内容に応じた画像情報を記憶するステップと、
エージェントの状態を読み込むステップと、
読み込んだエージェントの状態に応じた前記画像情報を用いて、所定のキャラクタを表示するステップとを備え、
前記所定のキャラクタを表示するステップが、一画面上に、エージェントの適用分野に依存しないエージェントの基本的な状態を画像表示する基本状態表示部と、適用分野ごとのエージェントの詳細な状態を表示する詳細状態表示部とを同時に表示する表示処理と、
前記基本状態表示部と詳細状態表示部に対して、前記エージェントが自分のノードに存在する場合にキャラクタを出現させ、自分のノードから退去した場合にキャラクタを消滅させることによって、自他ノード間でのエージェントの移動を表示する処理を含むことを特徴とするエージェントモニター方法。 - 情報処理の実行主体であるエージェントが移動して情報処理を行うための複数のノードと、前記エージェントの挙動を表示してモニターするためのエージェントモニター装置とを有する情報処理装置において、
前記ノードは、エージェントがとりうるアクションの情報と各ノードに存在するソフトウェア要素の情報を記憶する手段と、
与えられたゴールを達成するためにエージェントが実行すべきプランを前記各情報に基づいて生成する手段と、
生成されたプランを実行することによってエージェントの振る舞いを実現する手段と、プラン中の移動命令に基づいてエージェントをノード間で移動させる手段とを有し、
前記プランを生成する手段は、プランの実行又は前記移動が失敗した場合に、必要に応じて再度プランを生成するように構成され、
前記エージェントモニター装置は、エージェントの状態の内容に応じた画像情報を記憶する手段と、エージェントの状態を読み込む手段と、読み込んだエージェントの状態に応じた前記画像情報を用いて、所定のキャラクタを表示する手段とを有し、
前記所定のキャラクタを表示する手段が、一画面上に、エージェントの適用分野に依存しないエージェントの基本的な状態を画像表示する基本状態表示部と、適用分野ごとのエージェントの詳細な状態を表示する詳細状態表示部とを同時に表示する表示装置と、この 表示装置上における前記基本状態表示部と詳細状態表示部に対して、それぞれエージェントを表示させるための基本状態表示制御部と詳細状態表示制御部とを備え、かつ、前記基本状態表示制御部と詳細状態表示制御部は、前記基本状態表示部と詳細状態表示部とに対して、エージェントが自分のノードに存在する場合にキャラクタを出現させ、自分のノードから退去した場合にキャラクタを消滅させることによって、自他ノード間でのエージェントの移動を表示するように構成されたことを特徴とする情報処理装置。 - 情報処理の実行主体であるエージェントを複数のノード上で移動させて情報処理を行うステップと、前記エージェントの挙動を表示してモニターするためのステップとを有する情報処理方法において、
前記情報処理のステップは、エージェントがとりうるアクションの情報と各ノードに存在するソフトウェア要素の情報を記憶するステップと、
与えられたゴールを達成するためにエージェントが実行すべきプランを前記各情報に基づいて生成するステップと、
生成されたプランを実行することによってエージェントの振る舞いを実現するステップと、プラン中の移動命令に基づいてエージェントをノード間で移動させるステップとを有し、
前記プランを生成するステップは、プランの実行又は前記移動が失敗した場合に、必要に応じて再度プランを生成するように構成され、
前記エージェントをモニターするステップは、エージェントの状態の内容に応じた画像情報を記憶するステップと、エージェントの状態を読み込むステップと、読み込んだエージェントの状態に応じた前記画像情報を用いて、所定のキャラクタを表示するステップとを有し、
前記所定のキャラクタを表示するステップが、一画面上に、エージェントの適用分野に依存しないエージェントの基本的な状態を画像表示する基本状態表示部と、適用分野ごとのエージェントの詳細な状態を表示する詳細状態表示部とを同時に表示する表示処理と、
前記基本状態表示部と詳細状態表示部に対して、前記エージェントが自分のノードに存在する場合にキャラクタを出現させ、自分のノードから退去した場合にキャラクタを消滅させることによって、自他ノード間でのエージェントの移動を表示する処理を含むことを特徴とする情報処理方法。 - 情報処理の実行主体であるエージェントを複数のノード上で移動させて情報処理を行うステップと、前記エージェントの挙動を表示してモニターするためのステップとを含む情報処理方法を実現するコンピュータプログラムを記録した記録媒体において、
前記情報処理のステップは、エージェントがとりうるアクションの情報と各ノードに存在するソフトウェア要素の情報を記憶するステップと、
与えられたゴールを達成するためにエージェントが実行すべきプランを前記各情報に基づいて生成するステップと、
生成されたプランを実行することによってエージェントの振る舞いを実現するステップと、プラン中の移動命令に基づいてエージェントをノード間で移動させるステップとを有し、
前記プランを生成するステップは、プランの実行又は前記移動が失敗した場合に、必要に応じて再度プランを生成するように構成され、
前記エージェントをモニターするステップは、エージェントの状態の内容に応じた画像情報を記憶するステップと、エージェントの状態を読み込むステップと、読み込んだエージェントの状態に応じた前記画像情報を用いて、所定のキャラクタを表示するステップとを有し、
前記所定のキャラクタを表示するステップが、一画面上に、エージェントの適用分野に依存しないエージェントの基本的な状態を画像表示する基本状態表示部と、適用分野ごとのエージェントの詳細な状態を表示する詳細状態表示部とを同時に表示する表示処理と、
前記基本状態表示部と詳細状態表示部に対して、前記エージェントが自分のノードに存在する場合にキャラクタを出現させ、自分のノードから退去した場合にキャラクタを消滅させることによって、自他ノード間でのエージェントの移動を表示する処理を含むことを特徴とするコンピュータ読取可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16313997A JP3803458B2 (ja) | 1997-06-19 | 1997-06-19 | エージェントモニター装置及び方法、情報処理装置及び方法、並びに記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16313997A JP3803458B2 (ja) | 1997-06-19 | 1997-06-19 | エージェントモニター装置及び方法、情報処理装置及び方法、並びに記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1115623A JPH1115623A (ja) | 1999-01-22 |
JP3803458B2 true JP3803458B2 (ja) | 2006-08-02 |
Family
ID=15767959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP16313997A Expired - Fee Related JP3803458B2 (ja) | 1997-06-19 | 1997-06-19 | エージェントモニター装置及び方法、情報処理装置及び方法、並びに記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3803458B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3501729B2 (ja) * | 2000-06-05 | 2004-03-02 | 株式会社タイトー | ブラウジングアシスト装置、プログラムが記録された記録媒体 |
JP2002091971A (ja) * | 2000-09-11 | 2002-03-29 | Sony Corp | エージェントシステム、情報提供方法及び情報提供装置並びにデータ記録媒体 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3127084B2 (ja) * | 1994-08-11 | 2001-01-22 | シャープ株式会社 | 電子秘書システム |
-
1997
- 1997-06-19 JP JP16313997A patent/JP3803458B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH1115623A (ja) | 1999-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
O'Kane | A gentle introduction to ROS | |
JP2874032B2 (ja) | ソフトウェア作業ツール | |
KR101038395B1 (ko) | Gui를 갖는 컴퓨터 시스템에서 태스크를 실행하는 방법, help 파일을 구성하는 방법 및 컴퓨터 판독가능 매체 | |
US20070150102A1 (en) | Method of supporting robot application programming and programming tool for the same | |
Kraemer et al. | Tool support for the rapid composition, analysis and implementation of reactive services | |
JP2013527529A (ja) | 実時間ミッションプランニング | |
Gan et al. | Runtime monitoring of web service conversations | |
Gehlot | From petri NETS to colored petri NETS: A tutorial introduction to NETS based formalism for modeling and simulation | |
JP3803458B2 (ja) | エージェントモニター装置及び方法、情報処理装置及び方法、並びに記録媒体 | |
WO1998037497A1 (fr) | Processeur d'informations relatives a un espace virtuel | |
CN113778415A (zh) | 基于图形化编程的ModBus通讯脚本生成方法和装置 | |
JP7212238B2 (ja) | 情報処理装置、その制御方法及びプログラム | |
JP2002203086A (ja) | ワークフロー管理装置、ワークフロー管理方法およびワークフロー管理プログラムを記録した記録媒体 | |
CN114008600A (zh) | 聊天机器人诊断可视化 | |
CN110515849A (zh) | 一种断点调试方法、装置、系统、设备及存储介质 | |
Tambe et al. | MDDPro: model-driven dependability provisioning in enterprise distributed real-time and embedded systems | |
JP3722970B2 (ja) | エージェントシステムのモニタ装置、モニタ方法及びモニタ用プログラムを記録した記録媒体 | |
JP7319516B2 (ja) | プログラム、情報処理装置及びその制御方法 | |
JP7323755B2 (ja) | 情報処理システム、その制御方法及びプログラム | |
Garcia-Espallargas et al. | Distributed agents control system, a framework for programming distributed agents | |
JP4550278B2 (ja) | 遠隔計算機処理 | |
JP7256353B2 (ja) | 情報処理システム、その制御方法及びプログラム | |
Sangwan et al. | Structural complexity in architecture-centric software evolution | |
KR101587637B1 (ko) | 아이콘 기반 프로그래밍 보조 방법 및 이를 위한 제어장치 | |
Feuerstack | A Method for the User-centered and Model-based Development of Interactive Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20031203 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040302 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040506 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050614 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050810 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060425 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060508 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090512 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100512 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110512 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110512 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120512 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120512 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130512 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130512 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140512 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |