| 1. 起動と読み込み |
リポジトリとワークプレースを起動すると(2)で示したエージェントがリポジトリ上に読み込まれる。
全てのエージェント名が既知であり、同じリポジトリ上に存在しているものとする。
|
|
2. リポジトリ上での確認
|
ここで、 Simple のインスペクタを開くと以下のように表示される。
|
□ Simple |
| File Edit Fact Engine - □ non-stop Action |
RuleSet
Dash-Org
8行目の記述によって読み込まれたルールセット。
27〜30行目のルールによってアクティブになって
いるので文字が赤くなっている。
_default
|
|
|
Simple.dash
(agent Simple ...
|
|
WorkingMemory
Rule-set :active (Dash-Org) :not-active (_default) :all (_default Dash-Org))
(Msg :performative __INIT_C :content (INIT))
(Members :manager null)
(Status :cname Simple :name Simple :environment r1:_localhost :origin r1:_localhost)
(create :author "太郎@ieice" :date "Apr. 15, 2000")
|
|
|
|
|
|
|
|
|
3. メッセージの送信
|
次に、 [acl-editor] タブの各空欄に以下のように入力し、 [Send] ボタンを押す。
:performative
|
|
:to
|
|
:content
|
(request :to Simple :content (task :name Simple))
|
|
|
|
|
|
:contentの内容について
:to Simple
- この属性に、本当に依頼をしたいエージェント名を記述する。
:content (task :name Simple)
- (2.1)の36行目の :task 属性と同じ内容を記述する。Simpleには、この記述が
そのまま渡される。
|
|
4. 直接落札の送信
|
以下のように直接落札(directed-award)メッセージが送信される。
|
|
5. タスク実現可能性の判断
|
(2.1)の35〜39行目のルールが発火する。依頼されたタスクは実現可能なので
拒否(refusal)メッセージは送信しない。
|
|
6. 落札の送信
|
一定時間経過後、 CnpManager から落札(award)メッセージが送信される。
|
|
7. インスタンシエート
|
エージェントSimpleがインスタンシエートを行い,ワークプレースにSimple.xxx...が生成される.
|
|
--[ _createInstance ]-->
<--[ createdInstance ]-- |
|
|
|
8. 動作可能の送信
|
エージェントSimpleから動作可能(acceptance)メッセージが送信され、
CnpManagerは結果を出力する。
CnpManagerが出力する結果
From: [CnpManager] Message: [インスタンシエートに成功しました。 |
|
|
9. インスタンシエートの完了
|
ワークプレースに生成されたエージェントに対して、例題の request-information メッセージが
送信可能な状態になる。
|