ITEE seminar: Prof. Keith Clark, 10.00AM, Thu 10 Jul 2003
Go! for multi-threaded deliberative agents
Speaker: Prof. Keith Clark, Imperial College, London
When: 10.00AM, Thursday 10 Jul 2003
Venue: 78-622
Host: Dr Peter Robinson
Abstract:
Go! is a multi-paradigm programming language that is oriented to the
needs of programming secure, production quality, agent based
applications. It is multi-threaded, strongly typed and higher order
(in the functional programming sense). It has relation, function and
action procedure definitions. Threads execute action procedures,
calling functions and querying relations as need be. Threads in
different agents communicate and coordinate using asynchronous
messages. Threads within the same agent can also use shared dynamic
relations acting as Linda style memory stores.
In this talk we introduce the essential features of Go! illustrating
them by showing how it can be used to:
- emulate many of the features of Nilsson's Teleo Reactive robot
control programs,
- implement a simple multi-agent application comprising hybrid
reactive/deliberative agents interacting in a simulated ballroom.
In the ballroom simulation dancer agents arrive asynchronously over
a period of time and negotiate to enter into joint commitments to
dance a particular dance (e.g. polka) when it is next announced.
Each agent has a model of the other agent's initial desires obtained
from a match maker with which all register on arrival at the
dance. This model, and the dancers own unsatisfied desires and
current commitments, constrain the negotiation. This is the
deliberative component of each dancer. They only begin a
negotiation when the band is not playing.
When a dance is announced, by a band agent that cycles through a
repertoire of dances, dancers with a joint commitment to dance do so
to discharge the commitment. This is the reactive component.
Each dancer's reactive and deliberative components are concurrently
executing threads which communicate and coordinate using belief,
desire and intention memory stores. We believe such a
multi-threaded agent architecture represents a powerful and natural
style of agent implementation, for which Go! is well suited.
Biography:
Professor Keith Clark is from Imperial College, London. His main interests are in agent programming.
Contact:
Dr Peter Robinson, seminar host (pjr@itee.uq.edu.au)
or Guido Governatori (ITEE seminar co-ordinator)
(guido@itee.uq.edu.au)
ITEE seminar web page: http://www.itee.uq.edu.au/~seminar
[All seminars]
