340 likes | 491 Views
Chapter 15: Agents. Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005. Highlights of this Chapter. Agents Introduced Agent Descriptions Abstractions for Composition Describing Compositions Service Composition as Planning Rules.
E N D
Chapter 15:Agents Service-Oriented Computing: Semantics, Processes, Agents– Munindar P. Singh and Michael N. Huhns, Wiley, 2005
Highlights of this Chapter • Agents Introduced • Agent Descriptions • Abstractions for Composition • Describing Compositions • Service Composition as Planning • Rules Service-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 Service-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 Service-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 incorporate persistence Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Modeling Agents: MAS Emphasize interaction (autonomy and communication) • Social: about collections of agents • Organizational: about teams and groups • Legal: about contracts and compliance • Ethical: about right and wrong actions Service-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 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Two Ways to Apply Agents • As modeling constructs • Standing in for stakeholders • To help capturing their requirements • Especially their goals • As run time constructs • Representing stakeholders • Acting on their behalves • Reflecting a stakeholder’s autonomous decision making to other parties Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Goal Modeling Concepts • Actors: stakeholder or software “system” • Goals • “Hard” by default: required functionality • Soft goals: support partial fulfillment • Decomposition: AND or OR • Beliefs; Plans; Resources • Dependencies between actors • In terms of their goals, plans, or resources • Contributions of any goal or plan to a soft goal • Makes (++); Helps (+); Hurts (-); Breaks (--) Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Simplified Goal Modeling • Identify actors: stakeholders plus one or more “system” actors—both “as is” and “to be” (placeholders) • Elicit goals of each stakeholder actor • Decompose such goals based on domain knowledge • Available services for traditional SOC • Applicable context abstractions (beliefs) for context-aware apps • Beliefs about context abstractions affect choice of goal at run time • Identify contribution links to soft goals • Identify dependencies between actors • Incrementally, assign some goals of system actors • When all stakeholders goals are supported by system actors’ goals, design and implement system actors Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
A Reactive AgentThe Sense-Decide-Act Loop Environment e; RuleSet r; while (true) { state = senseEnvironment(e); a = chooseAction(state, r); e.applyAction(a); } Service-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 Service-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 Service-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 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
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? Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Sensor input brf beliefs Generate options desires filter intentions action 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 Action output Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Architecture of BDI-Based Agent Execution Cycle: the agent • Receive new information • Update beliefs and goals • Reason about actions • Intend an action • Select an intended action • Activate selected intention • Perform an action • Update beliefs, goals, intentions Service-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 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
OWL-S Service Ontology Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
OWL-S Mapped to UDDI Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
OWL-S Service Model Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
OWL-S Example: Processing Book Orders Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
OWL-S IOPEs for Bookstore Example Service-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 Service-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 Service-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 Service-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 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Example: ECA IF request (?x ?y ?z) event AND like (?x ?y) condition THEN do(fulfill(?x ?z)) action • Watch out for relevant events • If one occurs, check condition • If condition holds, perform action Service-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) Service-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 … Service-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 Service-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 Service-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 Service-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 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns