Open Agent Architecture (OAA) - Part II -Murali Krishnan Design Patterns & Component Frameworks CS6704 1 Spring 2002 Interagent Communication Language (ICL) ICL – Unified way of expressing agent functionalities! -Register capability specifications -Request services of agents in community PROLOG is used! Design Patterns & Component Frameworks CS6704 • Interface, communication & task coordination language shared by all agents • Used by agents to perform queries, execute actions, exchange information, set triggers & manipulate data • Includes a conversational layer protocol (events, parameters) & content layer (goals, triggers & data elements) 2 Spring 2002 ICL contd… • Platform independent – supports C, C++, VB, Delphi, Java, Prolog, LISP • Interagent communication – through events & message passing – ev_post_solve (Goals, Params) ->typical event • Agents use ICL to define and publish their capabilities and services provided, to the facilitator • Agents capabilities declarations - SOLVABLES Design Patterns & Component Frameworks CS6704 3 Spring 2002 Solvables: •Procedure solvables -perform a test or action -must have a handler declared and defined •Data solvables -Provides access to collection of data -associated with dynamic collection of facts Specification of solvables: solvable ( Goal, Parameters, Permissions ) Examples: solvable (send_message (email, +ToPerson, +Params), [type(procedure), callback (send_mail)], [] ) solvable (last_message (email, -MessageId), [type(data), single_value(true)], [write(true)] ) Design Patterns & Component Frameworks CS6704 4 Spring 2002 Agent library: • Provides infrastructure for building new agent-based system • Single, unified point of entry for requesting services – library procedure oaa_Solve() • Contains many other procedures like: – oaa_declare, oaa_undeclare, oaa_redeclare – regn. with facilitator – oaa_adddata, oaa_removedata, oaa_replacedata – updates to data solvables – oaa_addtrigger, oaa_removetrigger, oaa_replacetrigger – procedures for trigger-related operations • Inter-agent and Intra-agent communication Design Patterns & Component Frameworks CS6704 5 Spring 2002 OAA Triggers: • Action fired, when condition met • Types: communication, data, task & time • When trigger fires, execution of action is delegated to the facilitator oaa_AddTrigger(Type, conditions, action, params) • Communication triggers: monitor incoming / outgoing events • Data triggers: monitor the state of a data repository • Task triggers: test arbitrary conditions after processing event or timeout • Time triggers: monitor time related conditions Design Patterns & Component Frameworks CS6704 6 Spring 2002 Multimodal User Interfaces: • User is special member of agent community • Agents compete to recognize and act on user actions • Natural Language (NL) translation to & from ICL Multiagent cooperation for ambiguity resolution • Pen: gesture or handwriting? • Reference resolution: “photo of the hotel” - NL Agent: hotel in language context - Gesture Agent: hotel being pointed at - UI Agent: only one hotel visible - Database Agent: “hotel on Smith Street” - Discourse Agent: “the other hotel” - Human User: if still ambiguous, can clarify • Cross-modality ambiguities Design Patterns & Component Frameworks CS6704 7 Spring 2002 Multimodal map --- Example OAA application: Sample Interaction: 2.1 [Speaking] Where is downtown? Map scrolls to appropriate area. 2.2 [Speaking and drawing region] Show me all hotels near here. Icons representing hotels appear. 2.3 [Writes on a hotel] Info? A textual description (price, attributes, etc.) appears. 2.4 [Speaking] I only want hotels with a pool. Some hotels disappear. Natural interface to distributed (web) data and so on… Synergistic combination of handwriting, drawing, speech, direct manipulation Design Patterns & Component Frameworks CS6704 8 Spring 2002 OAA and Scalability Current Limitations: Facilitator is single point of failure Facilitator is bottleneck for communication Possible Solutions: Multi-Facilitator topologies Distribution of planning & execution functions of Facilitator + peer-to-peer communication Facilitator Facilitator Facilitator Replicated Plan + Exe Registry & Planner Agent E CMM2 Design Patterns & Component Frameworks CS6704 9 Spring 2002 OAA Characteristics: Open: agents can be created in many languages and Extensible: interface with existing systems agents can be added or replaced dynamically Distributed: agents are spread across many computers Parallel: Parallel execution of subtasks Mobile: Lightweight interfaces on phone and/or PDA High-level: hides software and hardware dependencies Multimodal: handwriting, speech, gestures, and direct manipulation can be combined together CMM2 Design Patterns & Component Frameworks CS6704 10 Spring 2002 References: • [CMM1] The Open Agent Architecture: A Framework for Building Distributed Software Systems – David L.Martin, Adam J. Cheyer, Douglas B. Moran, (AI center, SRI International) (Technical paper) • [CMM2] The Open Agent Architecture, by the same authors. (PowerPoint presentation) • Open Agent Architecture: Technical white paper. See website http://ai.sri.com/~oaa • An Open Agent Architecture, Philip Cohen, Adam Cheyer, Michelle Wang, Soon Cheol Baeg. (See website http://ai.sri.com/~oaa Design Patterns & Component Frameworks CS6704 11 Spring 2002
© Copyright 2025 Paperzz