Specification by refinement and agreement: designing agent

Specification by refinement and
agreement: designing agent
interaction using landmarks and
contracts
Hans Weigand, Virginia Dignum,
John-Jules Meyer, Frank Dignum
ESAW 2002
outline
•
•
•
•
•
•
Agent Society Model
Specification requirements
Organizational Model
Contracts
Society types and coordination types
Conclusion
Cf. AAMAS paper , FAABS paper
Society Model
Organizational model
Legend:
role
agent
Social model
Interaction model
structural interaction
actual interaction (contract)
Specification requirements
In order to represent interactions between
agents in an open context, a framework is
needed that is able to specify sequences of
interaction scenes
 independently from the internal design of the
agent (internal autonomy requirement)
 without fixing the interaction structures
completely
in
advance
(collaboration
autonomy requirement).
2-tiers
society
owner
Specification
agents
Actual interactions
3-tiers
Society
owner
agents
landmarks
contracts
agent
Actual interactions
Organizational model
An organizational model is a tuple OM = (R, CF, I, N), where
R is the set of role descriptions,
CF is the communicative framework,
I is the interaction structure and
N is the set of society norms or rules.
Interaction structure (example)
Send Call for
Participation
org,  participant
Register
pa
rti
or
g
cip
an
t
org, pcmember
Form PC
org
Send Call org,  author Paper
for Papers
submission
pcmember  chair
Conference
g
or
org
Review
process
author
Paper
Acceptance
auth
o
pres r 
ente
r
org,  pcmember
start
end
Interaction scene
Review process
Roles:
Organizer
(1)
PCmember (N)
Landmarks:
 p Papers,
 p Papers,
get_reviews(p, review1, review2).
paper_decision(p, decision, review1, review2).
DONE(Organizer, get_reviews(P, Rev1, Rev2)) 
DONE(Organizer, assign_paper(P, PCmemberA, DeadlineR) BEFORE DeadlineA)
AND DONE(Organizer, assign_paper(P, PCmemberB, DeadlineR), BEFORE DeadlineA)
AND DeadlineA BEFORE DeadlineR
AND DONE(PCmemberA, receive_review(Org, P, Rev1) BEFORE DeadlineR)
AND DONE(PCmemberB, receive_review(Org, P, Rev2) BEFORE DeadlineR)
Norms:
PERMITTED(Organizer, assign_paper(P, Reviewer, Review_deadline) ).
OBLIGED(Reviewer, receive_review(Org, P, Rev) BEFORE Review_deadline).
OBLIGED (Organizer, paper_decision(P, Decision, Rev1, Rev2) BEFORE Decision_deadline).
contracts
S3
CONTRACT:
CONTRACTING PARTIES: S (seller), B (buyer)
CONTRACT CLAUSE 1:
IF exchange(S,B, bicycle, € 500)
THEN OBLIGED(S, get-bike(B, bicycle) BEFORE 2 days
CONTRACT CLAUSE 2:
IF get-bike(B)
THEN OBLIGED(B, get-money(S, € 500) BEFORE 1 day
CONTRACT CLAUSE 3:
IF VIOLATION(S, get-bike(B, bicycle) BEFORE 2 days)
THEN cancel-exchange(S,B, bicycle, € 500)
CONTRACT CLAUSE 4:
IF VIOLATION(B, get-money(S, € 500) BEFORE 1 day)
THEN OBLIGED(B, get-money(S, € 510) BEFORE 2 days
STATES
s0, s1, s2, s3, s4, s5, s6, s7, s8
TRANSITIONS /* see graph */
END CONTRACT
Db(<15)
S1
S0
Oa(  < 10)
Ob(  < 15 | Da())
Oa(  < 5 | viol(a,)
Ob(  < 2 | viol(b,)

Ob(  < 15 )
Ob(  | viol(b,))
S4
 Db(<15)
Da(<10)
 Da(<10)
S2
viol(a,  )
Oa(  < 5)


S5
Da(<5)

S6
 Da(<5)
?

viol(b, )
Ob( <2)
S7
Db(<2)


()
S8
 Db(<2)
?
Society types
Market
Network
Hierarchy
Type of
society
Open
Trust
Closed
Agent
‘values’
Self interest
Mutual
interest/
collaboration
Dependency
Facilitation
roles
Matchmaking
Banking
Gatekeeping
Registry
Matchmaking
Interface
Control
Coordination types vs
coordination mechanisms
Collaboration autonomy
direct control
adhocracy
bureaucracy
Multi-level
interaction
Coordination types vs
coordination mechanisms
Collaboration autonomy
Contract Net Negotiation
- multi-criteria
Protocol
- argumentation
auctions
Multi-level
interaction
Coordination types vs
coordination mechanisms
Collaboration autonomy
“clan”
Trad. MAS
FIPA agents?
Contractbased
Multi-level
interaction