290 likes | 369 Views
Chapter 22: Building SOC Applications. Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005. Highlights of this Chapter. Elements of SOC Design Quality of Service How to Create an Ontology How to Create a Process Model
E N D
Chapter 22:Building SOC Applications Service-Oriented Computing: Semantics, Processes, Agents– Munindar P. Singh and Michael N. Huhns, Wiley, 2005
Highlights of this Chapter • Elements of SOC Design • Quality of Service • How to Create an Ontology • How to Create a Process Model • How to Construct Agent-Based Systems • How to Engineer Composed Services • Exception Handling • Knowledge Management Applications • eBusiness Applications • Application to Supply-Chain Automation Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Elements of Service-Oriented Architectures • Loose coupling: focus should be on high-level contractual relationships • Implementation neutrality: the interface is what should matter • Flexible configurability: late binding of components • Long lifetime: components should exist long enough to be discovered, to be relied upon, and to engender trust in their behavior • Granularity: interactions and dependencies should occur at as high a level as possible • Teams: computation in open systems should be conceptualized as business partners working as a team Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Planning and Control Needed How to maintain global coherence without explicit global control? Important aspects include how to • Determine shared goals • Determine common tasks across services • Avoid unnecessary conflicts • Pool knowledge and evidence Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Coordination A property of interaction among a set of agents performing some activity in a shared state. The degree of coordination is the extent to which they • Avoid extraneous activity • reduce resource contention • avoid livelock • Avoid deadlock • Maintain safety conditions Cooperation is coordination among nonantagonistic agents. Typically, • Each agent must maintain a model of the other agents • Each agent must develop a model of future interactions Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Goals for Multiagent Control Develop techniques for • Locating and allocating capabilities and resources that are dispersed in the environment • Predicting, avoiding, or resolving contentions over capabilities and resources • Mediating among more agents, with more heterogeneity and more complex interactions • Maintaining stability, coherence, and effectiveness Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Control Challenges The difficulty of control depends on some major characteristics of the overall system, including: • agents comprising the system • problems being solved by the agents individually and/or collectively • critical solution characteristics Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Control Challenges: Agents Control gets harder as agents become more: • numerous • complex individually (e.g., more versatile) • heterogeneous (in capabilities, representations, languages) quantity complexity heterogeneity Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Control Challenges: Problems Control gets harder as the problems agents solve become more • interrelated • rapidly changing, or pursued in an uncertain and changing world • unforgiving of control failures (e.g., involving irreversible actions) degree of interaction volatility severity of failure Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Control Challenges: Solutions Control gets harder as solutions to agent problems are required to be more • efficient • robust to changing circumstances • cheaper or faster to develop individually and in concert quality / efficiency robustness low overhead Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Technologies for Agent Control • Broker-based • Matchmaker-based • Market-based; auctions • BDI and commitment based • Decision theoretic • Workflow (procedural) based • Standard operating procedures • Learning / adaptive • Coordinated planning • Conventions / protocols • Stochastic or physics-based • Organizations: teams and coalitions • Constraint satisfaction/ optimization Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Dimensions of Control Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Task Decomposition Divide-and-conquer to reduce complexity: smaller subtasks require less capable agents and fewer resources • Task decomposition must consider the resources and capabilities of the agents, and potential conflicts among tasks and agents • The designer decides what operators to decompose over • The system decides among alternative decompositions, if available Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Task Decomposition Methods • Inherent (free!): the representation of the problem contains its decomposition, as in an AND-OR graph • Composition designer (human does it): decomposition is programmed during implementation. (There are few principles for automatically decomposing tasks) • Hierarchical planning (agents implementing the services do it): decomposition again depends heavily on task and operator representation Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Task Decomposition Examples • Spatial decomposition: service is info source or decision point: • Functional decomposition: service offers specialized expertise: Agent 1 Agent 3 Agent 2 Pediatrician Neurologist Internist Cardiologist Psychologist Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Task Distribution Criteria • Avoid overloading critical resources • Engage services on tasks where expertise matches • Make an agent with a wide view assign tasks to other agents • Assign overlapping responsibilities to agents to achieve coherence • Assign highly interdependent tasks to agents in spatial or semantic proximity. This minimizes communication and synchronization costs • Reassign tasks if necessary for completing urgent tasks Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Task Distribution Mechanisms • Market mechanisms: tasks are matched to agents by generalized agreement or mutual selection (analogous to pricing commodities) • Contract net: announce, bid, and award cycles • Multiagent planning: planning agents have the responsibility for task assignment • Organizational structure: agents have fixed responsibilities for particular tasks • Recursive allocation: responsible agent may further decompose task and allocate the resultant subtasks Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
JADE Behavior for CNP Initiator Role Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Two Patterns for Engineering Service Applications Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Agents for Collaboration • Each Business Collaboration is handled by an autonomous software entity (agent) • On forming a Collaboration, automatically generate ebXML-compliant agents • The “Agent Generator,” when integrated with the BSI, has static knowledge about local constraints and dynamic knowledge from the current CPA • The software agents exchange ebXML messages toperform the selected Business Collaboration Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Why this Approach? • Issues regarding transport, messaging, security constraints are to be handled for each Collaboration • Business collaborations are becoming increasingly complex • The system will be dealing with multiple collaborations at a given time • If the transactions are legally bound or even otherwise, the non-repudiation condition MAY have to be satisfied • There is always a possibility of unpredictable situations (exceptions) Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Participants Enact B2B Interaction Agents Agent-Based Coordination Methodology BOD Semantics Robust Agent Skeleton Dooley Graph Agent Skeleton Create Agent-Based B2B Transaction State Machine Identify B2B Conversations Augment B2B Transaction State Machine Participants Develop B2B Interaction Diagrams Generic B2B Use-Case and Class Models Exception-Augmented Transaction Templates Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Ford Interoperability Scenario Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Conversation Analysis Based on Mutual Understanding(Bipartite Conversation Graph) Sender Receiver Ford1 1Jarvis Ford2 2Lubetec Ford3 3Eff.Logistics Jarvis4 4Ford Lubetec5 5Ford Lubetec6 6Ford Lubetec7 7Ford Jarvis8 8Ford Jarvis9 9Ford Ford10 10Greenfield Greenfield11 11Ford Greenfield12 12Ford Greenfield13 13Ford Eff.Logistics14 14Ford Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Transaction Skeletons for Agent Enactment Supplier Warehouse Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Augmented Transaction Skeletons forAgent-Based Exception Handling Ignore Exceptions Consider Exceptions Order Complete Order Complete Receive( payment ) ^send("Thank you") Receive( payment ) ^send("Thank you") exceeded( Deadline ) ^send(ReminderInvoice) Waiting for Waiting for Payment Payment ^send(ProcessInvoice) Set Deadline Alarm Start ^send(ProcessInvoice) Start Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Chapter 22 Summary Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns