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 Message Format Envelope –Can be understood by all agents –Tag/value pairs –CASA can use KQML (next slide) or XML syntax Content –Might only be understood by specific agent –The language tag specifies the format of the content
Christopher Newport University 2005/07/27Commitment-based Conversations3 Message Format: Envelope :performativeperformative :actact :to URL :from URL :sender URL :receiver URL :in-reply-tostring :reply-withstring :conversation-idstring :languagestring :language-versionstring :contentcontent :versionversion-spec :ontologyontology-spec :timeouttime
Christopher Newport University 2005/07/27Commitment-based Conversations4 Message Format: XML DDT <!DOCTYPE CASAmessage [ ]>
Christopher Newport University 2005/07/27Commitment-based Conversations5 Message Format: Example :performative request :act inviteToJoinCD :to casa:// /Bob :from casa:// /Alice :receiver casa:// /CDagent1 :sender casa:// /Alice :reply-with casa:// /Alice$$1453 :language casa.URL :language-version 1.0 :content casa:// /CDagent2
Christopher Newport University 2005/07/27Commitment-based Conversations6 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 Conversations7 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 Conversations8 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 Conversations9 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 Conversations10 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 Conversations11 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 Conversations12 Example: Informally Alice Bob (performative: request, content: attend(Bob,x)) Can you attend this meeting? (performative: agree, content: attend(Bob,x)) Sure... (performative: inform, content: attend(Bob,x)) I’m here (performative: confirm, content: attend(Bob,x)) Thanks for coming. (performative: ack, content: attend(Bob,x)) (nod) (performative: ack, content: attend(Bob,x)) (nod) (performative: ack, content: attend(Bob,x)) (nod)
Christopher Newport University 2005/07/27Commitment-based Conversations13 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 done reply informack reply-propose-discharge confirm 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 Conversations14 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 propose-discharge done reply-propose-discharge confirm 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 Conversations15 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