260 likes | 279 Views
This chapter introduces agents and their role in service-oriented computing. It covers agent descriptions, composition abstractions, service composition as planning, and rules. The chapter also discusses the modeling of agents, mapping service-oriented computing to agents, reactive agent environments, rationality, logic-based agents, and the architecture of BDI-based agents. Additionally, it explores the use of the Web Ontology Language for Services (OWL-S) for service descriptions and its comparison to UDDI.
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? 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 map to agents Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Agents and MAS 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 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 apply well in 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
Rationality • A performance measure, e.g., expected utility • An agent’s prior knowledge and perceptions • The available actions 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 • Represents a symbolic model of the world • 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; 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 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 • 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 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 • 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
Applying Inference Rules • Capture general requirements • Elaboration tolerance requires defeasibility • 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