340 likes | 540 Views
peer-to-peer and agent-based computing. Agent communication (Cont’d). Constructing Conversations. Conversations are patterns of message exchange: Order of messages and their inter-relationships E.g., you can only say “yes/no” if you are asked! An engineer could give agents
E N D
peer-to-peer and agent-based computing Agent communication (Cont’d)
Constructing Conversations • Conversations are patterns of message exchange: • Order of messages and their inter-relationships • E.g., you can only say “yes/no” if you are asked! • An engineer could give agents • Information on the semantics of messages in an ACL, and • The planning capability to ensure that effective interaction protocols arise spontaneously, but this is hard (impossible?) to do… • Do the things we say always mean the same? peer-to-peer and agent-based computing
Contextual Meaning John: “Where will you put the garbage for me to take out tomorrow morning?” Mary: “Behind the back door as usual.” John: “Where did you put the garbage?” Mary: “Behind the back door as usual.” • Are Mary’s commitments the same? peer-to-peer and agent-based computing
Protocol Specification • Conversation protocols: • Avoid computational overhead of agents building conversations “on-the-fly” • Provide contextual meaning of utterances • How do we specify conversations? • Generic/expressive (i.e., capture large classes of conversations) • Robust (i.e., allow for exceptions without breaking) • Let’s look at some proposals: • Finite automata • Agent UML • Dooley graphs • Electronic institutions peer-to-peer and agent-based computing
Protocol Specification (Cont’d) • Sample conversation 1: • Receive a number of offers • Choose one of them and accept it • Reject the others • Sample conversation 2: • There is an auctioneer w/ something to sell • There is at least one buyer • The auctioneer broadcasts a price to all buyers • A buyer may accept the current price • In this case, the conversation is over! • If no-one accepts the current price, then the auctioneer decreases it by 10% • In this case, the conversation carries on from step 3 peer-to-peer and agent-based computing
Finite Automata • A finite automaton (FA) is defined as: • a finite set of input symbols I • a finite set of states, S (a subset of which are final states), • An initial state q0 S • a “next state” function next : S × I S • FAs specify communication protocols • A state in S denotes the state of the protocol, and • The symbols in I are messages. peer-to-peer and agent-based computing
Finite Automata: Example 1 2 1 A:ask_if(q) 3 4 B:tell(q) B:tell(q) I = {A:ask_if(q),B:tell(q),B:tell(q)}, • A and B are agent identifications • q is some proposition, that is, a fact about the world (e.g., “the fish is fresh”). S = {1,2,3,4}, where 3 and 4 are terminal states, q0=1 next(1,A:ask_if(q)) = 2 next(2,B:tell(q)) = 3 next(2,B:tell(q)) = 4 • Graphically: peer-to-peer and agent-based computing
Finite Automata: Example 2 A:accept(_) B:accept(_) 2 5 B:counter(_) 1 A:propose(_) 3 4 A:counter(_) B:reject(_) A:reject(_) peer-to-peer and agent-based computing
Finite Automata: Strengths • Simple, natural representation of relationships between utterances • Input symbols map naturally to speech acts. • Easy to detect (non-)conformance • A conversation conforms to the protocol if, and only if, it represents a path through the graph from the initial state to a final state • States through which dialogue progresses are clearly identified • Including initial and final states peer-to-peer and agent-based computing
Finite Automata: Limitations • Structure on input symbols to indicate who is speaking • E.g., B:tell(q) • Difficult to model conversations involving arbitrary numbers of agents • E.g., there should be 3-5 participants. • No representation of evolution of conversation • Only captures “legal” messages • No exception handling! • Scalability: Realistic conversations can be complex • “Spaghetti” diagrams peer-to-peer and agent-based computing
Agent UML • www.auml.org (various contributors) • AUML Protocol Diagrams (PDs) • Extension of UML sequence diagrams. • Specify partial order of messages of participants • Participants may be • A role (all agents taking on that role) or • A specific individual • PDs may represent multiple threads of interaction for each participant peer-to-peer and agent-based computing
Threads of Interaction query proxy inform inform • A participant may have various choices in the messages it sends. • The behaviour of the recipient depends on the incoming message(s). • PDs represent this different behaviour through multiple threads (AND, OR or XOR). peer-to-peer and agent-based computing
Agent UML: Example Contractor Manager cfp refuse not-understood deadline propose reject-proposal accept-proposal failure inform-done inform-ref peer-to-peer and agent-based computing
Agent UML: Strengths • Familiar representation • Availability of UML design tools • Transitions map cleanly to speech acts • Easy to detect (non-)conformance • Participants involved clearly identified • Captures the inherently multi-threaded nature of agent communication • Communication with allagents taking on some role may be represented peer-to-peer and agent-based computing
Agent UML: Limitations • No existential quantification over agent groups • “At least one agent must reply to this message” • No representation of evolution of conversation • Only captures “legal” messages • No exception handling! • Scalability: Realistic conversations can be complex • “Spaghetti” diagrams • Maintenance difficulties peer-to-peer and agent-based computing
Dooley Graphs • Proposed by R.A. Dooley (1976) • H.V.D. Parunak used for agent protocols (1996) • A Dooley Graph is: • A set of indexes E denoting acts (speech & non-speech acts), • A set of participants P (the nodes) • A set of triples A (the arcs) connecting the sender (participant pi sending utterance k) and the recipient (participant pj receiving k): A = {pi,pj,k:pi ,kS and k,pjR} • A relation M from S R to S R defining the vertices of the graph. These represent the links between arcs (acts) peer-to-peer and agent-based computing
Relations Between Acts • M captures various forms of relation between acts. • A question is intended to solicit a certain kind of response from the recipient. • An appropriate inform may resolve this question as well as being an appropriate reply • Similarly, a commit or a refuse utterance may resolve and reply to a request • The performance of the act to which an agent has committed completes that commitment peer-to-peer and agent-based computing
Dooley Graphs: Example B 1 3 A 4 2 1 C 5 RT: Replies to RE: Resolves C: Completes I: Index Participants = {A, B, C} peer-to-peer and agent-based computing
Dooley Graphs: Strengths • Extends advantages of FAs: • Participants involved & states of conversation clearly identified • Captures multiple threads of interaction • Relations between utterances not limited to precedence • E.g. an utterance can resolve a commitment made by another • Potential for exception handling peer-to-peer and agent-based computing
Dooley Graphs: Limitations • No representation of agent groups • No quantification over groups of agents • Specific utterances may be sent to multiple recipients, though • Scalability: Realistic conversations can be complex • “Spaghetti” diagrams • Maintenance difficulties peer-to-peer and agent-based computing
Electronic Institutions • Formalism to specify global protocols • At the lowest level, it uses FAs • Sophisticated protocols are broken down into simpler ones with some “coherence” • Simplest protocols are called “scenes” peer-to-peer and agent-based computing
Electronic Institutions (Cont’d) inform(buyer,seller,offer(10)) inform(buyer,seller,not_ok) inform(buyer,seller,ok) • Formalism for specifying MASs (and agents) • Non-deterministic finite-state machine • Labels are illocutions si sj peer-to-peer and agent-based computing
Electronic Institutions (Cont’d) Entry point Exit point Initial state Final state 0 3 1 2 w0 w1 w2 • Components: • Scenes – where interactions take place • Transitions – connections among scenes • Roles (of a scene) – generic label for agents • Sample scene (graphic format): agora room peer-to-peer and agent-based computing
Electronic Institutions (Cont’d) t2 t3 Agora Room Admission Settlement t4 t1 Departure Root Scene Output Scene Transitions • Sample EI (graphic format): peer-to-peer and agent-based computing
Electronic Institutions (Cont’d) • EIs – rich, expressive formalism: • Scenes provide self-contained modules • Transitions prescribe conditions for agents to move among scenes • Roles are generic identifiers for agents peer-to-peer and agent-based computing
Electronic Institutions (Cont’d) Institution Manager Tuple Space Rules of Behaviour Governor Scene Manager External agent Electronic Institution Governor Information Models Scene Manager External agent … … … Governor Scene Manager External agent … Transition Manager Transition Manager Transition Manager A distributed implementation: peer-to-peer and agent-based computing
Electronic Institutions (Cont’d) • Demo: peer-to-peer and agent-based computing
Unresolved Limitations • Scalability • Number of participants • Number of possible states • Maintenance • Extending and combining existing conversation protocols • Flexibility • Movement between conversations peer-to-peer and agent-based computing
FIPA Protocols FIPA protocol specifications: • Request Interaction • Query Interaction • Request When Interaction • Contract Net Interaction • Iterated Contract Net Interaction • English Auction Interaction • Dutch Auction Interaction • Brokering Interaction • Recruiting Interaction • Subscribe Interaction • Propose Interaction Available at http://www.fipa.org/repository/ips.php3 peer-to-peer and agent-based computing
FIPA Protocols (Cont’d) Request Interaction Protocol (IP) • Two agents: • Initiator • Participant • Initiator agent requests a Participant agent to perform some action • Participant agent processes request • Decides to agree or refuse request • If decision is refuse, then “refused” becomes true & Participant sends refuse • Otherwise, “agreed” becomes true and Participant sends agree peer-to-peer and agent-based computing
FIPA Protocols (Cont’d) • The Contract Net (CNET) protocol: • High-level protocol for cooperation through task sharing • Inspired by the way companies put out contracts: • Agent starts up the protocol when it recognises it cannot carry out some task. • Agent communicates with other agents and advertises a task announcement, then acts as a manager of that task • Broadcast, a limited broadcast or point-to-point messaging • Agents listen to the task announcements and evaluate them with respect to their capabilities and resources • When they find a task suited to them, they place a bid • A bid indicates what the agent can do and the associated costs • The manager receives all the bids and selects the one(s) it prefers or needs and tells the agents of its decision. peer-to-peer and agent-based computing
Communication protocols (Cont’d) I have a problem… (a) Recognising the problem (b) Task announcement (c) Bidding (d) Awarding the contract • The Contract Net (CNET) protocol: peer-to-peer and agent-based computing
FIPA Protocols (Cont’d) Contract Net Interaction Protocol: • Standardised by FIPA • One-to-many protocol • Extended UML peer-to-peer and agent-based computing
Suggested Reading • Agent Communication Languages: The Current Landscape. Y. Labrou, T. Finin, & Y. Peng. IEEE Intell. Systems, March/April 1999. http://doi.ieeecomputersociety.org/10.1109/5254.757631 • Agent Communication Languages: Rethinking the Principles. M. P. Singh. IEEE Computer. Dec. 1998. http://www.csc.ncsu.edu/faculty/mpsingh/papers/mas/computer-acl-98.pdf • Agent Communication Languages. T. Finin & Y. Labrou. Tutorial ASA/MA. 1999. http://www.cs.umbc.edu/~finin/papers/asama99tutorial.pdf peer-to-peer and agent-based computing