490 likes | 653 Views
Chapter 18: Communication. Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005. Highlights of this Chapter. Agent Communication Languages Speech Act Theory Semantics Interaction Patterns Combining ACLs with Web Services
E N D
Chapter 18:Communication Service-Oriented Computing: Semantics, Processes, Agents– Munindar P. Singh and Michael N. Huhns, Wiley, 2005
Highlights of this Chapter • Agent Communication Languages • Speech Act Theory • Semantics • Interaction Patterns • Combining ACLs with Web Services • Contract Net Protocol • Business Protocols Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Interaction and Communication • Interactions occur when agents exist and act in close proximity: • resource contention, e.g., bumping into each other • Communications are the interactions that preserve autonomy of all participants, but maybe realized through physical actions that don’t: • Communications are inevitable when composing services. • Communications can be realized in several ways, e.g., • through shared memory • because of shared conventions • by messaging passing Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
A Classification of Message Classifications • Structure-based (syntactic) • distinguish messages based on grammatical forms in natural language • Meaning-based (semantic) • distinguish messages based on a notion of intrinsic meaning prohibitive is different from directive, despite syntactic similarity • Use-based (pragmatic) • distinguish messages based on their roles in specific classes of protocols assertion is different from acknowledgment Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Speech Act Theory • Speech act theory, developed for natural language, views communication as action • It considers three aspects of a message: • Locution, or how it is phrased, e.g., "It is hot here" or "Turn on the air conditioner" • Illocution, or how it is meant by the sender or understood by the receiver, e.g., a request to turn on the air conditioner or an assertion about the temperature • Perlocution, or how it influences the recipient, e.g., turns on the air conditioner, opens the window, ignores the speaker Illocution is the core aspect Here is an interesting example of speech act theory Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Speech Act Theory Applied • Classifications of illocutions motivate message types, but are typically designed for natural language • rely on NL syntax, e.g., they conflate directives and prohibitives • Most research in speech act theory is about determining the agents’ beliefs and intentions, e.g., how locutions map to illocutions • For Web Services, • determining the message type is trivial, because it is explicitly encoded • determining the agents’ beliefs and intentions is impossible, because the internal details of the agents are not known Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
ACL Semantics What is the semantics of queries, requests, promises? • Mentalist: each agent has a knowledge base that its messages refer to. An agent promises something if it intended to make that promise • Public: semantics depends on laws, protocols, and observable behavior Evaluation: For open systems, public semantics is appropriate, because a semantics without compliance doesn’t make sense Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Informing How can one agent tell another agent something? • Send the information in a message (message passing) • Write the information in a location where the other agent is likely to look (shared memory) • Show or demonstrate to the other agent (teaching) • Insert or program the information directly into the other agent (master --> slave; controller --> controllee; "brain surgery") Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Querying How can one agent get information from another agent? • Ask the other agent a question (message passing) • Read a location where the other agent is likely to write something (shared memory) • Observe the other agent (learning) • Access the information directly from the other agent ("brain surgery") Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Syntax, Semantics, Pragmatics For message passing • Syntax: requires a common language to represent information and queries, or languages that are intertranslatable • Semantics: requires a structured vocabulary and a shared framework of knowledge-a shared ontology • Pragmatics: • knowing whom to communicate with and how to find them • knowing how to initiate and maintain an exchange • knowing the effect of the communication on the recipient Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Agent Communication Languages (ACL) • KQML: Knowledge Query and Manipulation Language • FIPA ACL ACL ACL Application Program Agent Agent Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
FIPA • FIPA is the Foundation for Intelligent Physical Agents, with website at www.fipa.org • Specifies standards for heterogeneous, interoperating agent-based systems. • Concerned with agency as it relates to • Autonomy (goal-driven) • Communal integration; mostly communication, but also cooperation. Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
FIPA (contd.) • Mission Statement: The promotion of technologies and interoperability specifications that facilitate the end-to-end interworking of intelligent agent systems in modern commercial and industrial settings. • Goal: through a combination of speech acts, predicate logic and public ontologies, FIPA can offer standard ways of interpreting communication between agents in a way that respects the intended meaning of the communication. This is much more ambitious than, for example, XML, which only aims to standardize the syntactic structure of documents. Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Structure of Specifications Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Agent Message Transport • Agent Message Transport (AMT) defines a message as an envelope plus a body. Together they handle • Guidelines for various transport protocols (e.g., IIOP, HTTP, WAP) • Message envelope representation (e.g., XML for HTTP, bit-efficient for WAP). • FIPA ACL representions (e.g., string encoding, XML encoding, bit-efficient encoding). Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Interaction Patterns Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Combining Agents with Traditional Web Services Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Planning and Control Needed How to maintain global coherence without explicit global control? Important aspects include how to • Determine shared goals • Determine common tasks across services • Avoid unnecessary conflicts • Pool knowledge and evidence Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Coordination A property of interaction among a set of agents performing some activity in a shared state. The degree of coordination is the extent to which they • Avoid extraneous activity • reduce resource contention • avoid livelock • Avoid deadlock • Maintain safety conditions Cooperation is coordination among nonantagonistic agents. Typically, • Each agent must maintain a model of the other agents • Each agent must develop a model of future interactions Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Goals for Multiagent Control Develop techniques for • Locating and allocating capabilities and resources that are dispersed in the environment • Predicting, avoiding, or resolving contentions over capabilities and resources • Mediating among more agents, with more heterogeneity and more complex interactions • Maintaining stability, coherence, and effectiveness Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Control Challenges The difficulty of control depends on some major characteristics of the overall system, including: • agents comprising the system • problems being solved by the agents individually and/or collectively • critical solution characteristics Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Control Challenges: Agents Control gets harder as agents become more: • numerous • complex individually (e.g., more versatile) • heterogeneous (in capabilities, representations, languages) quantity complexity heterogeneity Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Control Challenges: Problems Control gets harder as the problems agents solve become more • interrelated • rapidly changing, or pursued in an uncertain and changing world • unforgiving of control failures (e.g., involving irreversible actions) degree of interaction volatility severity of failure Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Control Challenges: Solutions Control gets harder as solutions to agent problems are required to be more • efficient • robust to changing circumstances • cheaper or faster to develop individually and in concert quality / efficiency robustness low overhead Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Technologies for Agent Control • Broker-based • Matchmaker-based • Market-based; auctions • BDI and commitment based • Decision theoretic • Workflow (procedural) based • Standard operating procedures • Learning / adaptive • Coordinated planning • Conventions / protocols • Stochastic or physics-based • Organizations: teams and coalitions • Constraint satisfaction/ optimization Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Dimensions of Control Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Task Decomposition Divide-and-conquer to reduce complexity: smaller subtasks require less capable agents and fewer resources • Task decomposition must consider the resources and capabilities of the agents, and potential conflicts among tasks and agents • The designer decides what operators to decompose over • The system decides among alternative decompositions, if available Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Task Decomposition Methods • Inherent (free!): the representation of the problem contains its decomposition, as in an AND-OR graph • Composition designer (human does it): decomposition is programmed during implementation. (There are few principles for automatically decomposing tasks) • Hierarchical planning (agents implementing the services do it): decomposition again depends heavily on task and operator representation Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Task Decomposition Examples • Spatial decomposition: service is info source or decision point: • Functional decomposition: service offers specialized expertise: Agent 1 Agent 3 Agent 2 Pediatrician Neurologist Internist Cardiologist Psychologist Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Task Distribution Criteria • Avoid overloading critical resources • Engage services on tasks where expertise matches • Make an agent with a wide view assign tasks to other agents • Assign overlapping responsibilities to agents to achieve coherence • Assign highly interdependent tasks to agents in spatial or semantic proximity. This minimizes communication and synchronization costs • Reassign tasks if necessary for completing urgent tasks Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Task Distribution Mechanisms • Market mechanisms: tasks are matched to agents by generalized agreement or mutual selection (analogous to pricing commodities) • Contract net: announce, bid, and award cycles • Multiagent planning: planning agents have the responsibility for task assignment • Organizational structure: agents have fixed responsibilities for particular tasks • Recursive allocation: responsible agent may further decompose task and allocate the resultant subtasks Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
The Contract Net Protocol An important generic protocol • Manager announces tasks via a (possibly selective) multicast • Agents evaluate the announcement. Some submit bids • Manager awards a contract to the most appropriate agent • Manager and contractor communicate privately as necessary Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Task Announcement Message • Eligibility specification: criteria that a node must meet to be eligible to submit a bid • Task abstraction: a brief description of the task to be executed • Bid specification: a description of the expected format of the bid • Expiration time: a statement of the time interval during which the task announcement is valid Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Bid and Award Messages • A bid consists of a node abstraction—a brief specification of the agent’s capabilities that are relevant to the task • An award consists of a task specification—the complete specification of the task Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Applicability of Contract Net The Contract Net is • a high-level communication protocol • a way of distributing tasks • a means of self-organization for a group of agents Best used when • the application has a well-defined hierarchy of tasks • the problem has a coarse-grained decomposition • the subtasks minimally interact with each other, but cooperate when they do Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Commitment Protocols • Protocols enable open systems to be constructed • Interaction protocols expressed in terms of • Participants’ commitments • Actions for performing operations on commitments (to create and manipulate them) • Constraints on the above, e.g., captured in temporal logic • Examples: escrow, payment, RosettaNet (107 request-response PIPs) Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Example: NetBill Protocol Some variations: • The merchant may start the protocol by sending a quote • The customer may send an accept prior to offer • The merchant may send the goods prior to accept These variations are not allowed by the FSM FSM Representation Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
NetBill Enhanced by CMs Meanings: 1. true 2. request 3. offer 4. Cmgoods accept promiseReceipt 5. goods Ccpay promiseReceipt 6. goods pay Cmreceipt 7. goods pay receipt 8. goods promiseReceipt 9. accept Final state: No open commitments remain Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Message Patterns for Commitment Operations Ensure that information about commitment operations flows to the right parties, to enable local decisions Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Compliance with Protocols In an open environment, agents are contributed by different vendors and serve different interests • How can an application check if the agents comply with specified protocols? • Coordination aspects: traditional techniques • Commitment aspects: representations of the agents’ commitments in temporal logic • Commitment protocols are specified in terms of • Main roles and sphere of commitment • Roles essential for coordination • Domain-specific propositions and actions Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Verifying Compliance with Commitment Protocols • Specification • models based on potential causality • commitments based on branching-time TL • Run-time Verification • respects design autonomy • uses TL model-checking • local verification based on observed messages Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Run-Time Compliance Checking • An agent can keep track of • its pending commitments • commitments made by others that are not satisfied • It uses this local model to see if a commitment has been violated • An agent who benefits from a commitment can always determine if it was violated Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Fish-Market Sample Execution Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Fish-Market Local Observations Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Fish-Market Compliance • Auctioneer can verify if the bidders comply • An individual bidder cannot verify if the auctioneer complies • If bidders pool their observations, then they can verify if the auctioneer complies • Asymmetry indicates need for third party Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Policies and Structure • Spheres of commitment (SoComs) • abstract specifications of societies • made concrete prior to execution • Policies apply on performing social actions • Policies relate to the nesting of SoComs • Role conflicts can occur when agents play multiple roles, e.g., because of nonunique nesting - Munindar Singh and Michael Huhns
Chapter 18 Summary Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns