Agent Communication

Performative: cfp

Summary The action of calling for proposals to perform a given action.
Message Content A tuple containing an action expression denoting the action to be done, and a referential expression defining a single-parameter proposition which gives the preconditions on the action.
Description CFP is a general-purpose action to initiate a negotiation process by making a call for proposals to perform the given action. The actual protocol under which the negotiation process is established is known either by prior agreement, or is explicitly stated in the:protocol parameter of the message.   In normal usage, the agent responding to acfp should answer with a proposition giving the value of the parameter in the original precondition expression (see the statement ofcfp's rational effect). For example, thecfp might seek proposals for a journey from Frankfurt to Munich, with a condition that the mode of travel is by train. A compatible proposal in reply would be for the 10.45 express train. An incompatible proposal would be to travel by airplane.   Note thatcfp can also be used to simply check the availability of an agent to perform some action. Also note that this formalization ofcfp is restricted to the common case of proposals characterized by a single parameter (x) in the proposal expression. Other scenarios might involve multiple proposal parameters, demand curves, free-form responses, and so forth. 
Formal Model <i, cfp (j, <j, act>, Ref x φ(x))> ≡
  <i, query-ref (j, Ref x (Ii Done (<j, act>, φ(x)) ⇒
    (Ij Done (<j, act>, φ(x))))>
FP: ¬Bref(Ref x α(x)) ∧ ¬Urefi(Ref x α(x)) ∧
  ¬Bi Ij Done (<j, inform-ref (i, Ref x α(x))>)
RE: Done (<j, inform (i, Ref x α(x) = r1)> | … |
  <j, inform (i, Ref x α(x) = rk)>)

Where:
α(x) = Ii Done (<j, act>, φ(x)) ⇒ Ij Done (<j, act>, φ(x))

Agent i asks agent j: "What is the 'x' such that you will perform action 'act' when 'φ (x)' holds?"

Note: Ref x δ(x) is one of the referential expressions: one δ(x), any x δ(x) or all x δ(x).

Note: The RE of this is not a proposal by the recipient. Rather, it is the value of the proposal parameter. See the example in the definition of the propose act.

Example Agentj asksi to submit its proposal to sell 50 boxes of plums.
(cfp  :sender (agent-identifier :name j)
    :receiver (set (agent-identifier :name i))
  :content ((action (agent-identifier :name i)
    (sell plum 50)) (any ?x (and (= (price plum) ?x) (< ?x 10))))
  :ontology fruit-market)

José M. Vidal .

14 of 24