電子情報通信学会ワードテンプレート (タイトル)

社団法人 電子情報通信学会
THE INSTITUTE OF ELECTRONICS,
INFORMATION AND COMMUNICATION ENGINEERS
信学技報
TECHNICAL REPORT OF IEICE
エージェントシステムのインタラクティブ設計開発方法論
打矢 隆弘†
高垣 暁†
原 英樹‡
阿部 亨§
木下 哲男§
†東北大学大学院情報科学研究科 〒980-8577 仙台市青葉区片平 2-1-1
‡千葉工業大学情報科学部 〒275-0016 千葉県習志野市津田沼 2-17-1
§東北大学情報シナジーセンター 〒980-8577 仙台市青葉区片平 2-1-1
E-mail: †[email protected], [email protected][email protected], §[email protected], [email protected]
あらまし 近年,エージェント技術を利用して種々のエージェントシステムの設計開発が試みられるようになっ
てきている.しかし,状況依存的・非決定的に振舞うエージェントシステムの設計やデバッグは難しく,その基盤
となる設計開発方法論や設計開発支援技法もほとんど提案されていない.本稿では,エージェントシステムの設計
開発効率の向上を目指して,リポジトリ型エージェントフレームワークを基盤とするインタラクティブな設計開発
方法論とその支援技法を提案する.
キーワード インタラクティブ性,エージェントシステム,リポジトリ型フレームワーク,設計開発方法論
Interactive Design/Development Methodology of Agent System
Takahiro UCHIYA† Akira TAKAGAKI† Hideki HARA‡ Tooru ABE§ and Tetsuo KINOSHITA§
†Graduate School of Information Sciences, Tohoku University, 2-1-1 Katahira, Aoba-ku, Sendai, 980-8577, Japan
‡Department of Information and Network Science, Faculty of Computer and Information Network Science, Chiba
Institute of Technology, 2-17-1, Tsudanuma, Narashino, Chiba, 274-0016, Japan
§Information Synergy Center, Tohoku University, 2-1-1 Katahira, Aoba-ku, Sendai, 980-8577, Japan
E-mail: †[email protected], [email protected][email protected], §[email protected], [email protected]
Abstract The agent-based computing systems have been design and developed using recent agent technologies. However,
the design/debugging of these system is difficult due to the situational and nondeterministic behavior of the agents, and the
effective design method and design support technologies have not been proposed. In this paper, to realize the efficiency of the
development of agent system, we propose a new method of interactive design/development and support technologies based on
repository-based agent framework.
Keyword interactive, agent system, repository-based agent framework, design/development methodology
1. は じ め に
次世代情報処理システムの基盤技術の一つとして
向上を目指して,リポジトリ型エージェントフレーム
ワークを基盤とするインタラクティブな設計開発方法
エージェント技術がある.エージェントそのものの捉
論とその支援技法を提案する.
え方は様々であるが,本稿では,自律性や社会性など
2. エ ー ジ ェ ン ト シ ス テ ム 設 計 開 発 の 現 在
の新しい特性を備えたソフトウェアをエージェントと
呼び,こうしたエージェントを構成要素とする新しい
2.1 エ ー ジ ェ ン ト の 設 計 開 発
エ ー ジ ェ ン ト シ ス テ ム は ,種 々 の エ ー ジ ェ ン ト に よ
知識情報システムをエージェントシステムと呼ぶこと
っ て 構 成 さ れ ,要 求 さ れ た 情 報 処 理 (以 下 問 題 解 決 と 呼
にする.現在,エージェントやエージェントシステム
ぶ )を 実 行 す る ソ フ ト ウ ェ ア シ ス テ ム と 捉 え る こ と が
の実現に関わる様々な研究開発が進められ,実問題へ
できる.こうしたエージェントシステムの構築におい
の適用も試みられるようになってきている.しかしな
て,設計開発目標となるのは,様々な機能や用途を持
がら,エージェント技術に基づく新しいソフトウェア
ったエージェントと,それらが構成する問題解決のた
システムを系統的に設計開発するための方法論や,そ
めのエージェント組織である.
れに基づく支援環境などは充分に整備されていない.
エ ー ジ ェ ン ト シ ス テ ム の 設 計 開 発 過 程 で は ,従 来 の
本稿では,エージェントシステムの設計開発効率の
ソフトウェアシステムの場合と同様に,設計目標を規
定 す る 仕 様 ,例 え ば ,設 計 目 標 の 全 体 的 構 造 (ア ー キ テ
エージェントシステムに必要とされる機能と構造
ク チ ャ ),エ ー ジ ェ ン ト と し て 実 現 さ れ る 機 能 ,エ ー ジ
に 関 す る 要 求 仕 様 (問 題 分 割・部 分 問 題 割 り 当 て・問
ェントのタイプ/粒度/制御構造/知識,エージェン
題 解 決 制 御 構 造 )を 定 義 す る .
ト 協 調 方 式 ,エ ー ジ ェ ン ト 間 通 信 方 式 な ど が 決 定 さ れ ,
c.エ ー ジ ェ ン ト シ ス テ ム 設 計 : 要 求 仕 様 を 満 た す エ
目標とする問題解決を遂行するエージェントシステム
ージェントシステムとそこで必要とされるエージ
が実現される.
ェントを設計する.
エージェントシステムの構成要素となるエージェ
d.エ ー ジ ェ ン ト 実 装 : 部 分 問 題 を 解 決 す る 個 々 の エ
ントの設計開発においては,エージェントの類型化や
ージェントの実装,エージェント組織構成,及びエ
実現法が工夫されつつある.例えば,類型化に関して
ージェントシステム全体としての動作のテスト・デ
は ,エ ー ジ ェ ン ト の 性 質 や 機 能 に 基 づ い て ,(a)基 本 型 ,
バッグを行う.
(b)リ ア ク テ ィ ブ 型 , (c)熟 考 型 , (d)複 合 型 の 4 つ に 分
e.運 用 試 験 : エ ー ジ ェ ン ト シ ス テ ム の 運 用 試 験 を 行
類することができる.
い,問題解決に有効であるかどうかを検証する.
一 方 , 実 現 法 に 関 し て は , 大 別 し て , (i)プ ロ グ ラ ミ
上記の手順に基づくトップダウン型設計開発は,近年
ン グ ア プ ロ ー チ ,(ii)フ レ ー ム ワ ー ク ア プ ロ ー チ の 2 つ
のエージェントシステム設計開発の主流であり,その
に分類できる.
基盤となる設計開発方法論も徐々に策定されてきてい
(i)プ ロ グ ラ ミ ン グ ア プ ロ ー チ:
Java 等 の 既 存 の プ ロ
る (ZEUS[5], MaSE[6], Tropos[7]). こ れ ら の 手 法 の 特
グラミング言語系や専用のエージェント記述言語
性として,エージェント設計開発者により一連の工程
系などを用いて,設計開発目標のエージェントの動
が行われるため,設計開発の自由度が高い反面,設計
作や知識を直接記述し,エージェントを実現する手
開発工程数の多さから,エージェント設計開発者の作
法である.設計の自由度が高く,基本型やリアクテ
業負担が大きいという課題も内在する.
ィブ型のエージェント設計開発には適しているが,
(2)ボ ト ム ア ッ プ 型 設 計 開 発
高度な機能や知識が要求される塾考型や複合型の
場合には設計開発工数が増大する.
(ii)フ レ ー ム ワ ー ク ア プ ロ ー チ:
多数のエージェントが利用可能な状態で存在して
いることを前提としてエージェントを設計開発する手
特定のエージェント
法である.問題解決の状況に即して,開発済エージェ
アーキテクチャに基づくエージェント開発支援環
ントが問題分割や部分問題の割り当てを自律的に実行
境 (フ レ ー ム ワ ー ク )を 利 用 す る も の で , プ ロ グ ラ ミ
するため,エージェント設計開発者は部分問題のうち
ングアプローチを強化・拡張するアプローチといえ
の必要なエージェントのみを実装し,エージェント組
る .そ こ で は ,エ ー ジ ェ ン ト の 基 本 メ カ ニ ズ ム (通 信
織構成,結合テスト・デバッグを行えばよい.
機 構 ,協 調 機 構 ,推 論 機 構 な ど )が 予 め 与 え ら れ る の
上 記 に 基 づ く ボ ト ム ア ッ プ 型 設 計 開 発 は ,エ ー ジ ェ
で,問題解決や協調動作のための知識やモデルを記
ントシステムの再利用を前提としているために,設計
述するだけで,種々のエージェントを比較的少ない
開発効率を向上させる可能性を含んでいるものの,分
工数で実現することができる.
散環境におけるエージェントシステムの保持機構や,
近 年 ,フ レ ー ム ワ ー ク に 関 す る 研 究 開 発 事 例 と し て
問題解決の過程でエージェントが動的に組織を形成す
は ,ADIPS[1],AgentBuilder[2],JADE[3],JATLite[4],
るためのメカニズムが必要であるため,あまり実現さ
ZEUS[5]等 が あ る .
れていない.しかしながら,トップダウン型設計開発
こ の よ う に ,エ ー ジ ェ ン ト の 実 現 法 は 徐 々 に 整 理 さ
と比較して,設計開発者の作業負担が大きく削減され
れつつあるが,多数のエージェントが互いに協調し,
る こ と か ら ,効 果 的 な 方 法 論 の 確 立 が 求 め ら れ て い る .
動的に組織を形成して問題解決を実行するエージェン
3. エ ー ジ ェ ン ト シ ス テ ム の イ ン タ ラ ク テ ィ ブ
トシステムの場合には,設計開発上の課題がいくつか
設計開発方法論の提案
残されている.
3.1 基 本 コ ン セ プ ト
2.2 エ ー ジ ェ ン ト シ ス テ ム の 設 計 開 発
本稿では,フレームワークアプローチの観点から,
エージェントシステムの設計開発は大きくトップ
特にリポジトリ型エージェントフレームワーク
ダウン型とボトムアップ型に大別できる.各々の性質
ADIPS[1], DASH[8]を ベ ー ス と し た , エ ー ジ ェ ン ト シ
と設計開発上の課題について考察する.
ステムのインタラクティブな設計開発方法論とその支
(1)ト ッ プ ダ ウ ン 型 設 計 開 発
援機構を提案する.
a.問 題 特 定 : 解 決 す べ き 問 題 や そ の 前 提 条 件 な ど を
リポジトリ型エージェントフレームワークは,エー
特定する.
ジ ェ ン ト リ ポ ジ ト リ (以 下 , リ ポ ジ ト リ と 略 記 )と 呼 ば
b.要 求 仕 様 定 義 : 特 定 さ れ た 問 題 を 解 決 す る た め に
れるエージェントシステムの蓄積・管理機構を備える
ことが大きな特徴である.現状では,リポジトリを中
は,ルール型知識記述言語を用いたエージェントの
核とするフレームワークは少ないが,エージェントシ
知 識 記 述 ,及 び ,エ ー ジ ェ ン ト の 機 能 (ベ ー ス プ ロ セ
ステムの設計開発過程では,リポジトリに集積された
ス )記 述 に 帰 着 さ れ る .エ ー ジ ェ ン ト の 知 識 記 述 に お
資産の効果的な活用を支援・促進することにより,設
いては,ルールの状態遷移やルール間の繋がりを考
計開発作業の高度化が期待できる.
慮し知識記述を行う必要があり,ある程度のノウハ
本 稿 で 提 案 す る 設 計 開 発 方 法 論 は ,上 述 し た 特 徴 を
ウを必要とするために,初期の設計開発者にとって
活かしたボトムアップ型設計開発を支援する方法論
プログラミングの負担は大きい.この課題を解消す
であり,既存のトップダウン型のエージェントシステ
るために,リポジトリ内の開発済エージェントの利
ム設計開発方法論と比較し,以下の特徴を持つ.
用を図る.即ち,必要に応じて,リポジトリ内の開
・再利用性
発済エージェントの種々の知識,例えば,問題解決
リポジトリに集積された開発済エージェント等の
を実行する知識,エージェント組織を形成するため
資産の利用/再利用による設計開発効率向上
の知識,他のエージェントや外界の状況を認識する
・インタラクティブ性
知識等を参照してプログラミングを進める.また,
設計者とエージェントの相互補完的な役割分担と
リポジトリに格納されている知識記述テンプレー
協働による設計開発の柔軟性向上や円滑化
トを参照して,必要な知識を効率よく記述する.
3.2 イ ン タ ラ ク テ ィ ブ 設 計 開 発 方 法 論 の 提 案
C-3 イ ン タ ラ ク テ ィ ブ な 動 作 シ ミ ュ レ ー シ ョ ン
本 節 で は ,リ ポ ジ ト リ 型 エ ー ジ ェ ン ト フ レ ー ム ワ ー
プログラミングが一段落した際には,エージェント
クをベースとするインタラクティブ設計開発方法論を
の協調動作の観測や分析を通して,設計開発された
提案する.
エージェントの知識/機能の検証・評価を実行する.
リポジトリ活用に立脚したエージェントシステム
設計開発途上のエージェントシステムを対象とし
の 設 計 開 発 は , 以 下 の A∼ D の プ ロ セ ス で 進 行 す る .
て,エージェント単体もしくはエージェント組織の
A.問 題 特 定 :
レベルで,それらを試験的に動作させ,その動作結
解決すべき問題やその前提条件などを特定する.
B.要 求 仕 様 定 義 :
果を参考にし,設計の変更や修正を迅速に進める.
例えば,エージェント組織構成・メッセージ通信
特定された問題を解決するためにエージェントシ
や同時並行的な動作を確認したり,単一エージェン
ステムに必要とされる機能と構造に関する要求仕
トの知識の内部状態を確認する.上記の作業におい
様を定義する.
て,エージェント相互間でのみ送受信される協調メ
C.エ ー ジ ェ ン ト シ ス テ ム 設 計 ・ 実 装 :
ッセージを,エージェントシステムに対し外界の設
要求仕様を満たすエージェントシステムとそこで
計開発者も適宜送受信/補完することにより,エー
必要とされるエージェント群を設計・実装する.以
ジェントの動作知識が一部未完成な場合であって
下の工程順に進められる.
も,その後のシステムの挙動/性質の確認や,操作
C-1 開 発 済 エ ー ジ ェ ン ト シ ス テ ム の 再 利 用
/制御を実行することができる.このように,エー
要求仕様から導出された部分機能の要求仕様それ
ジェント設計開発者とエージェントシステムが相
ぞれを,開発済エージェントシステムが保持されて
互補完的に協調しながら,動作シミュレートを実行
いるリポジトリに投入し,開発済エージェントシス
してゆく.シミュレートの際に,不具合やエラーが
テムの再利用を図る.リポジトリに保持されている
発 見 さ れ た 場 合 に は , 工 程 3-2 に 戻 り , 知 識 記 述 等
エージェントは,知識ベースに格納されている組織
構成知識を利用して,自律的に与えられた仕様を満
の修正/デバッグを実行する.
C-4 開 発 済 エ ー ジ ェ ン ト シ ス テ ム の 登 録 / 更 新
たすかどうかを判断・応答する.再利用可能なエー
設計開発したエージェントシステムの分散環境上
ジェントシステムが見つかった場合には,適宜必要
での利用と,次回以降のエージェントシステム設計
なエージェントを設計開発者の環境に取込み,部分
開発の再利用を想定して,エージェントシステムを
機能を満たすエージェントとして再利用する.
分散環境上のリポジトリに登録する.既にリポジト
C-2 エ ー ジ ェ ン ト 知 識 / 機 能 の プ ロ グ ラ ミ ン グ
リポジトリ型エージェントフレームワークは,協調
機構,ルール型知識処理機構,タスク処理機構から
リ内に同一のエージェントが保持されている場合
には,エージェントの更新をリポジトリに通知する.
D.運 用 試 験 :
なるエージェントアーキテクチャと,ルール型エー
実環境で,エージェントシステムの運用試験を行い,
ジェント知識記述言語をエージェント設計開発者
問題解決における有効性やエージェント知識の妥
に提供する.即ち,エージェント設計開発者の作業
当性などを検証し,システムを洗練してゆく.
4. イ ン タ ラ ク テ ィ ブ 設 計 開 発 方 法 論 に 基 づ く
エージェントシステム設計開発支援環境
(M1)エージェント検索・
取込み支援機構
エージェントリポジトリ
IDEA の 設 計 ・ 実 装
取込み
4.1 設 計
(M2)エージェントプログ
ラム編集支援機構
(M3)動作シミュレート・
デバッグ支援機構
前 節 で 提 案 し た 設 計 開 発 方 法 論 に 基 づ い て ,設 計 開
登録・
更新
発者によるエージェントシステム設計開発作業を効果
設計
開発
(M4)エージェント登録・
更新支援機構
的に支援するために,インタラクティブエージェント
設計開発者
開発支援環境IDEA
開 発 支 援 環 境 (IDEA: Interactive Design Environment
for Agent system)を 提 案 す る .
IDEA の 設 計 方 針 と し て , 前 節 で 述 べ た 工 程 C-1∼
C-4 を 支 援 す る 機 構 を 導 入 す る こ と が 挙 げ ら れ る . 具
体的には,以下の 4 つに帰着される.
(R1)リ ポ ジ ト リ と 連 携 し , 新 た に 開 発 者 が 定 義 し た 要
求仕様を充足する開発済エージェント/エージェント
システムをリポジトリから検索/取込み,再利用/流
用設計の実行を支援すること
(R2)エ ー ジ ェ ン ト 知 識 記 述 に 適 し た 専 用 プ ロ グ ラ ミ ン
グエディタを提供し,また,開発済エージェントの知
識参照やテンプレート提供により,知識記述の円滑な
実行を支援すること
(R3)設 計 開 発 者 と エ ー ジ ェ ン ト シ ス テ ム の 相 互 補 完 的
な役割分担と協働によるインタラクティブな動作シミ
ュ レ ー シ ョ ン( エ ー ジ ェ ン ト 組 織 構 成・再 構 成・協 調 ・
移動テスト等)を支援すること
(R4)テ ス ト を 完 了 し た エ ー ジ ェ ン ト シ ス テ ム の 登 録 ・
集 積 を 実 行 す る こ と に よ り ,そ れ ら の 効 果 的 な 活 用 や
再利用を支援すること
上 記 4 つ の 設 計 方 針 に 基 づ き , IDEA の 支 援 項 目 を
以下のように決定した.
(F1)エ ー ジ ェ ン ト 検 索 ・ 取 込 み 支 援 ・ ・ ・ (R1)の 実 現
(F2)エ ー ジ ェ ン ト プ ロ グ ラ ム 編 集 支 援 ・ ・ (R2)の 実 現
(F3)動 作 シ ミ ュ レ ー ト ・ デ バ ッ グ 支 援 ・ ・ (R3)の 実 現
(F4)エ ー ジ ェ ン ト 登 録 ・ 更 新 支 援 ・ ・ ・ ・ (R4)の 実 現
上 記 項 目 に 対 応 し て , IDEA は , (M1)エ ー ジ ェ ン ト
検 索 ・ 取 込 み 支 援 機 構 , (M2)エ ー ジ ェ ン ト プ ロ グ ラ ム
編 集 支 援 機 構 , (M3)動 作 シ ミ ュ レ ー ト ・ デ バ ッ グ 支 援
機 構 , (M4)エ ー ジ ェ ン ト 登 録 ・ 更 新 支 援 機 構 , の 4 つ
の 機 構 か ら 構 成 さ れ る (図 1).
以下に各機構の設計について述べる.
(M1)エ ー ジ ェ ン ト 検 索 ・ 取 込 み 支 援 機 構
主に,エージェントの再利用を前提として,分散環
境上のリポジトリからエージェントを検索する機能と,
検索されたエージェントに対し,必要なエージェント
を開発支援環境内に取込む機能を有する.前者は,エ
ージェント名/機能名等の付加的情報を用いたキーワ
ード入力による検索機能やリポジトリ内のカテゴリ指
定 に よ る 検 索 機 能 で あ り ,後 者 は ,検 索 結 果 表 示 機 能 ,
エージェント動作知識プレビュー機能,エージェント
図1
インタラクティブエージェント開発支援環境
IDEA の 構 成
取込み機能,取込みエージェントのツリー表示・プロ
ジェクト管理機能である.
本機構を用いて,リポジトリに集積された開発済エ
ージェント等の資産の利用/再利用を図ることにより,
トップダウン型の設計開発と比較して,その設計開発
効率を向上できる.
(M2)エ ー ジ ェ ン ト プ ロ グ ラ ム 編 集 支 援 機 構
主に,エージェント動作知識を円滑にプログラミン
グするための各機能を有する.動作知識の記述支援を
行うエディタ機能が主な機能であり,それを補足する
形でコードインサイト機能,コードチェック機能等の
働きにより,エージェント動作知識記述の効率化を図
る . ま た , (M1)と 連 動 し た 流 用 エ ー ジ ェ ン ト の 動 作 知
識参照機能や,テンプレート提供機能により,初心者
のエージェント設計開発者に対し,エージェント動作
知識記述のためのノウハウや方策を与える.
(M3)動 作 シ ミ ュ レ ー ト ・ デ バ ッ グ 支 援 機 構
主に,インタラクティブなエージェント動作シミュ
レーショト・デバッグを実行するための機能,及び,
開発支援環境内で分散環境上のエージェントシステム
挙動をエミュレートする機能を有する.前者は,設計
開発者がエージェントシステムに対し,メッセージを
送 受 信 す る た め の ACL エ デ ィ タ 機 能 ,エ ー ジ ェ ン ト シ
ステム全体の動作を確認するエージェントビューア機
能,個々のエージェントの動作状態を確認するエージ
ェントインスペクタ機能,エージェント間のメッセー
ジを監視するメッセージ監視・検出機能等である.こ
れらの機能を用いることで,エージェントの動作知識
が一部未完成な場合であっても,設計開発者の介在に
よって,柔軟かつ円滑に,システムの挙動/性質の確
認や,操作/制御を実行することができる.
一方,後者については,仮想的なリポジトリと動作
環 境 (ワ ー ク プ レ ー ス ) を 導 入 し た 分 散 エ ミ ュ レ ー ト
機能,マルチワークプレース機能等がある.これらの
機能を利用することで,従来では実環境を用いて行っ
ていたエージェントシステムの挙動テスト等が,設計
開発の途中段階においても,比較的容易に行えるよう
になり,その結果,煩雑になりがちなテスト・デバッ
欄に表示される.そこで,検索結果から必要なエージ
グ作業をより効率的に進めることができる.
ェントを選択することにより,当該エージェントプロ
(M4)エ ー ジ ェ ン ト 登 録 ・ 更 新 支 援 機 構
グラムの参照や取込みが行える.
開発済エージェントシステムのリポジトリへの登
(M2)エ ー ジ ェ ン ト プ ロ グ ラ ム 編 集 支 援 機 構 (図 3)
録・更新機能を有する.更新機能では,エージェント
ルール型の知識記述に特化した専用プログラミン
名重複チェックや,名前管理・世代管理等を実施し,
グ エ デ ィ タ や , 機 能 プ ロ セ ス (ベ ー ス プ ロ セ ス )の プ ロ
リポジトリ内エージェントの管理支援を実行する.
グ ラ ミ ン グ に 特 化 し た エ デ ィ タ を 提 供 す る .MDI 化 が
4.2 実 装
可能なため,複数エージェントの平行開発も円滑に実
本節では,各機構の実装の概要を述べる.
行することができ,またコードチェック・コードイン
サイト等の機能により,記述形式や記述内容の整合性
や統一性を保証しつつ,プログラミング効率を向上し
て設計開発を促進する.
図2
検索・取込み支援
図4
図3
動作シミュレート・デバッグ支援
エージェントプログラム編集支援
(M1)検 索 ・ 取 込 み 支 援 機 構 (図 2)
リポジトリに保持されているエージェントを検索
するための検索条件設定部と,その検索結果表示部,
エージェントプログラムのプレビュー部の各インタフ
ェースを提供する.
図5
エージェント登録・更新支援
(M3)動 作 シ ミ ュ レ ー ト ・ デ バ ッ グ 支 援 機 構 (図 4)
設計開発目標のエージェントやエージェント組織
検 索 条 件 設 定 部 に ,エ ー ジ ェ ン ト 設 計 開 発 者 が 部 分
の動作を観測するためのエージェントビューアや,エ
機能の候補となるエージェント名や機能名等の仕様を
ージェントインスペクタを備え,また,エージェント
投入すると,その要求がリポジトリに通知され,合致
に対するメッセージをインタラクティブに設計開発者
したエージェント/エージェントシステムが検索結果
が 送 受 信 す る 機 能 と し て ACL エ デ ィ タ を 提 供 す る .
IDEA の 特 徴 と な っ て い る シ ミ ュ レ ー シ ョ ン 環 境 に
者の記述作業の負担を軽減し,効率的にエージェント
は,仮想的なリポジトリと複数ワークプレースを配置
を開発できることが確認された.
することができ,実環境を模した条件下でのエージェ
4.3.2 動 作 シ ミ ュ レ ー ト ・ デ バ ッ グ 支 援 の 評 価
ント組織構成や協調動作のシミュレーションが行える.
(M4)エ ー ジ ェ ン ト 登 録 ・ 更 新 支 援 機 構 (図 5)
(M3)動 作 シ ミ ュ レ ー ト・デ バ ッ グ 支 援 機 構 を 用 い て ,
ルール状態遷移等のエージェント知識処理機構の内部
完成したエージェントシステムをリポジトリに登
録するためのインタフェースを提供する.
状態や,システム全体の挙動を見ながら動作シミュレ
ーションを行うことができ,またエージェントの協調
登録時にエージェントの重複が生じた場合には,更
動作時の知識が一部未完成な場合であっても,エージ
新処理を実行する.
ェ ン ト 設 計 開 発 者 の 補 完 的 介 入 (メ ッ セ ー ジ 投 入 等 )に
4.3 実 験 と 評 価
より,システムを停止・再起動することなく,引き続
本稿で提案したインタラクティブ設計開発方法論に
きシステムの動作が確認できた.以上,本開発支援環
基 づ く 開 発 支 援 環 境 IDEA の 有 効 性 の 評 価 を 行 う た め
境を用いなかった場合に比べて,設計開発者の動作テ
に,以下の 3 つの例題を基に実験を行った.
スト・デバッグ作業が柔軟かつ円滑に行われることが
[例 題 1]ホ テ ル 選 定 シ ス テ ム
確認された.
利用者要求に基づき,複数のホテルの中から最も評価
5. お わ り に
の高いホテルを選択する問題を処理するエージェント
本 稿 で は ,リ ポ ジ ト リ 型 エ ー ジ ェ ン ト フ レ ー ム ワ ー
システム
クをベースとする,インタラクティブにエージェント
{ 構 成:ホ テ ル エ ー ジ ェ ン ト ×3,個 別 評 価 エ ー ジ ェ ン
システム設計開発を行うための方法論と,その方法論
ト ×3,総 合 評 価 エ ー ジ ェ ン ト ,秘 書 エ ー ジ ェ ン ト ,黒
に基づきエージェント設計開発を支援するための開発
板エージェント}
支 援 環 境 IDEA を 提 案 し た .本 開 発 支 援 環 境 に お い て ,
[例 題 2]会 議 日 程 調 整 シ ス テ ム
エージェント利用/再利用の支援やインタラクティブ
複数ユーザ間の会議日程を調整するエージェントシス
動作シミュレート・デバッグ支援を行うことにより,
テム
エージェント開発効率を向上することが,実験により
{ 構 成 : 秘 書 エ ー ジ ェ ン ト ×3, 会 議 室 エ ー ジ ェ ン ト }
確認された.
[例 題 3]ホ テ ル 予 約 シ ス テ ム
今後の課題として,エージェントの組織設計に対す
契約ネットプロトコルを利用して,旅行代理店がホテ
る機能分割支援機能や,テンプレート機能の充実,デ
ルを予約するエージェントシステム
バッグ機能の拡張等の検討を進めている.
{ 構 成:ホ テ ル エ ー ジ ェ ン ト ×3,旅 行 代 理 店 エ ー ジ ェ
ント,秘書エージェント}
文
4.3.1 エ ー ジ ェ ン ト プ ロ グ ラ ム 記 述 支 援 の 評 価
本実験について既存エージェントや契約ネットプ
ロトコルの実装部のテンプレートを利用することによ
り,削減できた記述量を表 1 に示す.
表 1
エージ
ェント
総数
例題 1
例題 2
例題 3
9
4
5
流用
エージ
ェント
数
3
1
4
実験結果
記述行
数 [r]
総行数
[n]
記述削
減率
[(n-r)/n]
339
278
159
655
385
266
0.48
0.28
0.40
(M1)エ ー ジ ェ ン ト 検 索・取 込 み 支 援 機 構 及 び (M2)エ
ージェントプログラム編集支援機構を用いた,開発済
エージェントシステムの再利用に伴うコード削減率は
平 均 し て 0.39 で あ っ た .こ の 結 果 か ら ,本 開 発 支 援 環
境を用いて利用/再利用可能なエージェントプログラ
ムを再利用することによって,エージェント設計開発
献
[1] 藤 田 茂 , 菅 原 研 次 , 木 下 哲 男 , 白 鳥 則 郎 , ”分 散
処理システムのエージェント指向アーキテクチ
ャ ”,情 報 処 理 学 会 論 文 誌 ,Vol.37,No.5,pp.840-851,
(1996).
[2] AgentBuilder, http://www.agentbuilder.com/
[3] JADE, http://sharon.cselt.it/projects/jade/home.htm
[4] JATLite, http://java.stanford.edu/
[5] Hyacinth S. Nwana, Divine T. Ndumu, Lyndon C.
Lee and Jaron C. Collis, “ZEUS: A Toolkit for
Building Distributed Multi-Agent Systems”, Applied
Artificial
Intelligence
Journal,
Vol.13
(1),
pp.129-186, (1999).
[6] Scott A. DeLoach, Mark F. Wood and Clint H.
Sparkman, “Multiagent Systems Engineering”, The
International Journal of Software Engineering and
Knowledge Engineering, Vol.11 No.3, (2001).
[7] J. Mylopoulos, M. Kolp and P. Giorgini, “Agent
Oriented Software Development”, Proceedings of the
2nd Hellenic Conference on Artificial Intelligence
(SETN-02), (2002).
[8] H. Hara, K. Sugawara, T. Kinoshita, T. Uchiya,
“Flexible Distributed Agent System and Its
Application”, Proceedings of the Fifth Joint
conference
of
Knowledge-based
Software
Engineering, IOS Press, pp.72-77, (2002).