Specification and verification of agent interaction using SOCS-SI Federico Chesani – Università di Bologna Marco Gavanelli – Università di Ferrara Social Infrastructure Social Infrastructure Protocols Fulfilment Expectations YES Reason Verify NO Behaviour Violation CLIMA VI London, June 27-29, 2005
Use of expectations Social Infrastructure Fulfilment Expectations YES Reasoning Satisfaction? Behaviour NO Violation (1) check of compliance to protocols (1) check of compliance to protocols CLIMA VI London, June 27-29, 2005 Use of expectations Social Infrastructure Different Expectations Behaviour Reasoning Behaviour (2) feedback loop that influences (2) feedback loop that influences behaviour behaviour CLIMA VI London, June 27-29, 2005
Part I: Synopsis � Types of society � The S CIFF language � syntax and semantics � Verification � Types of verification CLIMA VI London, June 27-29, 2005 Multi-Agent Systems (MAS) � Agent: a software system � Autonomous: the agent is able to work autonomously � Reactive: it is able to react to external stimuli, changes in the environment � Proactive: it can have objectives, goal- directed behaviour � Social: can interact with other agents to reach its goals CLIMA VI London, June 27-29, 2005
Design � Design a MAS means designing Open � Type of the society � Interaction � Roles � … CLIMA VI London, June 27-29, 2005 Society types [Davidsson 01] � Closed: Agents cannot enter (fixed number of agents) � Semiclosed: Agents cannot enter, but can spawn a representative in the society � Semiopen: agents can enter by registering to a gatekeeper � Open: agents can enter without restrictions CLIMA VI London, June 27-29, 2005
Open society “it supports openness and flexibility very well, but it is very difficult to make such a society stable and trustful.” [Davidsson 01] � But, we design the MAS in order to obtain some goals … � Give semantics to communication � Agents comply to rules � The MAS reaches its goals � The MAS has some required properties CLIMA VI London, June 27-29, 2005 Protocols � Definition: language � Impose that agents behave according to protocols? � Not in an open society! � Verification / raising violations � Protocol properties CLIMA VI London, June 27-29, 2005
Example: Auction � We want to design a MAS for managing auctions � We have to � Design the communication acts, and their semantics � Design the protocol � Use the protocol for � Guiding the agents behaviour � Prove society properties CLIMA VI London, June 27-29, 2005 Syntax: events � happened events (ground) H ( Desc, Time ) � Desc (term) � Time (integer) � Eg H ( tell ( bob, alice, bid ( pen , 1 $ ) , auc 1) , 3) Bob tells Alice that he bids 1$ for the pen in the auction auc 1 at time 3 � Events compose a history HAP CLIMA VI London, June 27-29, 2005
Syntax: Expectations � Events that should / should not happen E ( Desc, Time ) EN ( Desc, Time ) � Eg E ( tell ( alice, bob, answ ( A, pen , 1 $ ) , auc 1) , T Ans ) , T Ans > 3 Alice should answer to Bob’s bid, after time 3 � Eg EN ( tell ( B, alice, bid ( pen , P ) , auc 1) , T Bid ) , T bid > 3 , P < 1$ No agent should place a bid to Alice for the pen in auction 1 for less than 1$, after time 3 � Expectations compose the set ∆ CLIMA VI London, June 27-29, 2005 Declarative semantics � S CIFF: abductive semantics KB ∪ ∆ | = G KB ∪ ∆ | = IC � Coherence of set ∆ ∀ p, E ( p ) , EN ( p ) 6 ∈ ∆ ∀ p, ¬ E ( p ) , E ( p ) 6 ∈ ∆ ∀ p, EN ( p ) , ¬ EN ( p ) 6 ∈ ∆ � Compliance to protocol ∀ p, E ( p ) → H ( p ) ∀ p, EN ( p ) → not H ( p ) CLIMA VI London, June 27-29, 2005
Syntax � Social Organization Knowledge Base (SOKB) � clauses Atom � Cond � Cond: conjunction of literals, constraints, expectations � Social Integrity Constraints (ICs) � Body � Head � Body: conjunction of literals defined in SOKB, H, E, EN and CLP constraints � Head: a disjunction of conjunction of E, EN literals and CLP constraints CLIMA VI London, June 27-29, 2005 Auction: communicative acts � Openauction: opens an auction for an item � Bid: propose to buy an item for a given price � Answer (win/lose): communicate if a bid wins or loses � Deliver: provide the item � Pay: pay for the item CLIMA VI London, June 27-29, 2005
Auction: semantics of communicative acts � If I open an auction, I am willing to give the item for some amount of money H ( tell ( A, Bidders,opauc ( Item, τ , T notify , Type ) , D ) , T open ) , H ( tell ( B, A, bid ( Item , Q ) , D ) , T Bid ) , H ( tell ( A, B, answ ( win , Item , Q ) , D ) ,T Win ) , → E ( tell ( A, B, deliver ( Item ) , D ) ,T Del ) , T Del < T Win + T Deliver Deadline � If I place a bid, I am willing to pay such amount of money for the item H ( tell ( B, A, bid ( Item, Q ) , D ) , T Bid ) , H ( tell ( A, B, answ ( win , Item , Q ) , D ) , T Win ) , H ( tell ( A, B, deliver ( Item ) , D ) , T Del ) → E ( tell ( B, A, pay ( Item , Q ) , D ) , T P ay ) , T P ay < T Del + T Pay Deadline CLIMA VI London, June 27-29, 2005 Protocols � Protocols are often seen as finite state automata c � Define allowed moves, b a the rest is forbidden b � Could be a limit in open societies c c � S CIFF: define explicitly allowed/ necessary/ forbidden moves CLIMA VI London, June 27-29, 2005
Auctions � Before placing bids, there must have been an openauction H ( tell ( S, R, bid ( Item, P ) , D ) , Tbid ) → E ( tell ( R, , openauction ( Item, Tend, ) , D ) , Topen ) ∧ Topen < Tbid ∧ Tbid ≤ Tend. � The auctioneer should reply to bids H ( tell ( B, A, bid ( Item, P ) , Anumber ) , Tbid ) ∧ H ( tell ( A, , openauction ( Item, Tend, Tdeadline ) , D ) , Topen ) → E ( tell ( A, B, answer ( Answer, B, Item ) , D ) , Tanswer ) ∧ Tanswer ≥ Tend ∧ Tanswer ≤ Tdeadline ∧ Answer :: [ win, lose ] . CLIMA VI London, June 27-29, 2005 Auctions � no contradicting answers H ( tell ( A, B, answer ( A 1 , B, Itemlist ) , D ) , T 1) → EN ( tell ( A, B, answer ( A 2 , B, Itemlist ) , D ) , T 2) A 1 6 = A 2 CLIMA VI London, June 27-29, 2005
Auctions � Payment H ( tell ( A, Bw, answer ( win, Bw, Item ) , D ) , Tw ) ∧ H ( tell ( Bw, A, bid ( Item, P ) , D ) , Tbid ) → E ( tell ( Bw, A, pay ( P ) , D ) , Tp ) . CLIMA VI London, June 27-29, 2005 English auction: protocol � You cannot place bids lower than the previous H ( tell ( Bidder 1 , Auc, bid ( Item, Q 1 )) , T 1 ) → EN ( tell ( Bidder 2 , Auc, bid ( Item, Q 2 )) , T 2 ) , T 2 > T 1 , Q 2 ≤ Q 1 � Either one places a higher within τ units after my bid, or I win H ( tell ( Auc, Bidders, opauc ( Item, τ , T notify , english ) , D ) , T open ) , H ( tell ( Bidder 1 , Auc, bid ( Item, Q 1 ) , D ) , T 1 ) → E ( tell ( Bidder 2 , Auc, bid ( Item, Q 2 ) , D ) , T 2 ) , Q 2 > Q 1 , T 2 < T 1 + τ ∨ E ( tell ( Auc, Bidder 1 , answ ( win, Item, Q 1 ) , D ) , T win ) , T win < T 1 + T notify CLIMA VI London, June 27-29, 2005
First price sealed bid auction � Predefined deadline. Either there is a higher bid, or I must be declared winner H ( tell ( Auc, Bidders, opauc ( Item, T dead , T notify , fpsb ) , D ) , T open ) , H ( tell ( Bidder 1 , Auc, bid ( Item, Q 1 ) , D ) , T 1 ) , T 1 < T dead → E ( tell ( Bidder 2 , Auc, bid ( Item, Q 2 ) , D ) , T 2 ) , Q 2 > Q 1 , T 2 < T dead ∨ E ( tell ( Auc, Bidder 1 , answ ( win, Item, Q 1 ) , D ) , T win ) , T win < T dead + T notify CLIMA VI London, June 27-29, 2005 Vickrey auction � You should pay at least the amount of the other bidders H ( tell ( A, Bw, answer ( win, Bw, Item ) , D ) , Tw ) ∧ H ( tell ( A, Bl, answer ( lose, Bl, Item ) , D ) , Tl ) ∧ H ( tell ( Bl, A, bid ( Item, Pl ) , D ) , Tbid ) → E ( tell ( Bw, A, pay ( P ) , D ) , Tp ) ∧ P ≥ Pl. CLIMA VI London, June 27-29, 2005
Verification Types of verification [Guerin, Pitt 02] � Type 1: An agent will always comply to protocol (required: agent specification, not available in open societies) � Type 2: verification through observation (on the fly) � Type 3: verification of protocol properties (if agents behave according to protocols, does the MAS respect specifications?) CLIMA VI London, June 27-29, 2005 Type 1 Verification Protocols Properties Compliance Agents behaviour Semantics Violation CLIMA VI London, June 27-29, 2005
Type 2 verification Protocols Properties Compliance Agents behaviour Semantics Violation CLIMA VI London, June 27-29, 2005 Operational Semantics � S CIFF: Extension of the IFF abductive proof-procedure [Fung-Kowalski] � Generation of expectations � Abduction of literals with universally quantified variables � Dynamically happening events � CLP constraints on variables (both existentially and universally quantified) CLIMA VI London, June 27-29, 2005
Operational Semantics � Data structure T = <R,CS,PSIC,EXP,HAP,FULF,VIOL> Where � R: Conjunction of literals � CS: Constraint Store � PSIC: Implications � EXP: (Pending) Expectations � FULF: Fulfilled expectations � VIOL: Violated Expectations CLIMA VI London, June 27-29, 2005 Transitions � IFF-Like (extended) � Fulfilment, violation � Dynamically growing history � Consistency � CLP CLIMA VI London, June 27-29, 2005
Recommend
More recommend