FIPA was founded in 1996 to produce standards for agents and agent-based systems.
AMS = Agent Management System (An agent that provides white pages services plus life cycle and resource management services.)
DF = Directory Facilitator (An agent that provides yellow pages services.)
Message Transport System = Agent Communication Channel = ACC (Provides communication services for on and off platform agent message exchanges.)
An agent platform can be partitioned into a number of agent containers each assigned to a network node. In this case only the front end or main container contains the AMS and DF.
An agent is
a computational process that implements one or more roles in an application. An
agent might be implemented as a Java Bean, a COM object, an active object, an
autonomous LISP program, etc. Agents communicate using an Agent Communication
Language. An agent has a name, attributes, and a locator. Agents may register
and deregister with various directory services. Agents may search a directory
service for other agents.
KVT = Key-Value-Tuple = {KVP1, ..., KVPn}
KVP = Key-Value-Pair = (KEY, VALUE)
KEY, VALUE = QN = Qualified Name
QN = {TOKEN1, ..., TOKENn} = TOKEN1...TOKENn
A token in a QN represents a qualifier or subdomain in a namespace hierarchy. For example:
org.fipa.standard.service.agent-directory-service
org.fipa.standard.service.agent
org.fipa.standard.service.agent-communication-language
A message is a KVT of the form:
{(sender, agent-name), (receiver, agent-name), (content, ...)}
When a message is sent it is encoded into a payload, which is placed inside of an envelope. This is called the transport message:
Transport Message = Envelope + Payload
The envelope includes the sender and receiver transport descriptions plus the encoding of the payload. A transport description describes how the message should be sent over a particular message transport system (e.g., RPC, HTTP, email).
Of course messages can be recursively nested.
A personal assistant (PA) is an agent that acts on behalf of a user. Like a secretary, it accomplishes routine support tasks to allow the user to concentrate on their real job. It is unobtrusive but ready when needed and rich in knowledge about user and their areas of work. Examples of such functions and services include:
Managing a
user's diaries
Filtering and sorting email
Managing a user's desktop environment
Managing a user's activities, plans and tasks
Locating and delivering multimedia information
Recommending entertainment
Purchasing desired items
Planning travel.
A more
specific example of a PA is a Personal Travel Assistant (PTA).
{(sender, buyer)
(receiver, seller)
(performative, refuse)
(content, ...)
(protocol, ...)
(ontology, ...)
}
Call for Proposal
Accept Proposal
Agree
Cancel
Confirm
Disconfirm
Failure
Inform
Inform If
Inform Ref
Request
Not Understood
Propose
Reject Proposal
Subscribe
etc.
SL = Semantic Language is the suggested language for the content of a message. An SL phrase is a sequence of expressions:
<Phrase> ::= (<Expression>+)
There are three types of expressions:
<Expression> ::= <IRE> | <Action> | <WFF>
A well formed formula (WFF) can be used when the CA (Communicative Act) is inform.
An action describes something that can be performed and is used when CA = request.
An Identifying Request Expression (IRE) can be used to identify domain objects and is used when CA = inform ref.
Other valid phrases may result from the composition of the above basic cases. For instance, an action-condition pair (represented by an Action followed by a Wff) is used in the propose act; an action-condition-reason triplet (represented by an Action followed by two Wffs) is used in the reject-proposal act.
An agent platform consists of an agent management system (agent directory), a directory facilitator (directory of services/behaviors/roles/interfaces), agents, and a message transport system (message bus).