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 Highlights of this Chapter Agents Introduced Agent Descriptions Abstractions for Composition Describing Compositions Service Composition as Planning Rules
Chapter 153Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns What is an Agent? Wide range of behavior and functionality in computing An agent is an active computational entity With a persistent identity Can carry out a long-lived conversation Perceives, reasons about, and initiates activities in its environment Deals with services Communicates (with other agents) and changes its behavior based on others Loosely coupled Business partners map to agents
Chapter 154Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Agents and Multiagent Systems for SOC Unlike objects, agents Are proactive and autonomous Support loose coupling In addition, agents may Cooperate or compete Model users, themselves, and others Dynamically use and reconcile ontologies
Chapter 155Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Modeling Agents: AI Emphasize mental concepts 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 Resources allocated Sometimes associated with an element of persistence
Chapter 156Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Modeling Agents: MAS Emphasize interaction Social: about collections of agents Organizational: about teams and groups Legal: about contracts and compliance Ethical: about right and wrong actions Emphasize autonomy and communication
Chapter 157Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Mapping SOC to Agents Agents apply well in an open system Autonomy ability to enter into and enact contracts; compliance How can we check or enforce compliance? Heterogeneity ontologies Loose coupling communication Trustworthiness contracts, ethics, learning, incentives Dynamism combination of the above
Chapter 158Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns A Reactive Agent The Sense-Decide-Act Loop Environment e; RuleSet r; while (true) { state = senseEnvironment(e); a = chooseAction(state, r); e.applyAction(a); }
Chapter 159Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Economic Rationality Three elements A performance measure, e.g., expected utility An agent’s prior knowledge and perceptions The available actions Ideal: for each possible percept sequence, Acts to maximize its expected utility On the basis of its knowledge and evidence from the percept sequence
Chapter 1510Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Logic-Based Agents (Another form of rationality) An agent is a knowledge-based system Represents a symbolic model of the world Declarative (hence, inspectable) Reasons symbolically via logical deduction Challenges: Representing information symbolically Easier in information environments than in general Maintaining adequate model of the world
Chapter 1511Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Cognitive Architecture for an Agent For SOC, sensors and effectors map to services; the communication infrastructure is messaging middleware
Exercise Create an instance of the preceding diagram where the two agents are Amazon and a manufacturer When is it beneficial to employ agents in this setting? What is an illustration of loose coupling in this setting? Chapter 1512Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Chapter 1513Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Action output brf Generate options filter action Sensor input beliefs desires intentions Generic BDI Architecture Addresses how beliefs, desires and intentions are represented, updated, and acted upon Somewhat richer than sense-decide- act: decisions directly affect future decisions Consider goal-oriented requirements engineering
Chapter 1514Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Architecture of BDI-Based Agent Execution Cycle: the agent 1. Receive new information 2. Update beliefs and goals 3. Reason about actions 4. Intend an action 5. Select an intended action 6. Activate selected intention 7. Perform an action 8. Update beliefs, goals, intentions
Chapter 1515Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Web Ontology Language for 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 via inputs, outputs, preconditions, effects (IOPE) Used for composition and interoperation Extended to IOPR: a result combines an output and associated effects
Chapter 1516Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns OWL-S Service Ontology
Chapter 1517Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns OWL-S Mapped to UDDI
Chapter 1518Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns OWL-S Service Model
Chapter 1519Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns OWL-S Example: Processing Book Orders
Chapter 1520Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns OWL-S IOPEs for Bookstore Example
Chapter 1521Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Composition as Planning Represent current and goal states Represent each service as an action Based on its IOPE Represent a composed service as a plan that invokes the constituent services constraining the control and data flow to achieve the goal state
Chapter 1522Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Rules: Logical Representations Rules are desirable because they are Modular: easy to read and maintain Inspectable: easy to understand Executable: no further translation needed Expressive: (commonly) Turing complete and can capture knowledge that would otherwise not be captured declaratively Compare with relational calculus (classical SQL) or description logics (OWL) Declarative, although imperfectly so
Chapter 1523Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Kinds of Rules ECA or Reaction On event if condition then perform action Derivation rules: special case of above Integrity constraints: derive false if error Inference rules If antecedent then consequent Support multiple computational strategies Forward chaining; backward chaining
Chapter 1524Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Applying ECA Rules Capture protocols, policies, and heuristics as ECA rules Examples? Often, combine ECA with inference rules (to check if a condition holds) Modeling challenge What is an event? How to capture composite events by pushing event detection to lower layers
Example: ECA IF request (?x ?y ?z) event AND like (?x ?y) condition THEN do(fulfill(?x ?z)) action 1. Watch out for relevant events 2. If one occurs, check condition 3. If condition holds, perform action Chapter 1525Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Example: Inference Typical syntax indicating forward chaining IF parent(?x ?y) AND parent (?y ?z) Antecedent THEN grandparent (?x ?z) Consequent Typical syntax indicating backward chaining INFER grandparent (?x ?z) Consequent FROM parent(?x ?y) Antecedent AND parent (?y ?z) Chapter 1526Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Example: Communication IF incoming-message(?x ?y ?z) AND policy(?x ?y ?w) AND policy(?x ?z ?v) THEN send message(?x ?v ?w) AND assert internal-fact(?x ?v ?w) Here the policy stands for any internal decision making, usually defined as INFER policy(?x ?y ?w) FROM … Chapter 1527Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Exercise State the customer’s rules to capture how it might interact with a merchant in a purchase protocol RFQ: request for quotes (Price) quote Accept or Reject Goods Payment Receipt Chapter 1528Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Chapter 1529Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Applying Inference Rules Capture general requirements Elaboration tolerance requires defeasibility Conclusions are not firm in the face of new information Formulate general rules Override rules to specialize them as needed Leads to logical nonmonotonicity Easy enough operationally but difficult to characterize mathematically Details get into logic programming with negation
Chapter 1530Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Free and Bound Variables General rules involve free variables For ECA rules: in event and condition Free variable in action indicates perform action for each binding For inference rules: in antecedent Free variable in consequent means assert it for each binding Therefore, to ensure safety, use only bound variables in action or consequent
Chapter 1531Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Chapter 15 Summary Agents are natural fit with open environments Agent abstractions support expressing requirements in a natural manner Agents go beyond objects and procedural programming