1 / 15

Enhancing Conversations with Commitment-based Messaging

Learn how a lattice structure supports commitment-based conversations with a performative message format using XML syntax. Explore the policies and operators for effective social commitments in FIPA performatives.

bmurray
Download Presentation

Enhancing Conversations with Commitment-based Messaging

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Using a Performative Subsumption Lattice to Support Commitment-basedConversations Rob Kremer University of Calgary Department of Computer Science Calgary, CANADA kremer@cpsc.ucalgary.ca Roberto Flores Christopher Newport University Department of Physics, Computer Science and Engineering Newport News, VA flores@pcs.cnu.edu Commitment-based Conversations

  2. 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 Commitment-based Conversations

  3. Message Format: Envelope :performative performative :act act :to URL :from URL :sender URL :receiver URL :in-reply-to string :reply-with string :conversation-id string :language string :language-version string :content content :version version-spec :ontology ontology-spec :timeout time Commitment-based Conversations

  4. Message Format: XML DDT <!DOCTYPE CASAmessage [ <!ELEMENT CASAmessage (version, performative, act?, sender, receiver, from?, to?, timeout?, reply-with?, in-reply-to?, language?, language-version?, ontology?, ontology-version?, content?)> <!ELEMENT version (#PCDATA)> <!ELEMENT performative (#PCDATA)> <!ELEMENT act (#PCDATA)> <!ELEMENT sender (#PCDATA)> <!ELEMENT receiver (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT to (#PCDATA)> <!ELEMENT timeout (#PCDATA)> <!ELEMENT reply-with (#PCDATA)> <!ELEMENT in-reply-to (#PCDATA)> <!ELEMENT language (#PCDATA)> <!ELEMENT language-version (#PCDATA)> <!ELEMENT ontology (#PCDATA)> <!ELEMENT ontology-version (#PCDATA)> <!ELEMENT content ANY > ]> Commitment-based Conversations

  5. Message Format: Example :performative request :act inviteToJoinCD :to casa://123.181.6.101/Bob :from casa://123.181.6.65/Alice :receiver casa://123.181.6.101/CDagent1 :sender casa://123.181.6.65/Alice :reply-with casa://123.181.6.65/Alice$$1453 :language casa.URL :language-version 1.0 :content casa://123.181.6.101/CDagent2 Commitment-based Conversations

  6. FIPA Performatives inform proxy propagate request cancel confirm disconfirm propose inform-ref query-if request-when agree accept-proposal query-ref call-for-participation request-whenever subscribe failure not-understood reject-proposal refuse Commitment-based Conversations

  7. FIPA Performatives performative Added catagories inform proxy propagate ack reply request cancel reply-propose-discharge affirmative-reply confirm disconfirm propose inform-ref query-if request-when agree accept-proposal negative-reply query-ref call-for-participation request-whenever subscribe failure not-understood reject-proposal refuse Commitment-based Conversations

  8. FIPA Performatives performative Added catagories Arranged in a lattice inform proxy propagate ack reply request cancel reply-propose-discharge affirmative-reply confirm disconfirm propose inform-ref query-if request-when agree accept-proposal negative-reply query-ref call-for-participation request-whenever subscribe failure not-understood reject-proposal refuse Commitment-based Conversations

  9. FIPA Performatives performative Added catagories Arranged in a lattice Extended inform proxy propagate ack reply request cancel reply-propose-discharge affirmative-reply propose-discharge nack done confirm disconfirm propose inform-ref query-if request-when agree notify accept-proposal negative-reply query-ref call-for-participation request-whenever subscribe timeout failure not-understood reject-proposal refuse Commitment-based Conversations

  10. Policies Commitment-based Conversations

  11. Policies Commitment Operators Social Commitments Commitment-operator Operator: add Commitment: (receiver,sender,ack) P-inform action Commitment-operator Operator: delete Commitment: (sender,receiver,ack) P-ack communication-act Commitment-operator Operator: add Commitment: (reciever,sender,reply) P-request ack Commitment-operator Operator: delete Commitment: (receiver,sender,reply) P-reply reply Commitment-operator Operator: add Commitment: (receiver,sender,content) P-agree Unspecified action Commitment-operator Operator: deleteCommitment: (receiver,sender,content) P-confirm Policies  Commitment Operators Performatives Performative Inform Ack Request Reply Agree Confirm Commitment-based Conversations

  12. Can you attend this meeting? (performative: request, content: attend(Bob,x)) Sure... (performative: agree, content:attend(Bob,x)) (performative: ack, content: attend(Bob,x)) (nod) I’m here (performative: inform, content:attend(Bob,x)) (nod) (performative: ack, content: attend(Bob,x)) (nod) Thanks for coming. (performative: confirm, content: attend(Bob,x)) (performative: ack, content: attend(Bob,x)) Example: Informally Alice Bob Commitment-based Conversations

  13. inform ack(Bob,Alice,x) request reply(Bob,Alice,x) ack inform ack ack(Alice,Bob,x) reply agree act(Bob,Alice,x) ack ack(Alice,Bob,x) inform ack reply reply-propose-discharge(Alice,Bob,x) propose-discharge propose-discharge(Bob,Alice,x) done ack ack(Bob,Alice,x) ack inform reply reply-propose-discharge confirm ack Example: Perf. Lattice and Commitments Bob Alice Commitment-based Conversations

  14. decide(Bob,Alice,x)` consider(Alice,Bob,x) evaluate(Alice,Bob,x) accept(Bob,Alice,x) Example: Implementation Details Bob Alice inform ack(Bob,Alice,x) request reply(Bob,Alice,x) ack inform ack ack(Alice,Bob,x) reply agree act(Bob,Alice,x) ack inform ack ack(Alice,Bob,x) reply propose-discharge propose-discharge(Bob,Alice,x) reply-propose-discharge(Alice,Bob,x) done ack ack inform ack(Bob,Alice,x) reply reply-propose-discharge confirm ack Commitment-based Conversations

  15. Conclusions • Arranging performatives in a lattice simplifies interpretation • Messages (performatives) → policies → commitment operators → shared social commitments • Easily observable by 3rd parties • Agents do not have the be implemented in the SC style (eg. could be BDI internally) • Turn taking arrises naturally Commitment-based Conversations

More Related