150 likes | 157 Views
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.
E N D
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
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
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
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
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
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
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
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
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
Policies Commitment-based Conversations
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
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
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
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
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