|
1. 起動と読み込み
|
リポジトリとワークプレースを起動すると(2)で示したエージェントが
リポジトリ上に読み込まれる。注意点としては、(2.2)の8行目で記述した「iwate.txt」の
位置に気をつける。起動時のディレクトリによっては、読み込みに失敗する場合がある。
全てのエージェント名が既知であり、同じリポジトリ上に存在しているものとする。
|
|
2. メッセージの送信
|
次に、 [acl-editor] タブの各空欄に以下のように入力し、 [Send] ボタンを押す。
:performative
|
|
:to
|
|
:content
|
(request :to DB-access :content (task :name DB-access))
|
|
|
|
|
|
|
|
3. 直接落札の送信
|
以下のように直接落札(directed-award)メッセージが送信される。
|
|
4. タスク実現可能性の判断 (DB-access)
|
(2.1)の77〜88行目に記述したルールが発火する。
この後、読み込んだルールが発火し、ODB-iwate に対して直接落札メッセージが送信される。
|
|
5. タスク実現可能性の判断 (ODB-iwate)
|
(2.2)の91〜95行目に記述したルールが発火する。
依頼されたタスクは実現可能なので拒否(refusal)メッセージは送信しない。
|
|
6. 落札の送信 (CnpManager → DB-access)
|
一定時間経過後、 CnpManager から落札(award)メッセージが送信される。
|
|
7. 落札メッセージ送信の前処理
|
(2.1)の90〜98行目に記述した落札内容に関するルールが発火する。
|
|
8. インスタンシエート (DB-access)
|
エージェントDB-accessがインスタンシエートを行う。
|
|
(_createInstance)→
←(createdInstance) |
|
|
|
|
|
9. 落札の送信 (DB-access → ODB-iwate)
|
DB-access からODB-iwate に対して落札(award)メッセージが送信される。
このとき、環境モニタの[msg]タブを開くと以下のような表示がされていて、
落札メッセージの内容を確認することができる。
DB-accessがODB-iwateに送った落札メッセージの内容
(Msg
:performative award
:from DB-access
:to ODB-iwate
:replyWith 6
:inReplyTo 0
:departure null
:arrival null
:wp w1:_localhost
( ← インスタンシエート先のワークプレース名。(decompose)ファクトを生成するときは 「null」を指定したので、上位のエージェント(CnpManager)から指定されたワークプレースが自動的に代入されている。)
:manager DB-access.200212070233416:w1:_localhost
( ← マネージャエージェント(DB-access)のワークプレースにおける名前が代入されている。)
:award ((URL :url bar.sample.jp))
( ← 98行目に記述した内容がメッセージに正しく添付されていることが確認できる。)
:tid 2
:content (task :name 温泉DB :prefecture 岩手県))
( ← サブタスクである(decompose)ファクトに記述した内容(88行目)がそのまま代入される。) |
|
|
10. インスタンシエート (ODB-iwate)
|
エージェントODB-iwateがインスタンシエートを行う。
ワークプレース上で動作するように記述した(14行目)ベースプロセスが以下のような
メッセージを出力する。
|
|
(_createInstance)→
←(createdInstance) |
|
|
|
ワークプレース上に生成されたODB-iwateが出力する結果
Load ./iwate.txt
金田一温泉 単純泉 二戸市 50
奥中山温泉 ナトリウム炭酸水素塩泉 一戸町 80
田山温泉 アルカリ性単純泉 安代町 60
|
|
|
11. 動作可能の送信
|
エージェントODB-iwateからDB-accessに対して動作可能(acceptance)メッセージが送信され、
DB-accessからCnpManagerに動作可能メッセージが送信される。最後にCnpManagerが結果を出力する。
CnpManagerが出力する結果
From: [CnpManager] Message: [インスタンシエートに成功しました。 |
|
|
12. インスタンシエートの完了
|
ワークプレースに生成されたエージェントに対して、例題の from-user 等が
送信可能な状態になる。
|