270 likes | 405 Vues
This chapter explores the role of agents in service-oriented computing (SOC), defining what an agent is and the functionalities it encompasses. It covers various aspects of agent modeling, including autonomy, interaction, and communication, as well as the complexities involved in agent-based service composition. The chapter highlights the importance of beliefs, desires, and intentions in agent behavior, and introduces frameworks like BDI (Belief-Desire-Intention). It also discusses the integration of semantic web technologies, like OWL-S, to enhance service descriptions and facilitate interoperability.
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