Chapter 15: Agents Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005
Chapter 152Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Agents and MAS for SOC Why the interest in agents for Web services? Need for autonomy, heterogeneity, dynamism Unlike conventional services, agents Know about themselves, their users, and their competitors Use and reconcile ontologies Are proactive and communicative Are autonomous about their commitments Can be cooperative
Chapter 153Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Dimensions of MAS: Agent Adaptivity (the ability of an agent to learn): Autonomy: Interactions: Sociability (awareness): FixedTeachableAutodidactic ControlledIndependent SimpleComplex Interdependent AutisticCollaborativeCommitting
Chapter 154Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Agent Abstractions/1 The traditional abstractions are from AI and are mentalistic beliefs: agent’s representation of the world knowledge: (usually) true beliefs desires: preferred states of the world goals: consistent desires intentions: goals adopted for action
Chapter 155Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Agent Abstractions/2 The agent-specific abstractions are inherently interactional social: about collections of agents organizational: about teams and groups ethical: about right and wrong actions legal: about contracts and compliance
Chapter 156Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Agent Abstractions/3 Agents, when properly understood lead naturally to multiagent systems provide a means to capture the fundamental abstractions that apply in all major applications and which are otherwise ignored by system builders
Chapter 157Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Agents versus AI
Chapter 158Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns How to Apply the Abstractions Consider how the components of a large and dynamic software system in a practical situation Dynamism => autonomy Openness and compliance => ability to enter into and obey contracts Trustworthiness => ethical behavior
Chapter 159Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Why Do These Abstractions Matter? Because of modern applications that demand going beyond traditional metaphors and models Virtual enterprises: manufacturing supply chains, autonomous logistics, Electronic commerce: utility management Communityware: social user interfaces Problem-solving by teams
Chapter 1510Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Agent Environments Communication Infrastructure Shared memory (blackboard) Connected or Connectionless ( ) Point-to-Point, Multicast, or Broadcast Directory Service Communication Protocol FIPA ACL HTTP and HTML RMI, OLE, CORBA, DCOM, etc. Interaction Protocol, i.e, conversations such as contracting Mediation Services Security Services (timestamps/authentication/currency) Remittance Services Operations Support (archiving/billing/redundancy/restoration/accounting)
Chapter 1511Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Characteristics of Agent Environments Observability: can all aspects relative to actions be sensed? Determinism: is next state completely determined by current state + agent’s action? History Freedom: does action choice depend on previous episodes or just current episode? Dynamism: can environment change while agent is deliberating? Continuity: do the agent actions, environment state variables, and time points have a continuous range of values? Multiagent: is the agent aware of others that can affect the environment?
Chapter 1512Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Agent Architectures Logic-Based Reactive Belief-Desire-Intention (BDI) Layered Architecture
Chapter 1513Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Logic Based Agents Decision making is realized through logical deduction View the agents as particular type of knowledge based system Contains an explicitly represented symbolic model of the world Takes decisions via symbolic reasoning Problems: Translating the real world into an accurate adequate symbolic description, in real-time How to represent information symbolically about complex real-world entities
Chapter 1514Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns A Rational Agent Rationality depends on... The performance measure for success What the agent has perceived so far What the agent knows about the environment The actions the agent can perform An ideal rational agent: for each possible percept sequence, it acts to maximize its expected utility, on the basis of its knowledge and the evidence from the percept sequence
Chapter 1515Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Cognitive Architecture for an Agent
Chapter 1516Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Reactive Architecture Does not rely on symbol manipulation, e.g., Rodney Brooks’ subsumption architecture Intelligent behavior can be generated without explicit representations proposed by symbolic AI Intelligent behavior can be generated without explicit abstract reasoning Intelligence is an emergent property of certain complex systems
Chapter 1517Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Subsumption Architecture A hierarchy of task-accomplishing behaviors Each behavior is a rather simple rule-like structure Each behavior competes with others to exercise control over the agent Lower layers present more primitive kinds of behavior In terms of computation, the resulting systems are extremely simple
Chapter 1518Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns BDI Deciding on what goals to achieve and how to achieve them Beliefs – the information an agent has about its surroundings Desires – the things that agent would like to see achieved Intentions – things that an agent is committed to doing A BDI architecture addresses how beliefs, desires and intentions are represented, updated and processed
Chapter 1519Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Layered Architecture Decompose the system into different layers to deal with different types of behaviors Typically at least two layers – to deal with reactive and proactive behaviors Broadly, two types of control flow within layered architectures Horizontal layering Vertical layering
Chapter 1520Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Web Ontology Language – Services (OWL-S) An OWL-S service description provides Declarative ads for properties and capabilities, used for discovery Declarative APIs, used for execution A declarative description of services -- based on their inputs, outputs, preconditions, and effects -- used for composition and interoperation
Chapter 1521Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns OWL-S Service Ontology
Chapter 1522Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns OWL-S Example: Processing Book Orders
Chapter 1523Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns OWL-S IOPE’s for Bookstore Example
Chapter 16: Multiagent Systems Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005
Chapter 1525Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Attributes of Multiagent Systems Decentralization Complex components, often best described at the knowledge level Adaptive behavior Complex interactions Coordination Emergent, aggregate behaviors
Chapter 1526Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Dimensions of MAS: System Scale (the number of agents): Interactions: Coordination (self interest): Agent Heterogeneity: Communication Paradigm: IndividualCommitteeSociety ReactivePlanned AntagonisticAltruisticCollaborative CompetitiveCooperativeBenevolent IdenticalUnique Point-to-PointMulti-by-name/roleBroadcast
Chapter 1527Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Basic Problems of MAS Description, decomposition, and distribution of tasks among agents Interaction and communication among agents Distribution of control among agents Representation of goals, problem-solving states, and other agents Rationality, consistency maintenance, and reconciliation of conflicts among agents
Chapter 1528Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Principles of Agent Systems Understand the principles to engineer agent-based systems System architecture Low-level interoperation Information systems Protocols and compliance Underlying frameworks and implementations
Chapter 1529Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Brokerage Service Beyond UDDI Cooperates with a Directory Service An agent requests the Brokerage Service to recruit one or more agents who can provide a service Brokerage Service uses knowledge about the requirements and capabilities of registered agents to Determine the appropriate agents to which to forward a request for a service Negotiates with the agents to determine a suitable set of service providers Potentially learn about the properties of the responses example: Brokerage agent determines that advertised results from agent X are incomplete and seeks a substitute for X
Chapter 1530Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns FIPA FIPA is the Foundation for Intelligent Physical Agents, with website at Specifies standards for heterogeneous, interoperating agent-based systems. Concerned with agency as it relates to 1. Autonomy (goal-driven) 2. Communal integration; mostly communication, but also cooperation.
Chapter 1531Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Agent Management System: 1
Chapter 1532Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Agent Management System: 2 Handles the creation, registration, location, communication, migration and retirement of agents. Provides the following services: White pages, such as agent location, naming and control access services, which are provided by the Agent Management System (AMS). Agent names are represented by a flexible and extensible structure called an agent identifier, which can support social names, transport addresses, name resolution services, amongst other things Yellow pages, such as service location and registration services, which are provided by the Directory Facilitator (DF) Agent message transport services
Chapter 1533Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns FIPA-Compliant Agent Frameworks Some of the popular, FIPA-compliant agent frameworks used for designing multiagent systems: FIPA-OS, JADE, Zeus,
Chapter 1534Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Consistency Maintenance across Services A truth maintenance system (TMS) performs a form of propositional deduction maintains justifications and explains the results of its deductions updates beliefs incrementally when data are added or removed uses its justifications to perform dependency-directed backtracking TMSs are important because they deal with atomicity deal with the frame problem lead to efficient search
Chapter 1535Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Architecture of TMS-Based Agent The problem solver represents domain knowledge in the form of rules, procedures, etc. and chooses what to focus on next The TMS keeps track of the current state of the search for a solution. It uses constraint satisfaction to maintain consistency in the inferences made by the problem solver Problem Solver TMS justifications beliefs
Chapter 1536Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Knowledge Base Integrity Stability: believe everything justified validly; disbelieve everything justified invalidly Well-Foundedness: beliefs are not circular Logical consistency: logical contradictions do not exist Completeness: a system will find a consistent state if it exists, or report failure Problems arise when knowledge is distributed
Chapter 1537Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Degrees of Logical Consistency Inconsistency: one or more agents are inconsistent Local Consistency: agents are locally consistent Local-and-Shared Consistency: agents are locally consistent and all agents agree about shared data Global Consistency: agents are globally consistent The DTMS maintains local-and-shared consistency and well foundedness
Chapter 1538Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Distributed TMS Each agent has a justification-based TMS Each datum can have status OUT, IN (valid local justification), or EXTERNAL. A shared datum must be IN to one of the agents that shares it When a problem solver adds or removes a justification, the DTMS Unlabels data based on the changed justification Labels all unlabeled shared data Chooses labels for remaining unlabeled data; if this fails, it backtracks by unlabeling additional data and iterating
Chapter 1539Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Cooperative Service: 1 Client f3: afford(xcorp) IN r3: buy(X) :- query(Broker recommend(X)), afford(X) IN Broker f1: afford(xcorp) OUT f2: cash-rich(xcorp) IN r2: recommend(X) :- takeover-bid(X) IN r1: takeover-bid(X) :- cash-rich(X) IN ? recommend(?X)
Chapter 1540Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Cooperative Service: 2 Client f3: afford(xcorp) IN r3: buy(X) :- query(Broker recommend(X)), afford(X) IN Broker f1: afford(xcorp) OUT f2: cash-rich(xcorp) IN r1: recommend(X) :- takeover-bid(X) IN r2: takeover-bid(X) :- cash-rich(X) IN f3: recommend(xcorp) IN Shared with: Client; Justification: (f2 r1 r2) recommend(XCorp)
Chapter 1541Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Cooperative Service: 3 Client f3: afford(xcorp) IN r3: buy(X) :- query(Broker recommend(X)), afford(X) IN f4: recommend(xcorp) EXTERNAL Shared with: Broker; Justification: ( ) f5: buy(xcorp) IN Justification: (f3 f4 r3) Broker f1: afford(xcorp) OUT f2: cash-rich(xcorp) IN r1: recommend(X) :- takeover-bid(X) IN r2: takeover-bid(X) :- cash-rich(X) IN f3: recommend(xcorp) IN Shared with: Client; Justification: (f2 r1 r2)
Chapter 1542Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Cooperative Service: 4 Client f3: afford(xcorp) IN r3: buy(X) :- query(Broker recommend(X)), afford(X) IN f4: recommend(xcorp) EXTERNAL Shared with: Broker; Justification: ( ) f5: buy(xcorp) IN Justification: (f3 f4 r3) Broker f1: afford(xcorp) OUT f2: cash-rich(xcorp) IN --> OUT r1: recommend(X) :- takeover-bid(X) IN r2: takeover-bid(X) :- cash-rich(X) IN f3: recommend(xcorp) IN --> OUT Shared with: Client; Justification: (f2 r1 r2) relabel recommend(XCorp)
Chapter 1543Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Cooperative Service: 5 Client f3: afford(xcorp) IN r3: buy(X) :- query(Broker recommend(X)), afford(X) IN f4: recommend(xcorp) OUT Shared with: Broker; Justification: ( ) f5: buy(xcorp) OUT Justification: (f3 f4 r3) Broker f1: afford(xcorp) OUT f2: cash-rich(xcorp) OUT r1: recommend(X) :- takeover-bid(X) IN r2: takeover-bid(X) :- cash-rich(X) IN f3: recommend(xcorp) OUT Shared with: Client; Justification: (f2 r1 r2)
Chapter 1544Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Cognitive Economy Prefer the simpler (more economical) explanation ("but not too simple" - Einstein) Essential because agents have limited reasoning capacities Agents must finitely represent their environment themselves and others themselves and others representing them and others, ad infinitum Zero-order model: others are similar to oneself
Chapter 1545Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns “Practical” Economy In simple terms, cognitive economy has two consequences on how agents act Agents should act predictably Agents should act the way they want others to act These are examples of universalizable principles as advocated by Kant, and provide a rational basis for ethical and social behavior
Chapter 1546Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns An Agent Should Act Benevolently seeking the welfare of others Rationally consistent with its model of itself Predictably consistent with its model of other agents’ beliefs about itself
Chapter 17: Organizations Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005
Chapter 1548Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Ethical Abstractions Agents that are members of a society must have an ethics and a philosophy. This requires the development of components for Deontological ethics Teleological ethics Consequentialism Duties Obligations Applying ethics
Chapter 1549Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Motivation The ethical abstractions help us specify agents who act appropriately Intuitively, ethics is just the basic way of distinguishing right from wrong It is difficult to separate ethics entirely from legal, social, or even economic considerations
Chapter 1550Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Kant’s Categorical Imperative Whatever maxim an agent uses must be universalizable, i.e., in the society of agents respect for others (no lying or coercion) so they can consent false promising is unacceptable, because if all did, their society would not function agents’ maxims are uncertainly inferred from their actions
Chapter 1551Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Prima Facie Duties What agents need to decide actions are not just universal principles (each can be stretched) not just consequences but also a regard for their promises and duties Agents have prima facie duties to help others, keep promises, repay kindness,... no ranking among these highly defeasible conclusions, e.g., steal to feed kids
Chapter 1552Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Obligations Obligations are for deontological theories, those that are impermissible to omit for teleological theories, those that most promote good for contract-based theories, those that an agent accepts
Chapter 1553Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Legal Abstractions Contracts Directed obligations Hohfeldian concepts Compliance
Chapter 1554Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Legal Concepts Because law involves the interactions of citizens with one another and with the government, the legal abstractions have been richer in multiagent concepts Traditional formalisms for legal reasoning, however, are often single- agent in orientation, e.g., deontic logic (the logic of obligation, “obliged to do p”)
Chapter 1555Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Contracts Much of the law is about the creation and manipulation of contracts among legal entities people corporations governmental agencies The law is the study of how to break contracts!
Chapter 1556Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Motivation The legal abstractions provide a basis for agents to enter into contracts, e.g., service agreements, with each other Contracts are about behavior important in open environments
Chapter 1557Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Directed Obligations Contracts lead naturally to one party being obliged to another party more precise notion of obligation than in traditional deontic logic two-party concept has a more multiagent flavor
Chapter 1558Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Rights The rights or claims a party has, as opposed to the right (ethical) thing to do. The claims of one party are the duties of another: claim is a correlate of duty
Chapter 1559Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Hohfeldian Concepts/1 Hohfeld discovered that “right” is used ambiguously and proposed a uniform terminology to distinguish the various situations. Sixteen concepts result: Four main concepts Their correlates Their negations Their negations’ correlates
Chapter 1560Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Hohfeldian Concepts/2 Claim-duty: as above Privilege-exposure: freedom from the claims of another agent Power-liability: when an agent can change the claim-duty relationship of another agent Immunity-disability: freedom from the power of another agent
Chapter 1561Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Organizations Organizations are larger-scale than single agent, goal-oriented, and with knowledge and memory beyond individual Organizations help overcome the limitations of agents in reasoning capabilities perception lifetime and persistence Concretely, organizations consist of agents acting coherently Abstractly, organizations consist of roles and commitments among the roles – these form a sphere of commitment
Chapter 1562Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Coherence and Commitments Coherence is how well a system behaves as a unit. It requires some form of organization, typically hierarchical Social commitments among agents are a means to achieve coherence. An agent’s commitment to another agent or to its society Is unidirectional Arises within a well-defined scope or context Is revocable with restrictions Enables coordination through the ordering and occurrence of actions by the agents
Chapter 1563Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Commitments for Contracts Commitments capture contracts. Importantly, commitments are Public (unlike beliefs and intentions) Can be used as the basis for compliance Contracts apply between parties, in a context Other approaches are: Single-agent focused, e.g., deontic logic Don’t handle organizational aspects of contracts Don’t accommodate manipulation of contracts
Chapter 1564Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Manipulating Commitments Operations on commitments: Create Discharge (satisfy) Cancel Release (eliminate) Delegate (change debtor) Assign (change creditor) Metacommitments constrain the manipulation of commitments
Chapter 1565Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns SoCom: Sphere of Commitment An organization that provides the context or scope of commitments among relevant roles (abstract) or agents (concrete) Serves as a witness for the commitment, i.e., knows that the commitment exists Helps validate commitments and test for compliance Offers compensations to undo members’ actions
Chapter 1566Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Virtual Enterprises (VE) Two sellers come together with a new proxy agent called VE Example of VE agent commitments: Notify on change Update orders Guarantee the price Guarantee delivery date
Chapter 1567Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns A Selling VE
Chapter 1568Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Teams Tightly knit organizations Shared goals, i.e., goals that all team members have Commitments to help team-members Commitments to adopt additional roles and offer capabilities on behalf of a disabled member
Chapter 1569Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Teamwork When a team carries out some complex activity Negotiating what to do Monitoring actions jointly Supporting each other Repairing plans
Chapter 1570Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Negotiation Negotiation is central to adaptive, cooperative behavior Negotiation involves a small set of agents Actions are propose, counterpropose, support, accept, reject, dismiss, retract Negotiation requires a common language and common framework (an abstraction of the problem and its solution)
Chapter 1571Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Negotiation Mechanism Attributes Efficiency Stability Simplicity Distribution Symmetry e.g., sharing book purchases, with cost decided by coin flip
Chapter 1572Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Negotiation among Utility-Based Agents Problem: How to design the rules of an environment so that agents interact productively and fairly, e.g., Vickrey’s Mechanism: lowest bidder wins, but gets paid second lowest bid (this motivates telling the truth?? and is best for the consumer??) Vickrey’s Mechanism
Chapter 1573Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Negotiation A deal is a joint plan between two agents that would satisfy their goals The utility of a deal for an agent is the amount he is willing to pay minus the cost to him of the deal The negotiation set is the set of all deals that have a positive utility for every agent. The possible situations for interaction are conflict: the negotiation set is empty compromise: agents prefer to be alone, but will agree to a negotiated deal cooperative: all deals in the negotiation set are preferred by both agents over achieving their goals alone
Chapter 18: Communication Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005
Chapter 1575Service-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
Chapter 1576Service-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
Chapter 1577Service-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
Chapter 1578Service-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
Chapter 1579Service-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
Chapter 1580Service-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
Chapter 1581Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Agent Communication Languages (ACL) ACL Agent Application Program KQML: Knowledge Query and Manipulation Language FIPA ACL
Chapter 1582Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Combining Agents with Traditional Web Services
Chapter 1583Service-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
Chapter 1584Service-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
Chapter 1585Service-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 heterogeneity complexity
Chapter 1586Service-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 severity of failure volatility
Chapter 1587Service-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 low overhead robustness
Chapter 1588Service-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
Chapter 1589Service-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
Chapter 1590Service-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: Pediatrician Internist Psychologist Neurologist Cardiologist Agent 1 Agent 2 Agent 3
Chapter 1591Service-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
Chapter 1592Service-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
Chapter 1593Service-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
Chapter 1594Service-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
Chapter 1595Service-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)
Chapter 1596Service-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
Chapter 1597Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns NetBill Enhanced by CMs Meanings: 1. true 2. request 3. offer 4. C m goods accept promiseReceipt 5. goods C c pay promiseReceipt 6. goods pay C m receipt 7. goods pay receipt 8. goods promiseReceipt 9. accept Final state: No open commitments remain
Chapter 1598Service-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
Chapter 1599Service-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
Chapter 15100Service-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
Chapter 15101Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Fish-Market Sample Execution
Chapter 15102Service-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
Chapter 19: Semantic Service Selection Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005
Chapter 15104Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Discovery versus Selection Often the purpose behind discovering a service is to select a good one We don’t need to find all services Just the one that’s best for us! By focusing on selection, we can Reduce irrelevant results Reduce irrelevant traffic and management Improve the payoff
Chapter 15105Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Semantic Matchmaking Match using an ontology Domain of a service Preconditions and effects of methods Use ontologies to reformulate queries and generate query plans by Generalizing or specialize concepts Partitioning concepts Decomposing properties
Chapter 15106Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Semantic Team Matchmaking Formally represent commitments and capabilities (not just methods) Define abstract spheres of commitment (SoCom) in terms of roles, e.g., buy-sell: Capabilities: can issue quote and ship, can pay Commitments: will honor price quote; will pay To adopt these roles, agents must have the capabilities and acquire the commitments.
Chapter 15107Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Consumer and Provider Agents SoComs provide the context for concepts represented & communicated
Chapter 20: Social Service Selection Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005
Chapter 15109Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Reputation Mechanisms The agency (e.g., eBay) is the authority that Authenticates users Records, aggregates, and reveals ratings Provides the conceptual schema for How to capture ratings (typically a number and text) How to aggregate them How to decay them over time Owns ratings – controls how it can be used
Chapter 15110Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Recommender Techniques Content-based filtering Social information filtering Collaborative filtering Model-based approaches Memory-based approaches Use ratings directly to recommend
Chapter 15111Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Recommending Products vs. Services Products (by a product vendor) The recommender is the provider Votes are known to recommender Votes are given prior to usage (buying) Repetition is less likely (buy the same book) Services (by a service registry) The recommender is not the provider Votes are not necessarily known to recommender Votes are given after usage Repetition can occur but not known to registry
Referrals
Chapter 15113Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Social Networks and Referral Chains Referral chains provide: Way to judge the quality of an expert's advice Reason for the expert to respond in a trustworthy manner Social networks induce referral chains in which an individual may participate As the chains get longer The trustworthiness of a recommendation decreases The effort to find experts increases Therefore, shorter chains are better
Chapter 15114Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Service Communities Each principal Provides services to others Exploits services provided by others Has a reputation The agents assist their users and other agents in Evaluating the services and referrals provided by others Maintaining contact lists Deciding whom to contact for a service
Chapter 15115Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Model for Referrals Each agent has An interest (services sought) An expertise (services provided) Models of acquaintances Acquaintance models are built autonomously and represent Acquaintances’ expertise (ability to provide good service along a set of dimensions) Sociability (ability to provide accurate referrals)
Social Mechanism for trust
Chapter 15117Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Small World Phenomenon Milgram (1967): two individuals chosen at random in the U.S.A. are linked by a chain of 6 or fewer first- name acquaintances (empirical observation) Six degrees of separation Erdös numbers Diameter of the connected Web: 20
Chapter 15118Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Social Mechanism of trust Using probabilistic models for reasoning with beliefs Bayesian model Primarily using conditional probabilities Dempster-Shafer model Model that explicitly deals with belief values for various hypothesis
Chapter 15119Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Identity & Reputation Approaches to service selections based on reputations – face the threat that such reputations can be forged Also, vendors can change names easily – “cheap pseudonyms”
Chapter 21: Economic Service Selection Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005
Chapter 15121Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Highlights of this Chapter Market Environments Price-based mechanisms Auctions for Services Auction types English auction Sealed bid Vickrey auction Dutch auction
Chapter 15122Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Applications Markets for advertising space Markets for shopping Markets for information
Chapter 15123Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Agent Economies Understanding agent-based economies Game theoretic – each seller sets the price before observing the price of others Myopically optimal – based on a known mix of other sellers current prices Derivative – increase prices if profits are rising and decrease prices if profits are decreasing Role of brands Role of bartering
Chapter 22: Building SOC Applications Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005
Chapter 15125Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Highlights of this Chapter Elements of SOC Design Quality of Service How to Create an Ontology How to Create a Process Model How to Construct Agent-Based Systems How to Engineer Composed Services Exception Handling Knowledge Management Applications eBusiness Applications Application to Supply-Chain Automation
Chapter 15126Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Elements of SOC design Roles Based on business role and commitments Capabilities Tied to the role Arm’s length interaction Higher granular functions Re-configurability Caution Narrow interfaces
Chapter 15127Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Quality of service Non-functional attributes Who designed it, who implemented, when it was implemented, where is the documentation… QOS attributes Availability Accessibility/Scalability Integrity Performance: Throughput and latency Reliability Compliance Security Honesty Price
Chapter 15128Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Advanced Composition: 1 Suppose an application needs simply to sort some data items, and suppose there are 5 Web sites that offer sorting services described by their input data types, output date type, time complexity, space complexity, and quality: One is faster One handles more data types One is often busy One returns a stream of results, another a batch One costs less Application Sort1 Sort2 Sort3 Sort4 Sort5 ? ? ? ?
Chapter 15129Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Advanced Composition: 2 Possible approaches Application invokes services randomly until one succeeds Application ranks services and invokes them in order until one succeeds Application invokes all services and reconciles the results Person organizes all services into one service using BPEL4WS Application contracts with one service after requesting bids Services self-organize into a team of sorting services and route requests to the best one The last two require that the services behave like agents The last two are scalable and robust
Chapter 15130Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Agents for Collaboration Each Business Collaboration is handled by an autonomous software entity (agent) On forming a Collaboration, automatically generate ebXML-compliant agents The “Agent Generator,” when integrated with the BSI, has static knowledge about local constraints and dynamic knowledge from the current CPA The software agents exchange ebXML messages to perform the selected Business Collaboration
Chapter 15131Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Why this Approach? Issues regarding transport, messaging, security constraints are to be handled for each Collaboration Business collaborations are becoming increasingly complex The system will be dealing with multiple collaborations at a given time If the transactions are legally bound or even otherwise, the non-repudiation condition MAY have to be satisfied There is always a possibility of unpredictable situations (exceptions)
Chapter 15132Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Handling exceptions Programming System Management Semantic Pragmatic
Chapter 15133Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Agent-Based Coordination Methodology Generic B2B Use-Case and Class Models Identify B2B Conversations Participants Develop B2B Interaction Diagrams Create Agent-Based B2B Transaction State Machine Exception- Augmented Transaction Templates BOD Semantics Augment B2B Transaction State Machine Participants Enact B2B Interaction Agents Doole y Graph Agent Skeleto n Robust Agent Skeleto n
Chapter 15134Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Ford Interoperability Scenario