The Agent/ACRE Interface (AAI) is specific to the platform and agent programming language being used. This is designed to facilitate the interaction between the agents and the ACRE components mentioned above. The AAI has two distinct principal roles:
- To enable an agent to inform the Protocol Manager (PM) and Conversation Manager (CM) of information it holds.
- To provide the agent with information about the status and activity of the CM and PM.
In the former case, an agent must be capable of informing the PM of the location of any protocols that it wishes to use. This information may originally come from another agent with which it wishes to communicate. The CM requires access to the inbox and outbox of the agent also, so the AAI must provide this service also.
The key role of the AAI is making information about its own communication available to agents. Within Agent Factory, this is done in two complementary ways: knowledge sensors and event sensors.
A knowledge sensor is a sensor that runs on each interpreter cycle of the agent, and provides information on the current state of conversations and pro- tocols. This information currently consists of:
- What protocols are already loaded (PM).
- For each conversation in which the agent is a participant:
- The protocol each conversation is following (CM)
- The identity of the other participating agent in each conversation (CM)
- The current state of each conversation (CM)
- The current status of each conversation (CM)
In addition to these, event sensors inform the agent whenever events are raised by the PM or the CM. Events currently handled include:
- A new protocol has been loaded (PM)
- A new conversation has begun (CM)
- A conversation has advanced (CM)
- A conversation has ended (CM)
- An error has occurred in a conversation (CM)
In addition to the basic role of information passing, an AAI may augment the capabilities of a language by leveraging the data available from the CM or the PM. For instance, the AAI built for the Agent Factory CLF provides an action of the form
advance(conversation-id,performative,content) whereby an agent can advance a specific conversation while providing minimal information.
The details about the other participating agent (including its address) are taken from the CM, along with the protocol identifier and content language.