110 likes | 203 Views
Using a Performative Subsumption Lattice to Support Commitment-based Conversations. 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
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
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 Commitment-operator Operator: add Commitment: (receiver,sender,ack) P-inform Commitment-operator Operator: delete Commitment: (sender,receiver,ack) P-ack Commitment-operator Operator: add Commitment: (reciever,sender,reply) P-request Commitment-operator Operator: delete Commitment: (receiver,sender,reply) P-reply Commitment-operator Operator: add Commitment: (receiver,sender,content) P-agree Commitment-operator Operator: deleteCommitment: (receiver,sender,content) P-confirm Policies Commitment Operators Performatives Social Commitments Performative action communication-act Inform Ack ack reply Reply Request Agree Unspecified action Confirm Commitment-based Conversations
Can you attend this meeting? (performative: request, content: attend(Bob,x)) Sure... (performative: agree, content: request|attend(Bob,x)) (performative: ack, content: agree|request|attend(Bob,x)) (nod) I’m here (performative: propose, content: discharge|attend(Bob,x)) (nod) (performative: ack, content: discharge|attend(Bob,x)) (nod) Thanks for coming. (performative: accept-proposal, content: discharge|attend(Bob,x)) (performative: ack, content: accept-proposal|discharge|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) ack ack(Bob,Alice,x) ack inform reply agree accept-proposal 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/request|* 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) ack ack inform ack(Bob,Alice,x) reply agree accept-proposal/propose/discharge|* 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