School of Creative Technologies (CT)
Soar as an Agent
Although the Soar production system architecture was originally developed as a cognitive modelling architecture, it has been increasingly used as an agent architecture. In this short note, we consider Soar as an agent architecture within the context of other agent architectures. In particular, we concentrate on the need for the agent development tools and reusable components if Soar is to realise its potential as a fully fledged agent architecture.
Although there are no clear cut agent standards as yet, there are moves afoot to try and standardise key aspects of agent oriented approaches. Standardisation will facilitate the development of multi-agent systems that are capable of working across agent platforms. For example, agent communication languages (ACLs - witness the current de facto standard KQML in its various dialects, and the current attempt by FIPA to settle on the FIPA-ACL), agent registration procedures etc.
Soar agents are rule based agents implemented within a Tcl interpreter that is also running a Soar architecture package:
For convenience, we shall describe the 'core agent' plus the additional packages within the Tcl(/Tk) interpreter as the 'greater agent'.
Multi-Soar agent systems are typically implemented within a single Tcl shell. A Tcl 'control' interpreter is used to schedule activity within individual agent interpreters and handle the transfer of state information via ^io links associated with each agent (this latter facility enables agents to 'perceive' information about the environment and pass messages to one another):
However, there is an alternative approach available which allows us to realise rather more encapsulated agents. This is necessary for cases where each agent is implemented within its own shell (or even on its own machine), for example, or more clearly for implementing heterogenous multi-agent systems (in which agents are provided on several different platforms).
Note that the I/O manager is considered to be a part of the 'greater agent'.
If we consider the arrangement shown in the figure directly above, we see that agent functionality (as far as the 'greater agent' goes) is determined by the I/O manager and the core agent defined by the agent's current ruleset. Support should be provided at both these levels. For example, the I/O manager should be capable of accepting and transmitting messages according to the FIPA-ACL protocol. The extent to which these messages are handled directly by the core agent code is debatable (for example, the 'sender' field may be added to any transmitted message by the I/O manager). A library ruleset that is capable of taking messages off (and putting messages onto ) the ^io link in a form suitable for the I/O manager should also be provided.
Note that the I/O manager also provides a way of handling physical commands such as may be required when the agent implements a robot controller:
In addition to providing support for Soar agents that allows their integration within a wider agent environment through subscribing to agent standards, publically available development tools are urgently required. The Tcl/Soar Interface (TSI) provides a GUI fromt end to Soar architecture commands, but there are few development tools currently available. The ViSoar project being undertaken by the IAG seeks to address this need. A longer term goal, funded as part of the DERA-STOW-RCAB programme is to provide automatic agent creation facilities. To this end, work is underway at developing an Idealised Soar Model (ISM). The ISM will be fully supported within the ViSoar environment on the one hand; and on the other, it will facilitate the automatic generation of many agent components from legacy knowledge sources as required under the RCAB project.
The short to medium term goals of the 'Soar as an Agent Architecture' umbrella program are:
- develop the ISM (RCAB);
- specification and development of ViSoar v2.* in accord with ISM;
- development of a 'Soar agent lifecycle';
- development of FIPA-ACL compliant I/O manager, and associated Soar ruleset;
- (development and implementation of Joint Intention based teamwork protocol for FIPA-ACL).