Service-Oriented Computing: Semantics, Processes, Agents August 2004 Chapter 22: Building SOC Applications Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005 © Singh & Huhns
Highlights of this Chapter Service-Oriented Computing: Semantics, Processes, Agents August 2004 Highlights of this Chapter Elements of SOC Design Self study: Quality of Service Self study: How to Create an Ontology Self study: How to Create a Process Model How to Construct Agent-Based Systems How to Engineer Composed Services Exception Handling Self study: Knowledge Management Self study: eBusiness Supply-Chain Automation Chapter 22 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & 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 22 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 Chapter 22 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 Chapter 22 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 Chapter 22 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 Chapter 22 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Techniques for Agent Control Broker-based Matchmaker-based Market-based; auctions BDI and commitment based Decision theoretic Workflow (procedure) based Standard operating procedures Learning Coordinated planning Conventions Protocols Stochastic or physics-based Organizations: teams and coalitions Constraint satisfaction or optimization Chapter 22 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Dimensions of Control Chapter 22 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Chapter 22 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Chapter 22 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Service-Oriented Computing: Semantics, Processes, Agents August 2004 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 22 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns
Task Decomposition Methods Service-Oriented Computing: Semantics, Processes, Agents August 2004 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 22 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns
Task Decomposition Examples Service-Oriented Computing: Semantics, Processes, Agents August 2004 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 Chapter 22 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns
Task Distribution Criteria Service-Oriented Computing: Semantics, Processes, Agents August 2004 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 22 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns
Task Distribution Mechanisms Service-Oriented Computing: Semantics, Processes, Agents August 2004 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 22 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns
JADE Behavior for CNP Initiator Role Chapter 22 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Two Patterns for Engineering Service Applications Chapter 22 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 to perform the selected Business Collaboration Chapter 22 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) Chapter 22 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Agent-Based Coordination Methodology BOD Semantics Robust Agent Skeleton Dooley Graph Agent Skeleton Participants Enact B2B Interaction Agents Create Agent-Based B2B Transaction State Machine Participants Develop B2B Interaction Diagrams Identify B2B Conversations Augment B2B Transaction State Machine Generic B2B Use-Case and Class Models Exception-Augmented Transaction Templates Chapter 22 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Ford Interoperability Scenario Chapter 22 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Service-Oriented Computing: Semantics, Processes, Agents August 2004 Conversation Analysis Based on Mutual Understanding (Bipartite Conversation Graph) Sender Receiver Ford1 1Jarvis Ford2 2Lubetec Ford3 3Eff.Logistics Jarvis4 4Ford Lubetec5 5Ford The arcs above help identify the roles of the participants in the B2B transactions. The notation Ford1 indicates that message 1 (to Jarvis) is being sent by Ford; the notation 4Ford indicates that message 4 (sent by Jarvis) is being received by Ford. This graphical technique is the basis for constructing collaboration diagrams. Explanation: The arc from Ford1 to 4Ford indicates that Jarvis in message 4 is replying to Ford’s message 1 (ProcessPO). The arc from Lubetec6 to 2Lubetec indicates that message 6 (ShowShipment) resolves Ford’s message 2 (ProcessPO). The arc from Ford2 to 7Ford indicates that message 7 completes intermediate messages 5, which, in turn, resolves message 2. The semantics of respond, reply, resolve, and complete can be found in [Singh 2000] and [Parunak 96]. [Singh 2000] Munidar P. Singh, “Synthesizing Coordination Requirements for Heterogeneous Autonomous Agents,” Autonomous Agents and Multi-Agent Systems, no. 3, 2000, pp. 107-132. [Parunak 1996] H. Van Dyke Parunak, “Visualizing Agent Conversations: Using Enhanced Dooley Graphs for Agent Design and Analysis, International Conference on Multi-Agent Systems, ICMAS-1996, pp. 275-282. Lubetec6 6Ford Lubetec7 7Ford Jarvis8 8Ford Jarvis9 9Ford Ford10 10Greenfield Greenfield11 11Ford Greenfield12 12Ford Greenfield13 13Ford Eff.Logistics14 14Ford Chapter 22 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns
Transaction Skeletons for Agent Enactment Supplier Warehouse Chapter 22 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Augmented Transaction Skeletons for Agent-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 Chapter 22 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Service-Oriented Computing: Semantics, Processes, Agents August 2004 Chapter 22 Summary Success of service-oriented computing solutions depends upon How ontologies and process models are constructed How a system is designed so that desired behaviors ensue How abstractions for interaction are fleshed out How the above are related to software engineering approaches Chapter 22 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns