The Self Agent also generates part of the humanoid's communication to the human. The Self Agent does this in response to the human's input, acknowledging receipt of commands. It also takes initiative in generating output when the status information maintained by the Self Agent indicates a problem with the functioning of the humanoid.The Affect Module and Description Module maintain information about the status of the system. The Affect Module is an artificial emotional model used to describe the current state of the humanoid and provide internal feedback to the humanoid's software agents. The Description Module provides descriptions of the atomic agents and information about their status: whether they are active or inactive, and whether they are achieving their goals or not.The Interaction Module, Interrogation Module, and the Activator Module interpret the human's input and generate responses to the human or increase the activation level of an atomic agent.The Pronoun Module acts as a conversational referent; that is, a pointer to "what we're talking about." It resolves human phrases such as "the spoon" and "the blue block" to environment atomic agents. The Pronoun Module then acts as a pointer or reference for use by sequencer atomic agents.The figure shows the data flow among the agents which make up the Self Agent. The Affect Agent notifies the Interaction Agent of changes in affect state. The Description Agent provides the Interrogation Agent with names and descriptions of atomic agents. The Interrogation and Interaction Agents both communicate with the Pronoun Agent, sending it the names of agents, which are then mapped to aliases by the Pronoun Agent. Finally, the Interrogation, Interaction, and Pronoun Agents all contribute to the Affect Agent's confusion affect variable.
The Self Agent is a compound agent that we developed to address certain aspects of the humanoid in HHI. Part of the role of the Self Agent is to determine the human's goals from the information the Self Agent receives from the Human Agent, and to select actions for the humanoid to achieve these goals. Actions are selected by activating sequencer and environment atomic agents. Another role is to integrate failure information from atomic agents and maintain information about the overall state of the humanoid. The failure information is collected from the various atomic agents that evaluate the system status at lower levels. This status information allows the humanoid to ask for help when its actions fail.