Service-Oriented Computing: Semantics, Processes, Agents August 2004 Chapter 16: Multiagent Systems 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 Applicability in Service-Based Systems Multiagent Architecture Agent Types Lifecycle Management Consistency Maintenance Modeling Other Agents Cognitive Concepts Chapter 16 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns
Service-Oriented Computing: Semantics, Processes, Agents August 2004 Basic Problems of MAS Distributing control among agents Describing, decomposing, distributing tasks Interacting and communicating Representing goals, problem-solving states, and other agents Maintaining consistency, reconciling conflicts Chapter 16 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns
(de facto) Standard Agent Types Service-Oriented Computing: Semantics, Processes, Agents August 2004 (de facto) Standard Agent Types Chapter 16 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns
Brokerage Service Cooperates with a Directory Service Accepts requests from agents to recruit one or more agents who can provide a service Uses knowledge about the requirements and capabilities of registered agents to Identify appropriate agents for an interaction Negotiate with selected agents Potentially learn about the properties of the responses Example: Brokerage determines that advertised results from agent X are incomplete and seeks a substitute for X Chapter 16 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
FIPA Agent Management System Chapter 16 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Agent Management System: 2 Handles the creation, registration, location, communication, migration, and retirement of agents White pages, e.g., agent location and naming (from AMS) Agent identifiers support social names, transport addresses, name resolution services Yellow pages, e.g., service location and registration services (from DF) Agent message transport services Chapter 16 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Java Agent Development Framework JADE, a popular FIPA-compliant agent framework for multiagent systems: http://jade.tilab.com/ (FIPA-OS and Zeus having died) Chapter 16 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Consistency Maintenance across Services Service-Oriented Computing: Semantics, Processes, Agents August 2004 Consistency Maintenance across Services A truth maintenance system (TMS) helps maintain consistency Performs a form of propositional deduction Maintains justifications and explains the results of its deductions Updates beliefs incrementally when premises change TMSs help us Deal with atomicity Maintain modular models Chapter 16 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns
Architecture of TMS-Based Agent Service-Oriented Computing: Semantics, Processes, Agents August 2004 Architecture of TMS-Based Agent Problem Solver TMS justifications beliefs Problem solver: decides on actions TMS: maintains a network of beliefs based on the justifications relating them Chapter 16 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns
Knowledge Base Integrity Service-Oriented Computing: Semantics, Processes, Agents August 2004 Knowledge Base Integrity Stability: believe everything justified validly; disbelieve everything else Well-Foundedness: no circular beliefs Logical consistency: no logical contradictions Completeness: find a consistent state if one exists, or report failure Problems arise when knowledge is distributed Chapter 16 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns
Service-Oriented Computing: Semantics, Processes, Agents August 2004 Distributed TMS Each agent has a justification-based TMS Each datum can have status OUT IN: valid local justification EXTERNAL: must be IN for some agent When a problem solver adds or removes a justification, the DTMS Unlabels data based on the changed justification Relabels all unlabeled shared data (in one or more iterations) Chapter 16 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns
Degrees of Logical Consistency Service-Oriented Computing: Semantics, Processes, Agents August 2004 Degrees of Logical Consistency Inconsistency: some agent is individually inconsistent Local Consistency: all agents are individually consistent Local-and-Shared Consistency: agents are locally consistent and agree about any data they might share Global Consistency: agents are globally consistent (union of KBs is consistent) The DTMS maintains local-and-shared consistency and well-foundedness Chapter 16 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns
Service-Oriented Computing: Semantics, Processes, Agents August 2004 Cooperative Service: 1 Client f3: afford(xcorp) IN r3: buy(X) :- query(Broker recommend(X)), afford(X) IN ? recommend(?X) Broker f1: afford(xcorp) OUT f2: cash-rich(xcorp) IN r2: recommend(X) :- takeover-bid(X) IN r1: takeover-bid(X) :- cash-rich(X) IN Chapter 16 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns
Service-Oriented Computing: Semantics, Processes, Agents August 2004 Cooperative Service: 2 Client f3: afford(xcorp) IN r3: buy(X) :- query(Broker recommend(X)), afford(X) IN recommend(XCorp) Broker f1: afford(xcorp) OUT f2: cash-rich(xcorp) IN r1: recommend(X) :- takeover-bid(X) IN r2: takeover-bid(X) :- cash-rich(X) IN f3: recommend(xcorp) IN Shared with: Client; Justification: (f2 r1 r2) Chapter 16 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns
Service-Oriented Computing: Semantics, Processes, Agents August 2004 Cooperative Service: 3 Client f3: afford(xcorp) IN r3: buy(X) :- query(Broker recommend(X)), afford(X) IN f4: recommend(xcorp) EXTERNAL Shared with: Broker; Justification: ( ) f5: buy(xcorp) IN Justification: (f3 f4 r3) Broker f1: afford(xcorp) OUT f2: cash-rich(xcorp) IN r1: recommend(X) :- takeover-bid(X) IN r2: takeover-bid(X) :- cash-rich(X) IN f3: recommend(xcorp) IN Shared with: Client; Justification: (f2 r1 r2) Chapter 16 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns
Service-Oriented Computing: Semantics, Processes, Agents August 2004 Cooperative Service: 4 Client f3: afford(xcorp) IN r3: buy(X) :- query(Broker recommend(X)), afford(X) IN f4: recommend(xcorp) EXTERNAL Shared with: Broker; Justification: ( ) f5: buy(xcorp) IN Justification: (f3 f4 r3) relabel recommend(XCorp) Broker f1: afford(xcorp) OUT f2: cash-rich(xcorp) IN --> OUT r1: recommend(X) :- takeover-bid(X) IN r2: takeover-bid(X) :- cash-rich(X) IN f3: recommend(xcorp) IN --> OUT Shared with: Client; Justification: (f2 r1 r2) Chapter 16 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns
Service-Oriented Computing: Semantics, Processes, Agents August 2004 Cooperative Service: 5 Client f3: afford(xcorp) IN r3: buy(X) :- query(Broker recommend(X)), afford(X) IN f4: recommend(xcorp) OUT Shared with: Broker; Justification: ( ) f5: buy(xcorp) OUT Justification: (f3 f4 r3) Broker f1: afford(xcorp) OUT f2: cash-rich(xcorp) OUT r1: recommend(X) :- takeover-bid(X) IN r2: takeover-bid(X) :- cash-rich(X) IN f3: recommend(xcorp) OUT Shared with: Client; Justification: (f2 r1 r2) Chapter 16 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns
Service-Oriented Computing: Semantics, Processes, Agents August 2004 Chapter 16 Summary Study multiagent systems because interactions among agents make them interesting Communication among agents is key, although markets (later chapter) only support implicit communication through prices Programming environments support agent interactions Consistency maintenance is a major challenge Agents must model agents; simple techniques are often adequate; more subtle techniques can require extensive reasoning power Chapter 16 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns