FOUNDATION FOR INTELLIGENT
PHYSICAL AGENTS
FIPA Contract Net Interaction Protocol Specification
Document title |
FIPA Contract Net Interaction Protocol Specification |
||
Document number |
PC00029D |
Document source |
FIPA TC C |
Document status |
Preliminary |
Date of this status |
2000/11/21 |
Supersedes |
None |
||
Contact |
fab@fipa.org |
||
Change history |
|||
2000/01/28 |
Initial draft |
||
2000/03/06 |
Updated draft |
||
2000/06/16 |
Added comments from Lisbon meeting |
||
2000/10/20 |
Added comments from Sydney meeting; removed cancellable version; added description of issues with cancellable protocols |
||
2000/11/21 |
Editorial revision; Submitted to FAB for Experimental |
© 2000 Foundation for Intelligent Physical Agents - http://www.fipa.org/
Geneva, Switzerland
Notice |
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. |
Foreword
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 http://www.fipa.org/.
Contents
1 FIPA Contract Net Interaction Protocol
1.1 Exceptions to
Interaction Protocol Flow
This specification presents a version of the widely used Contract Net Protocol, originally developed by Smith and Davis. The FIPA Contract Net Interaction Protocol (IP) is a minor modification of the original contract net IP pattern in that it adds rejection and confirmation communicative acts. In the contract net IP, one agent takes the role of manager which wishes to have some task performed by one or more other agents and further wishes to optimise a function that characterizes the task. This characteristic is commonly expressed as the price, in some domain specific way, but could also be soonest time to completion, fair distribution of tasks, etc.
The manager solicits proposals from other agents by issuing a call for proposals act (see [FIPA00042]) which specifies the task and any conditions the manager is placing upon the execution of the task. Agents receiving the call for proposals are viewed as potential contractors and are able to generate proposals to perform the task as propose acts (see [FIPA00051]). The contractor’s proposal includes the preconditions that the contractor is setting out for the task, which may be the price, time when the task will be done, etc. Alternatively, the contractor may refuse (see [FIPA00055]) to propose. Once the deadline passes, the manager evaluates any received proposals and selects agents to perform the task; one, several or no agents may be chosen. The agents of the selected proposal(s) will be sent an accept-proposal act (see [FIPA00039]) and the others will receive a reject-proposal act (see [FIPA00056]). The proposals are binding on the contractor, so that once the manager accepts the proposal, the contractor acquires a commitment to perform the task. Once the contractor has completed the task, it sends a completion message to the manager.
Note that this IP requires the manager to know when it has received all replies. In the case that a contractor fails to reply with either a propose or a refuse act, the manager may potentially be left waiting indefinitely. To guard against this, the call for proposal includes a deadline by which replies should be received by the manager. Proposals received after the deadline are automatically rejected with the given reason that the proposal was late.
The representation of this IP is given in Figure 1.
Figure 1: FIPA Contract Net Interaction Protocol
This IP is a pattern for a simple interaction type. Elaboration on this pattern will almost certainly be necessary in order to specify all cases that might occur in an actual agent interaction. Real world issues of cancelling actions, asynchrony, abnormal or unexpected IP termination, nested IPs, and the like, are explicitly not addressed here.
[FIPA00039] FIPA Accept Proposal Communicative Act
Specification. Foundation for Intelligent Physical Agents, 2000.
http://www.fipa.org/specs/fipa00039/
[FIPA00042] FIPA CFP Communicative Act Specification.
Foundation for Intelligent Physical Agents, 2000. http://www.fipa.org/specs/fipa00042/
[FIPA00051] FIPA Propose Communicative Act
Specification. Foundation for Intelligent Physical Agents, 2000.
http://www.fipa.org/specs/fipa00051/
[FIPA00055] FIPA Refuse Communicative Act
Specification. Foundation for Intelligent Physical Agents, 2000.
http://www.fipa.org/specs/fipa00055/
[FIPA00056] FIPA Reject Proposal Communicative Act
Specification. Foundation for Intelligent Physical Agents, 2000.
http://www.fipa.org/specs/fipa00056/