FIPA 96/06/30
Source: D. Conolly, E. Mamdani, D. Sadek, D. Steiner nyframework

FIPA Agent Basic Capability (ABC) List

Version 1.2

26 June 1996

This document has been developed in Yorktown. An ad-hoc group has been established to refine this document until the Tokyo meeting.

A very important aspect is that of communication and interaction. We would like to divert briefly to go into this aspect in more detail:

From an agent perspective there are 4 different components in the environment with which the agent may interact: Humans, other Agents, other non-agent Software (SW), and the Physical World (PW). These interactions are at different levels due to the differing complexity and capabilities of the components. We classify agent interaction within the following table of interaction types.

Interaction Examples Constraints on Agent Characteristics Intrinsic Requirements Extrinsic Requirements
Human <-> Human Natural Language      
Human <-> Agent Mono- / Multimodal Input/Output Adaptive



Knowledge/Info.Representation & Processing Perception


Agent <-> Agent Agent Interaction Language Reactive Information




point-to-point, broadcast)

Agent <-> SW Agent API      
SW <-> SW API, CORBA      
SW <-> PW IEEE Standards?      

As an agent ultimately consists of software, its interaction with the physical world must be via software. We assume that such software (e.g. read-out of sensors, activation of effectors such as robot arms) is already existing and indeed, in some cases standardised by e.g. IEEE.

With this in mind, the initial classification of the Agent Basic Capability list (ABC List) is along the two dimensions of number of agents (single agent, two agents, agent society) vs. resources, interaction and cognitive capabilities.

For each item in the list we provide an initial definition and further questions that need to be answered. These items can/should/will be further refined through discussions in FIPA.

1. Single Agents

1.1 Resources for Execution

What are the underlying execution models of the agents? Why are they needed? What standard program resources (processor, memory, threading, ...) do they require at what costs? What resources above and beyond those of standard programs do they require?

Execution models:

- Stand-alone program

- Client/server transaction

- Mobile/migratory

1.2 Interaction

How does a single agent interact with its environment (other than with other software agents - this is to be considered separately)? It is highly probable that these interactions may be influenced by / can draw upon the agent-agent interaction (cf. 2.2).

1.2.a Interaction with Hardware

This will largely be accomplished via interaction with software (1.2.b), as software is needed to control physical devices. However, the requirements imposed by the physical world must be considered.

Interfaces to sensors Needed to receive information from the physical environment.

Interfaces to actuators Needed to affect the physical environment. E.g. grasping and lifting, physical movement.

1.2.b Interaction with Software

Agent Application Interface

The problem here is one of interfacing to existing applications that were not written with a user agent in mind, i.e., are totally agent-unaware. They were conceived with the notion of a human participating in the interaction. Current APIŽs are often insufficient to support the requirements for agentification.

1.2.c Interaction with Humans

Human-Agent interaction can be very complex, ideally humans should be able to interact with agents as they do with other humans (e.g. dialogues). However, it is not envisioned that current technology will allow the standardisation of such interaction within the near future. (Indeed, this may even be undesirable.) However, standardisation is possible at what the agent receives from the human. Two issues may be addressed here:

1. Cooperation and information exchange with humans

2. User authentication.

- audio input Establishing linguisitic, emotional and referential content

- audio output

- visual input Encompasses a large number of input possibilities. Substantial technical progress allows for many opportunites, e.g. identification of pre-specified objects and their position, hand-writing and graphics recognition, face,gesture and expression recognition. This includes gesture input, allowing for advanced control modes.

- visual output The essence of good human-computer interaction design is to manage the cognitive complexity of the information that is visually conveyed to the user. E.g. facial animation, graphical object animation, use of the colour dimension.

1.3 Cognition

How an agent processes information and "behaves" influences how it interacts with the environment and with other agents. The internal details need not be standardised, but a categorisation is necessary.

1.3.a (Semantic) Information Representation

What is it your agent should know? Or does it suffice for this knowledge to reside with the designer who endows the agent with a procedural representation of what is relevant to control its behavior? This will make the resulting agent much more simple. Knowledge and information will also be exchanged between agents (see 2.2.b) - suitable mappings to this format must be supplied.

1.3.b Cognitive Architectures / Agent behaviour

Despite the fact that the internal architectures of agents should not be specified, it is important to explore the scala of possibilites for agent interaction dependant upon their cognitive architectures (if present).

1.3.c Fusion of Information

The agent gains information from many sources (cf. 1.2 and 2.2). It is necessary for this information to be composed for further processing. Fusion can take rather simple forms such as synchronisation of events to complex algorithmic multi-sensor data fusion.

1.3.d Extensibility

2. Cooperating Agents

The full advantage of using agents arises in the capability of agents to interact with eachother in order to more effectively carry out their tasks. This is done in the framework of cooperation among agents.

2.1 Resources for Communication

What physical communication links, which software communication protocols are required? (E.g. LAN, TCP/IP, ...) Message-passing must support point-to-point, broadcasting and multicasting. Are forms of communication other than message-passing (e.g. memory-sharing, environment changing) to be considered?

2.2 Interaction

What are the contents of the messages (what do the transmitted symbols refer to) - what are the intended effects? This is a crucial element in the FIPA activities and impacts a variety of other issues, such as the interaction between agents and their environment (similar primitives may be used).

2.2.a Message Types / Communication Primitives

Formalised speech act based approach for the basic primitives supporting cooperation among agents. E.g. Knowledge Query and Manipulation Language (KQML) for information exchange.

2.2.b Message Content

Formalised approach for the representation of knowledge exchanged between agents. E.g. Knowledge Interchange Format (KIF)

2.2.c Composition of Messages

Compositions of primitive messages into cooperation protocols in which several agents can participate over time. E.g. agents negotiating with each other for optimum use of resources

2.3 Cognition

Semantics of primitive message types. How messages are processed by the agents.

3. Society of Agents

3.1 Resources for Agent Societies

In order for many agents to exist and interact efficiently with each other in a society, certain constructs must be in place.

3.1.a Central Services

Mechanisms to govern the sharing of resources, coordination, effective interaction, etc. e.g. Agent hierarchies, Yellow & White pages (cf. CORBA)

3.1.b Agent Libraries

Libraries of predefined agent types which can be easily incorporated in large systems.

3.2 Interaction within a Society

3.2.a Standard Libraries of Protocols

Standard libraries of pre-determined cooperation protocols should be available for agents to draw upon when involved in cooperation. The libraries will consist of either domain-independent (e.g. Contract Net, Multistage Negotiation ) or domain-dependent dialogues. (e.g. Appointment Scheduling).

3.2.b Security

Authentication, Privacy, Safety aspects. Especially important for mobile agents.

3.3 Cognition

- Rules guiding social interaction (agent behaviour, etiquette??, personality??)

- Cultural Diversity ??

4. Miscellaneous Aspects

It is not clear at the present where these issues fit in.

4.a Specification of minimal class library

4.b Reference libraries

In use for developing specific agent applications.