Subject: Agents that talk to themselves
From: John J. Mikucki (jjm7570@cs.rit.edu)
Date: Wed Jul 24 2002 - 06:27:51 MET DST
Hello---
I would like my agents to send messages to themselves periodically. Ideally,
I would be able to specify a delay and an ACLMessage, and expect the agent to
send itself that message from time to time.
My reasoning is that I would like to subject these 'internal' stimuli to the
same rules that apply to 'external' messages from other agents. For example,
suppose I have an agent which performs time-consuming processing while on a
container. The agent should move periodically, with a period of no less than
X seconds. The agent should not while tasks are active. Hence, I would like
the agent to send itself messages at potential movement times, every X
seconds. These messages would be validated according to the same movement
safety-checks (for example, "Do not move while processing is active") as
messages from external agents.
To this end, I have a class (IMGen) which creates and adds CBSs (specialized
CyclicBehaviours) that send a message and block for the desired inter-arrival
delay. However, whenever the agent receives a message, all CBSs wake up
(sending their messages) even if the block() delays have not yet expired. As
CBSs are strictly temporal, they will never be interested in or affected by
messages from any source. What is the JADE-approved method to ensure that
CBSs block for at least the full duration of their delay?
Thanks
John
-- Avoision, n: Avoidance, as practiced in 'Joisey.
This archive was generated by hypermail 2a22 : Wed Jul 24 2002 - 04:27:09 MET DST