270 likes | 395 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
Service-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
Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns What is an Agent? The term agent in computing covers a wide range of behavior and functionality • An agent is an active computational entity • With a persistent identity • Perceives, reasons about, and initiates activities in its environment • Communicates (with other agents) and changes its behavior based on others • Business partners => agents
Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Agents and MAS for SOC • Why agents for services? • Autonomy, heterogeneity, dynamism • Unlike objects, agents • Are proactive and autonomous • Cooperate or compete • Model users, themselves, others • Dynamically use and reconcile ontologies
Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Modeling Agents: AI Traditionally, 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
Service-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
Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Mapping SOC to Agents Agents as components of an open system • Autonomy => ability to enter into and enact contracts; 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 A Reactive Agent 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 A Rational Agent Rationality depends on ... • A performance measure, e.g., expected utility • What the agent has perceived so far • What the agent knows ahead of time • 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
Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Logic-Based Agents • An agent is a knowledge-based system • Explicitly represents symbolic model of the world • Reasons symbolically via logical deduction • Challenges: • Maintaining adequate descriptions of the world • Representing information about complex real-world entities in symbolic terms • Easier in information environments than in general
Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Cognitive Architecture for an Agent For SOC, sensors and effectors are services; communication is via messaging middleware
Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Sensor input brf beliefs Generate options desires filter intentions action Generic BDI Architecture A BDI architecture addresses how beliefs, desires and intentions are represented, updated, and acted upon Action output
Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Architecture of BDI-Based Agent Execution Cycle: the agent • Receives new information • Updates beliefs and goals • Reasons about actions • Intends an action • Selects an intended action • Activates selected intention • Performs an action • Updates 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 of services • Based on their inputs, outputs, preconditions, and effects • Used for composition and interoperation
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 Compared 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 • Service composition as planning: • Represent current and goal states • Represent each service as an action (with inputs, outputs, preconditions, effects) • 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 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 Applying Inference Rules • Inference rules capture general requirements well • Elaboration tolerance requires defeasibility • Write general rules • Override them as need to specialize them to account for context • 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 Use of Variables • Need free variables to make the rules generic in how they apply • For ECA rules: event and condition • For inference rules: antecedent • Should generally not have free variables in consequent to ensure “safety” • Free variable in action indicates perform action for each binding • Free variable in consequent means assert it for each binding
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 • Self-study Jess