FIPA Proxy Communicative Act Specification


Document title

FIPA Proxy Communicative Act Specification

Document number


Document source


Document status


Date of this status





Change history


Deprecated by FIPA00037












2000 Foundation for Intelligent Physical Agents -

Geneva, Switzerland


Use of the technologies described in this specification may infringe patents, copyrights or other intellectual property rights of FIPA Members and non-members. Nothing in this specification should be construed as granting permission to use any of the technologies described. Anyone planning to make use of technology covered by the intellectual property rights of others should first obtain permission from the holder(s) of the rights. FIPA strongly encourages anyone implementing any part of this specification to determine first whether part(s) sought to be implemented are covered by the intellectual property of others, and, if so, to obtain appropriate licenses or other permission from the holder(s) of such intellectual property prior to implementation. This specification is subject to change without notice. Neither FIPA nor any of its Members accept any responsibility whatsoever for damages or liability, direct or consequential, which may result from the use of this specification.


The Foundation for Intelligent Physical Agents (FIPA) is an international organization that is dedicated to promoting the industry of intelligent agents by openly developing specifications supporting interoperability among agents and agent-based applications. This occurs through open collaboration among its member organizations, which are companies and universities that are active in the field of agents. FIPA makes the results of its activities available to all interested parties and intends to contribute its results to the appropriate formal standards bodies.

The members of FIPA are individually and collectively committed to open competition in the development of agent-based applications, services and equipment. Membership in FIPA is open to any corporation and individual firm, partnership, governmental body or international organization without restriction. In particular, members are not bound to implement or use specific agent-based standards, recommendations and FIPA specifications by virtue of their participation in FIPA.

The FIPA specifications are developed through direct involvement of the FIPA membership. The status of a specification can be either Preliminary, Experimental, Standard, Deprecated or Obsolete. More detail about the process of specification may be found in the FIPA Procedures for Technical Work. A complete overview of the FIPA specifications and their current status may be found in the FIPA List of Specifications. A list of terms and abbreviations used in the FIPA specifications may be found in the FIPA Glossary.

FIPA is a non-profit association registered in Geneva, Switzerland. As of January 2000, the 56 members of FIPA represented 17 countries worldwide. Further information about FIPA as an organization, membership information, FIPA specifications and upcoming meetings may be found at


1 Scope. 1

2 Proxy. 2

3 References. 4

1         Scope

This document specifies the Proxy communicative act which is compliant to [FIPA00037] requirements.


2         Proxy


The sender wants the receiver to select target agents denoted by a given description and to send an embedded message to them.


A tuple of a descriptor, that is, a referential expression, that denotes the target agents, an ACL communicative act, that is, an ACL message, to be performed to the agents, and a constraint condition for performing the embedded communicative act, for example, the maximum number of agents to be forwarded, etc.


The sending agent informs the recipient that the sender wants the receiver to identify agents that satisfy the given descriptor, and to perform the embedded communicative act to them, that is, the receiver sends the embedded message to them.


On performing the embedded communicative act, the :receiver parameter is set to the denoted agent and the :sender parameter is set to the receiver of the proxy message. If the embedded communicative act contains a :reply-to parameter (for example, in the recruiting case with fipa-recruiting in the :protocol parameter), it should be preserved in the performed message.


In the case of a brokering request, that is, the :protocol parameter is set to fipa-brokering), the brokerage agent (the receiver of the proxy message) must record some parameters, such as :conversation-id, :reply-with, :sender, etc., of the received proxy message to forward back the reply message(s) from the target agents to the corresponding requester agent (the sender of the proxy message).

Formal Model

<i, proxy(j, Ref x d(x), <j, cact>, f)>

<i, inform(j, Ii(($y)(Bj (Ref x d(x) = y) Done(<j, cact(y)>, Bj f))))>

FP : Bi a Bi (Bifj a Uifj a)

RE : Bj a




a= Ii(($y) (Bj (Ref x d(x) = y) Done(<j, cact(y)>, Bj f)))


Agent i wants j to perform the embedded communicative act to the denoted agents (y) by Ref x d(x).


Note: <j,cact> in the proxy message is the ACL communicative act, that is, the ACL message, without a :receiver parameter. Ref x d(x) is one of the referential expressions: ix d(x), any x d(x) or all x d(x).


Two types of proxy can be distinguished. We will call the type of proxy defined above strong, because it is a feasibility precondition of js communicative act to y that j satisfies the feasibility preconditions of the proxied communicative act. So, if i proxies an inform of the proposition ψ to y via j, j must believe ψ before it sends the proxied inform message to y.


In addition, we could define weak-proxy, where we do not suppose that j is required to believe ψ. In this case, j cannot directly inform y of ψ, because j does not satisfy the feasibility preconditions of inform. In this case, j can only inform y that the original sender i has the intention that the inform of ψ should happen. More generally, a weak-proxy can be expressed as an instance of proxy where the action <j,cact(y)> is replaced by <j inform<y, Ii Done(<i, cact(y)>))>.



Agent i requests agent j to do recruiting and request a video-on-demand server to send "SF" programs.


:sender i

:receiver j


((iota ?x



(:name ?x)

(:service-name video-on-demand)))))

(request :sender j




(:category "SF")))

:ontology vod-server-ontology

:language FIPA-SL

:protocol fipa-request

:reply-to i

:conversation-id request-vod-1)

:language FIPA-SL

:ontology brokerage-agent
:protocol fipa-recruiting
:conversation-id vod-brokering-1 )

3         References

[FIPA00037] FIPA Communicative Act Library Specification. Foundation for Intelligent Physical Agents, 2000.