Chapter 22: Building SOC Applications Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005
Chapter 222Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 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
Chapter 223Service-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
Chapter 224Service-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
Chapter 225Service-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
Chapter 226Service-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
Chapter 227Service-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
Chapter 228Service-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 heterogeneity complexity
Chapter 229Service-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 severity of failure volatility
Chapter 2210Service-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 low overhead robustness
Chapter 2211Service-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
Chapter 2212Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Dimensions of Control
Chapter 2213Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Chapter 2214Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Chapter 2215Service-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
Chapter 2216Service-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
Chapter 2217Service-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: Pediatrician Internist Psychologist Neurologist Cardiologist Agent 1 Agent 2 Agent 3
Chapter 2218Service-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
Chapter 2219Service-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
Chapter 2220Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns JADE Behavior for CNP Initiator Role
Chapter 2221Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Two Patterns for Engineering Service Applications
Chapter 2222Service-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 to perform the selected Business Collaboration
Chapter 2223Service-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)
Chapter 2224Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Agent-Based Coordination Methodology Generic B2B Use-Case and Class Models Identify B2B Conversations Participants Develop B2B Interaction Diagrams Create Agent-Based B2B Transaction State Machine Exception- Augmented Transaction Templates BOD Semantics Augment B2B Transaction State Machine Participants Enact B2B Interaction Agents Doole y Graph Agent Skeleto n Robust Agent Skeleto n
Chapter 2225Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Ford Interoperability Scenario
Chapter 2226Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Conversation Analysis Based on Mutual Understanding (Bipartite Conversation Graph) Lubetec5 Ford2 Ford3 Jarvis4 Ford1 Lubetec6 Lubetec7 Jarvis8 Jarvis9 Ford10 Greenfield11 Greenfield12 Greenfield13 Eff.Logistics14 2Lubetec 3Eff.Logistics 4Ford 5Ford 1Jarvis 6Ford 7Ford 8Ford 9Ford 10Greenfield 11Ford 12Ford 13Ford 14Ford SenderReceiver
Chapter 2227Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Transaction Skeletons for Agent Enactment SupplierWarehouse
Chapter 2228Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Augmented Transaction Skeletons for Agent-Based Exception Handling Start Waiting for Payment Order Complete Receive( payment ) ^send("Thank you") Set Deadline Alarm ^send(ProcessInvoice) exceeded( Deadline ) ^send(ReminderInvoice) Start Waiting for Payment Order Complete Receive( payment ) ^send("Thank you") ^send(ProcessInvoice) Ignore ExceptionsConsider Exceptions
Chapter 2229Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Chapter 22 Summary