The formalization of the protocol can be performed through the
speech act theory. In this protocol, each agent can be either
manager or
contractor • The protocol is initialized by the manager, who sends a
call-for-proposals to the contractors • The contractors can send either a
proposal if they are interested or a
reject if they are not. This proposal is provided with all the elements required by the manager to make its choice. • The manager chooses among the proposals the one that suits it best and sends to the corresponding contractor an
accept. It sends a
reject to the other contractors to inform them of its decision. • Once the contract has been accomplished, the contractor informs the manager using an
inform message. If there is a result to communicate, it is also communicated through the
inform message. If the contractor cannot fulfill its engagement, it informs the manager through a
cancel message. The Contract Net Protocol can be represented using the
AUML formalism: This protocol can be used to implement hierarchical organizations, where a manager assigns tasks to contractors, who in turn decompose into lower-level task and assign them to the lower level. This kind of organization can be used when agents are cooperative,
i.e. when their objectives are identical. In this situation, it is possible to make sure that the contractors do not lie to the manager when they make their proposal. When the agents are competitive, the protocol ends up in a marketplace organization, very similar to auctions. ==Implementation==