310 likes | 434 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 • Commitments • Compliance 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 (for signaling) 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
Informing How can one agent tell another agent something? • Send the information explicitly 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 Consider communication as synonymous with 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: is usually context-sensitive • 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
A Classification of Message Classifications for SOC • Structure-based (syntactic) • Distinguish messages based on grammatical forms in natural language • Meaning-based (semantic) • Distinguish messages based on a notion of intrinsic meaning • E.g., prohibitive is different from directive, despite syntactic similarity • Use-based (pragmatic) • Distinguish messages based on their functions in specific classes of protocols • E.g., 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 • Differs from traditional logic • 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 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 services and agents, determining the • Message type is trivial, because it is explicitly encoded • 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 the content of that promise come true • Public: semantics depends on laws, protocols, and observable behavior • An agent promises something if it says so in the appropriate circumstances • 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
FIPA: 1 FIPA is the Foundation for Intelligent Physical Agents, with website at www.fipa.org • Recently moving into the IEEE • 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: 2 • 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, logic, and public ontologies, offer standard ways of interpreting communication between agents in a way that respects the intended meaning of the communication • Much more ambitious than XML Schema, which only aims to standardize the syntax of documents • More specific than even OWL, which provides a way to express ontologies but does not standardize ways of communication 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 • Guidelines for various transport protocols (e.g., IIOP, HTTP, WAP) • Message envelope formatting (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
Patterns and Protocols 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
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 contractor 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 agent 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 • Way of distributing tasks • Means of self-organization for a group of agents Best used when the • Application has a well-defined hierarchy of tasks • Problem has a coarse-grained decomposition • Subtasks minimally interact with each other, but positively when they do interact 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 FSMs simplify compliance checking but are rigid FSM Representation Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
NetBill Enhanced with Commitments 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
Compliance with Protocols Compliance means all commitments are taken care of (discharged directly or indirectly) • How can we 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 heterogeneity • Uses model-checking based on local observations • 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
Vector Timestamps • No global clock • Each agent maintains a local clock, which it increments whenever • A message is sent • A message is received • A local computation takes place • Vector clock = vector of local clocks; different vectors are maintained by different agents, up to date only for the agent’s own component of the vector • A message that is sent carries the vector clock as known to the sender when the message is sent • A recipient of a message updates its vector to the element-wise max of the vector on the message and its prior vector 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
Message Patterns for Commitment Operations • For efficient checking, ensure that the discharge of a commitment is reachable from its create (discharge has a greater vector timestamp than create) • That is, ensure that information about commitment operations flows to the right parties • The patterns below accomplish this by sending extra messages for delegate (add message x to y) and assign (add message y to z) Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Chapter 18 Summary • Communication is the key kind of interaction • Speech act theory provides a basis for understanding communication that steps out of traditional logic • Protocols capture important patterns of communications • Business protocols can be understood using commitments • Modeling captures their meaningful content, not just message tokens • Commitments provide a basis for compliance Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns