Intelligent Software Agents Lab The Robotics Institute Carnegie Mellon University 5000 Forbes Avenue Pittsburgh, PA 15213-3890 (U.S.A.) OVERVIEW • Vision • Approach • Selected Research Projects Accomplishing Tasks for Humans • Augment human teams via RETSINA-guided robots Examples: Robots for urban search and rescue (USAR) Coordination of robots in time-critical missions • Reduce the information overload for humans Examples: “Watch for any bad news about stocks in my portfolio.” “Notify me when something will affect my plans.” • Human users need only specify high-level objectives Examples: “Find and rescue any human survivors of this collapsed building.” “Plan my trip from Pittsburgh to Trento.” Improve and Diffuse Accessibility • Any Time - Any Place Computing – – – – Agents accessible from any device Appropriateness of Human-Robot Interface (HRI) Information conveyed on most appropriate device Information conveyed at most appropriate time • Unobtrusive Computing – Reduce the overhead of humans having to specify their intentions – Agents proactively assist humans based on their awareness of the user’s goals and context Transform the Internet to ServiceNet • from a network of information providers – user must find information sources – user must integrate information • to a network of service providers – agents find requested & unanticipated information for the user – agents perform requested and implied services for the user – agents present finished product to user Achieve Ideals of Software Engineering • Truly reusable software components • Accessible to lay-programmers – intuitive and imprecise • Scalable, reliable, robust, and fault-tolerant computing • Program by high-level service requirement descriptions Example: To find the best flights, – find any airline reservation system – that publishes departure / arrival times • of four or more commercial airlines and • comparative prices for those legs. OVERVIEW • Vision • Approach • Selected Research Projects Approach Consider technologies that will achieve our vision in an economically viable way. • Robotic Technologies • Network Technologies • Sophisticated Natural Language Technologies • Human / Agent Interactions • Agent / Agent Interactions • Agent-Oriented Software Engineering • Automatic Learning and Artificial Intelligence Robotic Technologies • Team-Oriented Robot Mine Diffusers • Robots for Urban Search and Rescue – Physcial USAR lab – Simulated Robotic Search and Rescue • Robots that autonomously combine with each other – For climbing stairs or accessing hard to reach areas – Uncouple once the obstacle is surmounted Necessary Network Technologies • Local Area Network Discovery – SSDP, SLP • Wide Area Network Discovery – Agent-to-Agent Discovery • Network Security – protection from malicious attacks and spoofing – Encryption, Authentication, Repudiation • Agent Location Schemes – White Pages, Yellow Pages, LDAP Sophisticated Natural Language Technologies • Natural Language Understanding and Generation • Speech Recognition and Synthesis • Information Retrieval, Text Categorization • Topic Tracking and Detection, Text Summarization • Content and Concept Extraction Human / Agent Interactions • Well-considered information presentation and solicitation techniques – – – – Human users may reject non-intuitive agent solutions Human users do not want to spend their time specifying preferences Organization and management of context-sensitive preferences Agents should prefer learning by observing rather than by asking humans • Reliable techniques where humans specify and delegate tasks to their agents • Understand the nature of human team formation • Model human team formation strategies as rules for agents Agent / Agent Interactions • Automatic Task Decomposition and Delegation – Consider how agents recognize tasks to delegate • Team Coordination and Communication – Evaluate tradeoffs between teaming and not teaming • Applicability to Physical Robots – How well does agent situation-awareness improve robot performance? – Which agent coordination strategies are applicable to physical robots? RETSINA Today • • • • • Assumptions Use Available Resources RETSINA Agent Architecture RETSINA MAS Infrastructure RETSINA MAS Architecture Assumptions • Open and Dynamic Environments – agents / services will not always exist – agent locations change • system load balancing • agent mobility – agent identity changes • cannot predict its name • cannot predict the vocabulary used to describe it • Assume Service Redundancy – multiple/ competing service providers – differentiate on service parameters • speed, price, security, reliability, reputation, etc. Use Available Resources • For ubiquity, accessibility, scalability, viability • Use current and evolving standards – Discovery: SLP, SSDP, DNS, dDNS, Gnutella, etc. – ACLs: KQML, FIPA, DAML, etc. – Representation: XML, HTML, RDF, etc. • Agents in any computing environment – Languages: C/C++, Java, Perl, Prolog, Python, etc. – Applications: ModSAF, MSOffice, etc. – Devices: cell phones, PDAs, tablets, laptops, etc. • Necessitates a Robust Interface Architecture RETSINA Agent Architecture Reusable Environment for Task-Structured Intelligent Networked Agents Four parallel threads: • Communicator • for conversing with other agents • Planner • matches “sensory” input and “beliefs” to possible plan actions • Scheduler • schedules “enabled” plans for execution • Execution Monitor • executes scheduled plan • swaps-out plans for those with higher priorities http://www.cs.cmu.edu/~softagents/retsina.html MAS Infrastructure MAS Infrastructure Individual Agent Infrastructure MAS Interoperation Interoperation Translation Services Interoperator Services Interoperation Modules Capability to Agent Mapping Capability to Agent Mapping Middle Agents Middle Agent Components Name to Location Mapping Name to Location Mapping Agent Name Service ANS Component Security Security Certificate Authority Cryptographic Service Security Module Private/Public Keys Performance Services Performance Services MAS Monitoring Reputation Services Performance Service Modules Multi-Agent Management Services Management Services Logging Activity Visualization Launching Logging and Visualization Components ACL Infrastructure ACL Infrastructure Public Ontology Protocol Servers Parser, Private Ontology, Protocol Engine Communications Infrastructure Communication Modules Discovery Message Transfer Discovery Message Transfer Modules Operating Environment Machines, OS, Network, Multicast Transport Layer, TCP/IP, Wireless, Infrared, SSL RETSINA Functional Architecture User 1 User 2 User u Goal and Task Specifications Results Interface Agent 1 Interface Agent 2 Interface Agent i Tasks Solutions Task Agent 1 Info & Service Requests Task Agent 2 Information Integration Conflict Resolution Middle Agent 2 Advertisements Information Agent 1 Queries Task Agent t Info Source 1 Replies Information Agent n Answers Info Source 2 Info Source m Interface Agents • • • • Solicit input from user for the agent system Present output to the user Frequently part of task agent Often representative of a device Task Agents • Know what to do and how to do it • Responsible for task delegation • May enlist the help of other task agents Middle Agents • Infrastructure agents that aid in MAS scalability • Many have been identified in Sycara & Wong ‘00 • Most common: – – – – Agent Name Service (White Pages) Matchmaker (Yellow Pages) Broker MAS Interoperator RETSINA Matchmakers • Enable an agent to find another agent: • by functionality, capability, availability, time to completion, etc. • without knowing who or where the provider agent might be • Enables multi-agent systems [MASs]: • to dynamically reconfigure themselves to suite a need • reduce agent systems administration overhead • to scale in the number of agents that are distributed in a computer network • RETSINA has two main types of Matchmakers: • RETSINA Matchmaker • http://www.cs.cmu.edu/~softagents/matchmaker.html • Please try it: http://www.cs.cmu.edu/~softagents/a-match/index.html • LARKS Matchmaker • Language for Advertisement and Request for Knowledge Sharing • http://www.cs.cmu.edu/~softagents/larks.html The Matchmaking Process 2. Request for service Requester Matchmaker 3. Unsorted full description of (P1,P2, …, Pk) 1. Advertisement of capabilities & service parameters 4. Delegation of service 5. Results of service request Provider 1 Provider n MAS Interoperators • Translate between MAS architectures: • Advertisements • Queries and replies • Informational messages • Achieve economic MAS scalability Information Agents • • • • Present information sources to MAS Port MAS output to external data stores Represent data and events Four well-known and reusable behaviors: – – – – Single-Shot Query Active Monitor Query Passive Monitor Query Update Query OVERVIEW • Vision • Approach • Selected Research Projects RETSINA supports component reuse across application domains See the ONR JoCCASTA video Also view our CoABS TIE3 video JoCCASTA CoABS Control of Agent-Based Systems NEO Non-combatent Evacuation Operation TIE3 Technical Integration Experiment 3 Agent Storm Simulated in ModSAF Modular SemiAutomated Forces “Real world” events are simulated in Agent Storm by interaction with ModSAF • minefield discovery • encountering Threat platoon • announcements of passed checkpoints RETSINA Mission Agents control ModSAF platoon. • route directions • marching orders Agent Storm Scenario • Threat forces are in retreat • Three tank platoon commanders must patrol an area • Chase any Threat stragglers out of the area • May need to engage if necessary • Agents help humans • Plan the mission • Gather and use intelligence to re-plan mission • Actively monitor patrol area during execution • De-mine an area RETSINA De-mining System Without Team-Aware Coordination • Using simple homogenous strategy • Robots interfere with each other • Robots attempt to de-mine same mine With Team-Aware Coordination • Using simple homogenous strategy and rule that they cannot diffuse the same mine • Robots do not interfere with each other • A path is more rapidly cleared http://www.cs.cmu.edu/~softagents/demining.html MORSE RCAL: RETSINA Calendar Agent and Electronic Secretary MoCHA • Anytime, Anywhere Interfaces • Context-sensitive preference management • Integrates Devices and Agentified Services Mobile Communication of Heterogeneous Agents Warren • Portfolio Management Application • Tracks price per share and beta values • Warns user when portfolio exceeds bounds • Provides web search of holdings in portfolio • Current research: Text Classification of whether the news article reports good news or bad news about a company. MokSAF Charlie’s Shared Route Bravo’s Shared Route. Note that this route initially support’s Charlie’s route, then crosses to intercept Alpha’s route. Alpha’s Shared Route Information about shared routes… PalmSAF • Miniaturized form of MokSAF for hand-held computers • Full RETSINA multi-agent system available to PalmSAF user • Technical challenges: • little memory • very few communication ports • intermittent communication connections ATLAS / DAML • • • • • Human and machine-readable web markup Improve web searches via “semantic” indexing Based on: XML, RDF, Oil, Shoe Specify DAML-S Future basis for advertising and ACL RETSINA Visual Recognition Agent • Reconnaissance Satellite Agent • triggers on asynchronous events • recognizes Threat tanks • agents autonomously locate it via a Matchmaker • agents subscribe to it via the RETSINA Passive Monitor Query • RETSINA Information Agent demonstrates that the information agent protocol model is applicable to both data and event sources • Used / Reused in Many Projects • MURI ‘98 Joccasta • CoABS ‘99 NEO TIE • MURI ‘00 Agent Storm http://www.cs.cmu.edu/~softagents/visrec.html Contact Information: Prof. Katia Sycara Principle Investigator Joseph Giampapa Project Manager The Robotics Institute Carnegie Mellon University 5000 Forbes Avenue Pittsburgh, PA 15213-3890 (U.S.A.) The Robotics Institute Carnegie Mellon University 5000 Forbes Avenue Pittsburgh, PA 15213-3890 (U.S.A.) Tel: +1 (412) 268-8825 Fax: +1 (412) 268-5569 Tel: +1 (412) 268-5245 Fax: +1 (412) 268-5569 katia+@cs.cmu.edu http://www.cs.cmu.edu/~katia garof+@cs.cmu.edu http://www.cs.cmu.edu/~garof