Christopher Newport University 2005/07/27Commitment-based Conversations 1 Using a Performative Subsumption Lattice to Support Commitment-based Conversations Rob Kremer University of Calgary Department of Computer Science Calgary, CANADA Roberto Flores Christopher Newport University Department of Physics, Computer Science and Engineering Newport News, VA
Christopher Newport University 2005/07/27Commitment-based Conversations2 FIPA Performatives inform cancelrequest query-refcall-for-participation inform-refquery-ifrequest-when request-whenever propose agree subscribe confirm failurenot-understoodreject-proposalrefuse disconfirm accept-proposal proxypropagate
Christopher Newport University 2005/07/27Commitment-based Conversations3 FIPA Performatives inform cancelrequest query-refcall-for-participation inform-refquery-ifrequest-when request-whenever propose agree subscribe confirm failurenot-understoodreject-proposalrefuse disconfirm accept-proposal proxypropagate performative ack affirmative-reply reply negative-reply reply-propose-discharge Added catagories
Christopher Newport University 2005/07/27Commitment-based Conversations4 FIPA Performatives inform cancelrequest query-refcall-for-participation inform-refquery-ifrequest-when request-whenever propose agree subscribe confirm failurenot-understoodreject-proposalrefuse disconfirm accept-proposal proxypropagate Arranged in a lattice performative ack affirmative-reply reply negative-reply reply-propose-discharge Added catagories
Christopher Newport University 2005/07/27Commitment-based Conversations5 Extended FIPA Performatives inform cancelrequest query-refcall-for-participation inform-refquery-ifrequest-when request-whenever propose notifyagree subscribe nack confirm timeoutfailurenot-understoodreject-proposalrefuse disconfirm accept-proposal proxypropagate propose-discharge done Arranged in a lattice performative ack affirmative-reply reply negative-reply reply-propose-discharge Added catagories
Christopher Newport University 2005/07/27Commitment-based Conversations6 Policies P-informcommits the addressee to acknowledge P-ackreleases informed agents of the commitment to acknowledge P-requestcommits the proposed agents to reply P-counteroffercommits addressees to reply P-replyreleases proposed agents of the commitment to reply and releases counteroffered agents of the commitment to reply P-agreean acceptance realizes the shared uptake of proposed/counteroffered commitments P-donereleases accepted agents of the commitment earlier agreed to
Christopher Newport University 2005/07/27Commitment-based Conversations7 Policies Commitment Operators Performative Ack Reply Inform Request Agree Confirm Performatives Commitment-operator Operator: add Commitment: (receiver,sender,ack) Commitment-operator Operator: delete Commitment: (receiver,sender,reply) Commitment-operator Operator: delete Commitment: (sender,receiver,ack) Commitment-operator Operator: add Commitment: (reciever,sender,reply) Commitment-operator Operator: add Commitment: (receiver,sender,content) P-inform P-ack P-request P-reply P-agree Commitment-operator Operator: delete Commitment: (receiver,sender,content) P-confirm PoliciesCommitment Operators action reply ack communication-act Unspecified action Social Commitments
Christopher Newport University 2005/07/27Commitment-based Conversations8 Example: Informally Alice Bob (performative: request, content: attend(Bob,x)) Can you attend this meeting? (performative: agree, content: request|attend(Bob,x)) Sure... (performative: propose, content: discharge|attend(Bob,x)) I’m here (performative: accept-proposal, content: discharge|attend(Bob,x)) Thanks for coming. (performative: ack, content: agree|request|attend(Bob,x)) (nod) (performative: ack, content: accept-proposal|discharge|attend(Bob,x)) (nod) (performative: ack, content: discharge|attend(Bob,x)) (nod)
Christopher Newport University 2005/07/27Commitment-based Conversations9 Example: Perf. Lattice and Commitments reply-propose-discharge(Alice,Bob,x) act(Bob,Alice,x) propose-discharge(Bob,Alice,x) Alice Bob request inform reply agree informack propose/discharge reply informack agree accept-proposal reply informack reply(Bob,Alice,x) ack(Bob,Alice,x) ack ack(Bob,Alice,x) ack ack(Alice,Bob,x) ack ack(Alice,Bob,x) ack
Christopher Newport University 2005/07/27Commitment-based Conversations10 Example: Implementation Details reply(Bob,Alice,x) act(Bob,Alice,x) reply-propose-discharge(Alice,Bob,x) propose-discharge(Bob,Alice,x) Alice Bob reply request/* agree/request|* propose/discharge|* agree accept-proposal/propose/discharge|* reply inform evaluate(Alice,Bob,x) decide(Bob,Alice,x)` consider(Alice,Bob,x) accept(Bob,Alice,x) inform ack ack(Bob,Alice,x) ack ack(Bob,Alice,x) ack ack(Alice,Bob,x) ack ack(Alice,Bob,x) ack
Christopher Newport University 2005/07/27Commitment-based Conversations11 Conclusions Arranging performatives in a lattice simplifies interpretation Messages (performatives) → policies → commitment operators → shared social commitments Easily observable by 3 rd parties Agents do not have the be implemented in the SC style (eg. could be BDI internally) Turn taking arrises naturally