P. 1 - © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Craig W. Thompson - - - 972-612-6998.

Slides:



Advertisements
Similar presentations
웹 서비스 개요.
Advertisements

Overview Environment for Internet database connectivity
DIGIDOC A web based tool to Manage Documents. System Overview DigiDoc is a web-based customizable, integrated solution for Business Process Management.
Agility Craig Thompson, Steve Ford, Tom Bannon, Paul Pazandak, David Wells Object Services and Consulting, Inc. (OBJS) Main Idea - agents for the masses.
General introduction to Web services and an implementation example
15.1 © 2004 Pearson Education, Inc. Exam Managing and Maintaining a Microsoft® Windows® Server 2003 Environment Lesson 15: Configuring a Windows.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
Technical Architectures
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
A New Computing Paradigm. Overview of Web Services Over 66 percent of respondents to a 2001 InfoWorld magazine poll agreed that "Web services are likely.
INTERNET DATABASE Chapter 9. u Basics of Internet, Web, HTTP, HTML, URLs. u Advantages and disadvantages of Web as a database platform. u Approaches for.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Integration of Applications MIS3502: Application Integration and Evaluation Paul Weinberg Adapted from material by Arnold Kurtz, David.
Managing Agent Platforms with the Simple Network Management Protocol Brian Remick Thesis Defense June 26, 2015.
Interpret Application Specifications
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
Client/Server Architecture
L EC. 01: J AVA FUNDAMENTALS Fall Java Programming.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
.NET, and Service Gateways Group members: Andre Tran, Priyanka Gangishetty, Irena Mao, Wileen Chiu.
INTRODUCTION TO WEB DATABASE PROGRAMMING
6/1/2001 Supplementing Aleph Reports Using The Crystal Reports Web Component Server Presented by Bob Gerrity Head.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
Elizabeth Fong,ITL, NIST Nenad Ivezic, MEL, NIST Yun Peng, UMBC Tom Rhodes, ITL, NIST An Agent-based Manufacturing Application Developed by NIST OMG Agent.
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
Craig Thompson, Steve Ford, Tom Bannon, Paul Pazandak Object Services and Consulting, Inc. Main Idea - piggyback agent capabilities on already pervasive.
Web Services Mohamed Fahmy Dr. Sherif Aly Hussein.
1 Guide to Novell NetWare 6.0 Network Administration Chapter 13.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
Understanding the CORBA Model. What is CORBA?  The Common Object Request Broker Architecture (CORBA) allows distributed applications to interoperate.
Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.
Fundamentals of Database Chapter 7 Database Technologies.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
Lecture 15 Introduction to Web Services Web Service Applications.
National Center for Supercomputing Applications NCSA OPIE Presentation November 2000.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
1 Welcome to CSC 301 Web Programming Charles Frank.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
Jian Gui WANG New Implementation of Agriculture Models APAN19---Jan New Implementations of Agriculture Models Using Mediate Architecture.
Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
XML and Web Services (II/2546)
Internet Architecture and Governance
Service Discovery Protocols Mobile Computing - CNT Dr. Sumi Helal Professor Computer & Information Science & Engineering Department University.
Preliminary Ocean Project Page 1 WGISS SG May 15, C. Caspar G. Tandurella P. Goncalves G. Fallourd I. Petiteville Preliminary Ocean Project Phase.
Jini Architecture Introduction System Overview An Example.
Kemal Baykal Rasim Ismayilov
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
ClearQuest XML Server with ClearCase Integration Northwest Rational User’s Group February 22, 2007 Frank Scholz Casey Stewart
AMQP, Message Broker Babu Ram Dawadi. overview Why MOM architecture? Messaging broker like RabbitMQ in brief RabbitMQ AMQP – What is it ?
WWW Programming Model. WWW Model The Internet WWW architecture provides a flexible and powerful programming model. Applications and content are presented.
Dispatching Java agents to user for data extraction from third party web sites Alex Roque F.I.U. HPDRC.
Web Services An Introduction Copyright © Curt Hill.
REST By: Vishwanath Vineet.
Providing web services to mobile users: The architecture design of an m-service portal Minder Chen - Dongsong Zhang - Lina Zhou Presented by: Juan M. Cubillos.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
XML and Distributed Applications By Quddus Chong Presentation for CS551 – Fall 2001.
AMSA TO 4 Advanced Technology for Sensor Clouds 09 May 2012 Anabas Inc. Indiana University.
Fermilab Scientific Computing Division Fermi National Accelerator Laboratory, Batavia, Illinois, USA. Off-the-Shelf Hardware and Software DAQ Performance.
A Semi-Automated Digital Preservation System based on Semantic Web Services Jane Hunter Sharmin Choudhury DSTC PTY LTD, Brisbane, Australia Slides by Ananta.
E-Business Infrastructure PRESENTED BY IKA NOVITA DEWI, MCS.
CHAPTER 3 Architectures for Distributed Systems
PHP / MySQL Introduction
Agents for the Masses {thompson, Description Results
Lecture 1: Multi-tier Architecture Overview
Presentation transcript:

p. 1 - © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Craig W. Thompson August 9, 2000 p. 1 - DARPA CoABS Boston Workshop © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Agility Craig Thompson, Steve Ford, Tom Bannon, Paul Pazandak, David Wells Object Services and Consulting, Inc. (OBJS) Main Idea - agents for the masses - scaling and pervasiveness Approach - piggyback agent capabilities on already pervasive technologies eGents - agents send messages over WebTrader/DeepSearch - trader discovers ads for resources via search engines AgentGram - menu-based natural language interface wrappers for resources Smart Data Channels - information supply chain grids on the web Grid - implications for the grid This presentation:

p. 2 - © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Craig W. Thompson August 9, 2000 p. 2 - DARPA CoABS Boston Workshop © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Thesis: Integration of agent technology with pervasive Web-ORB- backplanes is a route to making agent technology open, pervasive and robust. eGents are agents which communicate over . eGents use FIPA or KQML Agent Communication Language (ACL) encoded in XML. No ACL parser needed. Status: Prototype, NEO demo, gridified, on wireless Palm. In progress: packaging and various extensions Problem Impact Approach Dynamic military situations are often disconnected and asynchronous. Need a scalable way to deliver agent messages to 1000’s of platforms. Agent systems are often closed and require a lot of specialized agent technology. Anyone with can create an agent service that anyone else can use. eGents leverages pervasive, robust infrastructure, inherits support for disconnected operations, message queueing, mobile users, firewalls, filtering, logging, and security. eGents spec submitted to FIPA standards group. eGents: Agents over Steve Ford In one eGents application, each NEO evacuee has a Personal Status Monitor, which measures location, vital signs, etc. The PSM contains an eGent which intermittently communicates to subscribing entities using protocols. Liaison Command Post Family Member Medevac Neo Evacuees eGents Inside

p. 3 - © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Craig W. Thompson August 9, 2000 p. 3 - DARPA CoABS Boston Workshop © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Problem. Most agent systems monolithic and standalone and work in small, closed worlds. The idea of the agent grid is to construct a large-scale, open and potentially global agent infrastructure. How can we rapidly scale agent technology to become pervasive? Motivation. The eGent prototype was motivated by the CoABS objective to quickly tie distributed software components together. An example problem was to set up interactions in a virtual office or command post and automate routine office tasks like schedule meetings, set up videoconferences, collect timesheets, etc. A second technical motivation was to determine how to make agent technology pervasive, which it is not today. Objective. The core idea behind the eGents prototype is to send agent messages over . is pervasive and already provides many functions an agent system would otherwise have to develop - message queuing, encryption, filtering, firewall traversal, support for mobile users. Approach. The eGent prototype is a lightweight agent platform. eGents supports the metaphor of “messages as documents.” We built a wrapper language that allows easy wrapping of Java components that can communicate using agent communication language (ACL). The ACL is encoded in XML so no special ACL parser is needed. is used as the transport. Each eGent platform has an address. Egents are addressed by eGent-platform/egent-name. eGents’ pervasiveness claim is that anyone on the Web can create a service that anyone else can use. We perceive agent computations as starting off as “human-in-the-loop” and being progressively automated, which eGents encourages since either humans or other eGents can send or receive eGents messages. Recent Progress: (a) We ported eGents to the wireless Palm using Sun's newly released Java for devices, KVM, a troublesome port because of KVM's bleeding-edge nature, lack of tools, and because most Java code will not run under KVM, including most of Sun's Java class libraries, and all of the third party code on which eGents depended. The result runs, but is slow. The main benefit is it should port easily to other devices (set top boxes, smart phones). (b) We built the eGentGridAgent proxy which extends the grid by demonstrating interoperability of GridAgents with agents that are less "connected". We could have just made a proxy for the PSM demo, but spent a little more time coming up with a generic proxy. We didn't want the eGents platform or an individual eGent to know anything about the Grid, or vice versa. The only component of the system that knows anything about both is the eGentGridAgent, which is just an eGent to eGents and is just a GridAgent to the Grid. We wanted to keep the protocol situation simple. We didn't want an eGent to have to know LAN protocols, like Jini or HTTP or RMI or anything that made the eGent less mobile, disconnected, and asynchronous. So, an eGent can be "on the Grid" without knowing anything about the Grid. Another alternative for integrating egents and the grid would be to extend the grid to provide multiple native communication protocols. Demonstrations. The initial eGents demonstration was a mundane back office application technical report subscription service. For the Science Fair, we developed an eGents demo for a NEO-like scenario. We assume that NEO evacuees have Personal Status Monitors (PSMs) that monitor location, medical status, threats, etc. These PSMs contain eGent platforms and periodically exchange status updates with subscribers, e.g., command posts, medevac units, state department monitors. Plans. (a) clean up, package and release the code. (b) speed up eGents on the Palm under KVM, if possible, else port to C++. (c) integration with WebTrader, AgentGram. (d) augment ACL coverage. (e) demonstrate no-effort download-and-install to make eGents easy to distribute. (f) determine how to leverage services (e.g., security) and make eGents’ policies like security easier for the user to understand and trust (HCI issues). (g) Use eGents to study grid control schemes, for instance, how application eGents can be monitored and controlled by system eGents in the face of threats to the grid (e.g., how to implement and assure a policy to not send eGent mail while in a threat area). Technology Transition. We developed an application demonstration involving NEO evacuee status monitoring for the Science Fair, since ported to the PalmOS. The encoding of FIPA ACL in XML and the JavaMail/MAPI API are candidates for standards, and so we submitted these to the FIPA-99 Call for Proposals. System Requirements. (a) eGents runs on any Java platform - tested on NT/95. Needs: Sun's Java JDK 1.2.2, 6MB of free disk space, an (SMTP/POP3) account for each machine on which the eGents platform will run, IBM's XML parser libraries (xml4j.jar), IBM's POP3 Bean libraries (pop3.protocol.jar, pop3.ui.jar, pop3.decoder.jar), Sun's JavaMail1.0 libraries (mail.jar, mbox.jar), Sun's JavaBeans Activation Framework (activation.jar). (b) (b) Egents also runs on KVM (J2ME CLDC 1.0 FCS) on the Palm Vx, the PalmOS Emulator 3.0a5, or under Windows. Wireless communications from the Palm is currently via the Novatel Minstrel V wireless modem, Omnisky's wireless Internet access, and AT&T's CDPD digital cellular network. (c) optional: CoABS Grid v beta

p. 4 - © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Craig W. Thompson August 9, 2000 p. 4 - DARPA CoABS Boston Workshop © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. eGents platform on the Palm uses J2ME CLDC 1.0 FCS (KVM), that is, Java for devices runs on a "wireless" palm over the CDPD digital cellular network

p. 5 - © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Craig W. Thompson August 9, 2000 p. 5 - DARPA CoABS Boston Workshop © Copyright 2000 Object Services and Consulting, Inc. All rights reserved.

p. 6 - © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Craig W. Thompson August 9, 2000 p. 6 - DARPA CoABS Boston Workshop © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Machine 1 installed on evacuee eGents interoperating with each other and with an eGent-grid proxy PSM server eGent eGents platform* other eGents Machine 2 perhaps installed at command post eGent grid agent proxy eGents platform** other eGents Machine 3 perhaps installed at medevac unit PSM client eGent eGents platform other eGents Grid PSM client grid agent Server subscribe inform subscribe inform subscribe inform subscribe All eGents can share one server or they can each have their own or anything in between * KVM-based ** Java-based Might be on machine 2 or anywhere on LAN or on grid-connected LAN

p. 7 - © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Craig W. Thompson August 9, 2000 p. 7 - DARPA CoABS Boston Workshop © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. eGent DEMO Purpose eGentGridAgent proxy is used to connect (wireless) eGents in the field to grid-accessible agents on a LAN Demo scenario PSMs on troops updated with latest status information (geographic, health, threat, …) other parties (PSM clients like command post or medevac) subscribe and receive inform messages in response to changes Displays PSM Server is displayed in one Java window DOS windows show activity of the eGentGridAgent proxy and Grid's log agent PSM Grid Client is displayed in another Java window Netscape Messenger shows the log of eGent messages Demo step-through shows registering the PSM Server eGent with the eGentGridAgent proxy which then registers it with the Grid switching to the PSM Client agent, which subscribes to the PSM Server by sending a lookup message to the Grid Registry, which finds the proxy, which the client thinks is the PSM Server, and then sends a subscribe grid message to the proxy, which passes it along to the PSM Server then PSM Server sends back an inform message containing the subscribed values (and sends updates later if any values change) the messages thread their way back through the system to eventually be displayed on the client. If you modify a value on the server, you can watch the update propagated back to the client You can view the eGent message log with Netscape Messenger.

p. 8 - © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Craig W. Thompson August 9, 2000 p. 8 - DARPA CoABS Boston Workshop © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Problem Impact Approach If grid applications are to be assembled when needed, the parts must be found somewhere and probably not all will come from the local environment. How can we find building block resources (e.g., agents, services, channels, components, data sources) when we need them? Today, traders (matchmakers) are used for this purpose but these traders generally know only about closed worlds of resources of limited types (e.g., IDL). Anyone on the Web can advertise a resource (e.g., agent, service, data source) that anyone else can discover. Advertised resources can be located at runtime to dynamically extend the knowledge and/or capabilities of the client, as well as enable intelligent on-the-fly assembly and reconfiguration of distributed systems. WebTrader is a matchmaking service that locates XML-based advertisements for resources embedded in web pages indexed by industrial-strength search engines. WebTrader supports type-specific matcher algorithms, trader federation, and can access multiple search engines. WebTrader: Agent Discovery Tom Bannon

p. 9 - © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Craig W. Thompson August 9, 2000 p. 9 - DARPA CoABS Boston Workshop © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Problem. Most agent systems contain some sort of trader (matchmaker or yellow pages) that they use to locate agents by description. This provides late binding of agents to some service provider but does not scale outside of the closed agent system. Also, the trader itself is usually an integral part of agent system implementations and not available separately. Objective. Build a scalable robust trader component architected for the global grid. Approach. WebTrader is a scalable trader that locates advertisements (represented in XML) stored on web pages that have been indexed by search engines. Query results allow clients to connect to the most suitable service. Advertisement types include agents, components, data sources, search engines, MBNLI grammars, other traders, channels, and other types. WebTrader leverages industrial strength Web search engines so it is scalable, lightweight, portable, and robust. WebTrader is extensible -- recent changes to WebTrader support adding specialized matchers for ads of specific types. DeepSearch is an application of WebTrader that recursively searches other search engines and traders (using a federation design pattern). This makes specialized Web pages (not indexed by many search engines) accessible to DeepSearch. Also keeps a search history. Demonstrations. WebTrader is used in the Science Fair NEO application to locate data sources for the location of evacuees and to find a geocoder component. In the demo, ISI Ariadne uses SRI OAA to request WebTraderAgent to find these resources. WebTraderAgent consults the Grid to find a WebTrader service and then uses it to discover candidate resources which are returned to Ariadne via OAA. Other demonstrations show trader federation, service rebinding, and WebTrader used to locate agents that use natural language wrappers. The DeepSearch demonstration shows WebTrader locating ads for search engines on the web and recursively searching them, opening up parts of the web that are usually beyond the reach of general purpose crawlers. WebTraderQueryTool is a recent hybrid of WebTrader and DeepSearch that does add matching and better supports application composition. Plans. We are currently hardening WebTrader and making the design more open. We need to grow WebTrader ad populations. To do this, we will make it easier to create WebTrader ads manually using a GUI. Also, we want to try to harvest ads from the web to automate the process of ad synthesis. This is a web-size ontology question. We are also making matching ad type open so specialized search and ranking algorithms can be plugged in. Technology Transition. We are hardening WebTrader and DeepSearch getting ready for a public experiment. We led effort of OMG Agent WG to review an Agent Resource Description and Discovery Service. We reviewed Agent UML. System Requirements: WebTrader Agent & WebTrader Grid Service require: MS Win NT 4.0 (pure Java programs), Apache (latest) web server, Webinator 2.5 search engine (from Sun JDK 1.2.2, Sun XML TR-2 XML parser, GNU Make 3.75, tcsh. DeepSearch requires all of the above plus Netscape or IE, ActiveState Perl 5. Need connection to Internet (licensing quirk of local search engine used).

p © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Craig W. Thompson August 9, 2000 p DARPA CoABS Boston Workshop © Copyright 2000 Object Services and Consulting, Inc. All rights reserved.

p © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Craig W. Thompson August 9, 2000 p DARPA CoABS Boston Workshop © Copyright 2000 Object Services and Consulting, Inc. All rights reserved.

p © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Craig W. Thompson August 9, 2000 p DARPA CoABS Boston Workshop © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Web Search Engine(s) Web Trader Engine Matching Query (Client Advertisement) Indexed by Locates and returns candidate pages Trading advertisements may be distributed across some part of the Web WebTrader WebTrader matches and returns candidate advertisements WebTrader Architecture Web Page Trader Advertisement 2 1 Response

p © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Craig W. Thompson August 9, 2000 p DARPA CoABS Boston Workshop © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. WebTrader Demo: Discovery, Rebinding, Federation

p © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Craig W. Thompson August 9, 2000 p DARPA CoABS Boston Workshop © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. WebTrader Demonstration This demonstration of the WebTrader illustrates service binding and rebinding trader federation In the demo, trading ads exist for a variety of components (e.g., service agents, clients, and WebTraders). Metadata including color and cost is included in the ads. A Blue client, for example, asks the USA WebTrader to locate a Blue agent implementing a particular interface and with zero cost, if possible. One is found and bound, and the client makes use of the agent. When the agent unexpectedly dies, the WebTrader is consulted again by the client, in case the “state of the world” has changed. It gets back a new list of agents, sorts them by cost, and goes down the list trying each agent until it finds one that works. If the WebTrader fails to respond, the client can fall back on its cached list of previously found agents. When the Yellow client asks the USA WebTrader for Yellow agents, the WebTrader’s initial search turns up none, as it only consults a domain that indexes ads of Red, White, or Blue agents. However, it does find an ad for a WebTrader that knows about Yellow agents, and so passes on the original client query to the Euro WebTrader, which finds a Yellow agent, passes it back to the USA WebTrader, which passes it back to the client, which then uses it to connect to the agent. At the right in the figure is shown a service advertisement in XML.

p © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Craig W. Thompson August 9, 2000 p DARPA CoABS Boston Workshop © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. WebTrader Application: DeepSearch

p © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Craig W. Thompson August 9, 2000 p DARPA CoABS Boston Workshop © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. WebTrader Application: DeepSearch DeepSearch is an application of the WebTrader. In this case, the advertisements of interest are service ads for search engines. Many web search engines only index top-level pages leaving the other half of the web unindexed except by these local search engines. So DeepSearch recursively (via federation) locates these local search engines and spawns deeper searches of these. You start out with the main search page (shown on the right). You select your favorite initial search engines (any or all - e.g., this part just shows metasearching in parallel) and enter a search term like you do for any search engine and hit return. Then the side window pops up with the search results, and as you click on the links, the corresponding pages come up in the main browser window. Local search engines found during searching show up among the links - you can expand them to get the results of their searches, just like you can expand a directory in the Windows File Explorer.

p © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Craig W. Thompson August 9, 2000 p DARPA CoABS Boston Workshop © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Problem Impact Approach Dynamic military situations will require people to task and query agents using complex commands. Unconstrained natural language is still not tractable in many situations. Humans can task and query agents using complex but understandable commands in constrained natural language. This technology can mix pervasively into all applications, both on the desktop and the Web. Thesis: Natural language-enhanced user-to-agent communication will simplify basic human-agent interactions while making it possible for humans to formulate complex agent requests. Approach: Agents communicate with people and other agents using restricted languages for stating complex queries and commands How: AgentGram extends agents with natural language middleware wrappers, dynamically loads grammars, and uses menu-based natural language to query and task agents. Works over the web with many users, can auto-generate NLI interfaces to DBMS, works with speech, and is on the CoABS grid. Natural Language I/F for Agents Paul Pazandak

p © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Craig W. Thompson August 9, 2000 p DARPA CoABS Boston Workshop © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Problem. Agent-based command and control systems offer real promise in flexibility and adaptability but it is not yet clear how they can be understood and controlled. It would be desirable if we could just talk to systems of agents - but how? About Menu-based Natural Language Interfaces (MBNLI). Try typing or speaking to a system that has a conventional type-in or speech natural language interface (NLI). Most of your questions and commands will not be understood because they overshoot the capabilities of the NLI system or the underlying application it interfaces to. In addition, you won’t really know about some things you could ask (map or statistical queries?) so your questions and commands will also undershoot the capabilities of the NLI system. Menu-based Natural Language Interface (MBNLI) technology uses standard NLI technology but in a menu-directed completion-based way to restrict the language and guide the user to just the capabilities of the NLI and underlying system. The technology fills a large unfilled niche in user interface design enabling unskilled users to make complex queries and commands. Objective. The AgentGram project addresses human-to-agent communication via agents that understand constrained MBNLI languages. Humans can task and query one or more agents using complex but understandable commands. This technology can mix pervasively into all applications, both on the desktop and the Web, providing NLI capabilities to not just agents but also information sources, services, and generally any accessible resource. Approach. Like other NL technology, MBNLI technology uses attribute grammars and a predictive parser. The difference is in using the grammars to predict legal sentence completions and displaying these using menus. MBNLI, using a client-server parser farm architecture, supports (a) web-based access, (b) multiple users, (c) multiple simultaenous grammars, (d) speech control via Java Speech Markup Language, (e) the ability to generate MBNLI interfaces to DBMS system given the DBMS schema, (f) a partitioning of MBNLI into client and stateless server so a very thin client can be downloaded (with no installation) only requiring Javascript, (g) LL descriptors on the web, discoverable by traders, and (h) techniques for composing MBNLI grammars and interfaces. The AgentGram prototype explores the idea of attaching NL wrappers to agents to make it possible for people to query or task them. Sub-grammars of individual agents can be traversed on-the-fly to construct commands or queries which span several agents. The web prototype shows how to make MBNLI technology pervasive on the web. Demonstrations. In the NEO TIE, the MBNLI component is agentized as an SRI OAA user interface agent (part of the SRI Multi-Modal Map) that translates natural language queries to SQL to be executed by an information access agent (ISI Ariadne). In OBJS demos shown at the Science Fair, MBNLI was used to query the DBMS of Enviro Conference attendees and also to visualize the XML-based grid log. The AgentGram demo finds MBNLI-enabled agents using WebTrader and shows how the sub-grammars of one or more agents can be traversed to produce commands and queries. Our CoABSGrid demo illustrates one example of how our MBNLIGridAgent can be used to integrate MBNLI technology into the grid. In the demo the user is able to interact with the MBNLI web browser interface while the MBNLIGridAgent is able to provide current status regarding the interaction. Plans. In the near term, we need to (a) port to IE, (b) re-engineer client-server MBNLI so one parser server can service (now 10-20, in the future simultaneous) MBNLI clients, (c) build grammar translations to FIPA-based Agent Communication Language, (d) interface AgentGram to eGents and Smart Data Channels. Longer term, (e) we want to interface AgentGram to agents and data sources in-the-wild (on the open Web and in DoD) and (f) add support for roles, dialog and context models. Technology Transition. A MBNLI agent was used in the Science Fair NEO application coupled to SRI OAA and ISI Ariadne. We are starting to look for early adopter DoD and commercialization partners for this technology: USMTF and Intelink databases appear to be good DoD targets. System Requirements. MBNLI web client requires Netscape browser; server requires WinNT, MySQL, ODBC, a cgi/php-capable web server.

p © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Craig W. Thompson August 9, 2000 p DARPA CoABS Boston Workshop © Copyright 2000 Object Services and Consulting, Inc. All rights reserved.

p © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Craig W. Thompson August 9, 2000 p DARPA CoABS Boston Workshop © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. 1. Register/deregister MBNLIGridAgentTester on the grid. 2. Lookup available MBNLIGridAgents - two are found (interfaces to NEO DAVCO dbms and to grid log). 3. Select one and get a session ID/URL. 4. Launch a (netscape) browser to interact with remote MBNLI (LLWeb) parser farm. At this point, you can get the current state of the LLWeb interaction, whatever it is (state, translation of the state, or the url for the results [if you evaluate the url (in a browser) you will execute the query & the results will be returned.

p © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Craig W. Thompson August 9, 2000 p DARPA CoABS Boston Workshop © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. User CoABS Grid MBNLI GridAgent MBNLI GridAgent GridLog DB Enviro Conf DB MBNLI Agent Tester spawns MBNLI Web Interface MBNLI Parser System Netscape GridLogEnviroConf DB Parser StateMgr Store client state Agents retrieve state User- Parser Interaction MBNLI Grid Agent Demo Design

p © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Craig W. Thompson August 9, 2000 p DARPA CoABS Boston Workshop © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Vast sea of information Many formats supported Distributed and decentralized  failure tolerant Independence of source format & rendering Active and passive data (e.g., CGI scripts) Problem Approach WWW = Opportunity... Getting the right information, at the right time, in the right format. Smart Data Channels: Standards-based dynamic optimizable Web-based information supply chain where portals are declaratively personalized by type, content, format, data quality, cost, user needs, data source capabilities, and timing specs. Smart Data Channels David Wells Impact Channels automatically deliver information to the point of need. … + Limitations Insufficient tools to represent, filter, aggregate, & index Can’t tell when information change is significant No user or location-specific parameterization Platform & bandwidth limitations not handled QoS not handled

p © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Craig W. Thompson August 9, 2000 p DARPA CoABS Boston Workshop © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Problem. The World Wide Web has greatly increased the amount of information available on-line, but obtaining the right information at the right time in the right format is still beyond the state of the art, since there is no higher-level Web-wide information model and existing Web tools do not adequately address the problems of filtering, aggregating and disseminating this information. Information must either be accepted "as is" or converted and delivered by manual means or a complex programming process requiring specialized skills. “Portal” or “channel” technology is intended to provide customized information delivery, but current technology has limited modeling and manipulation power, its centralized architecture does not make best use of network computing capabilities, the resultant channels are not resilient to denial of service attacks or component or network failure, and since channel composition is not exposed, collections of channels cannot be optimized to reduce processing and bandwidth costs. Objective. Develop smart data channels (SDC) technology to allow the flexible and efficient creation of information channels through which information flows through the Web from data sources to information consumers. Approach. SDC uses and augments existing Web technology and standards to reach the largest market at the least development cost and risk. In particular, SDC is based on XML and XSLT, with the current implementation being in the Java programming language. Details. In SDC, desired channel content is specified declaratively rather than procedurally. This allows the type of information flowing over the channel to be externally visible, which in turn makes it possible to define new channels in terms of existing channels, to use type matching to determine potential information sources for channels, to switch to alternate sources when primary sources become unavailable, and (ultimately) to optimize collections of channels to reduce processing and/or bandwidth costs. SDC operators move information and allow channels to be combined and tailored to individual needs. Flow control on a channel allows specification of update policies for the delivered pages (i.e., the conditions under which changed page content is delivered). Profiles allow customization of output and delivery based on the type of the display hardware. Channels can be automatically parameterized based on user characteristics such as location (e.g., deliver maps for where I am right now). Demonstrations. SDC was initially demonstrated to the Space and Missile Defense Command under a Ballistic Missile Defense Command SBIR Phase I. A substantially improved XML-Java version was demonstrated to the DARPA CoAbs Program as part of the OBJS Agility project. Grid. Developed mostly under SBIR, SDC is not currently tied to the CoABS grid. At present, it represents a different sort of grid/infrastructure implementation, also capable of interoperability with agents, the CoABS grid, or DAML. Plans. (a) Improvements: performance and reliability, design and implement better interfaces for channel creation and subscription. (b) Define a more robust SDC algebra for specifying channels. (c) Integrate SDC with Traders to allow channels to be located and matched more effectively. (d) Develop optimization strategies to conserve system resources. (e) Upgrade from XML to DAML. Technology Transition. SDC will be used as a test application for the DARPA DASADA program, possibly also as an architecture description configuration representation. NIMA has shown interest for routing map products through processing stations to DoD customers. We are also seeking commercial support for further development. System Requirements. SDC makes use of Web standards such as browsers, Traders, Java and JavaScript, XML, XSL, and OBJS XML-to-Java parser, CGI scripts, servlets, and browser plug-ins.

p © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Craig W. Thompson August 9, 2000 p DARPA CoABS Boston Workshop © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Rescue Channel

p © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Craig W. Thompson August 9, 2000 p DARPA CoABS Boston Workshop © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. SDC Channel Management Interface

p © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Craig W. Thompson August 9, 2000 p DARPA CoABS Boston Workshop © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Merged PSM Channel

p © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Craig W. Thompson August 9, 2000 p DARPA CoABS Boston Workshop © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Example SDC Channel Mesh PSM5 PSM15 PSM31 PSM85 Raw sources Make Channel P5 P15 P31 P85 PSM.DTD Merge Channels SDC_PSM.DTD Project Channels SDC_PSM.DTD X/Y Merge Map Server MapServer.DTD Merge Channels SDC_PSM.DTD {provides overlay base} {provides overlay layers, two layers/PSM} Rescue Make Channel MapServer SDC_MapServer.DTD

p © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Craig W. Thompson August 9, 2000 p DARPA CoABS Boston Workshop © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Implications for the Grid What we demonstrated - grid was useful in various ways registration/discovery - WebTrader and AgentGram grid agents interoperability - eGents-grid proxy Grid extensions each component can be viewed as a generic scalable grid extension egents adds wireless disconnected agents WebTrader adds web-wide agent/resource discovery AgentGram adds general way to MBNLI-enable grid agents using a lightweight interface that operates across the web. Smart Data Channels adds information flow formalism at the same time, each is standalone and useful separately Grid implications several ways to conceptualize the grid - see our earlier paper at to appear in Bradshaw, Handbook of Agent Technology there might be no minimal agent grid - different subsets of the agent grid are separately useful

p © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Craig W. Thompson August 9, 2000 p DARPA CoABS Boston Workshop © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Meeting #11 - Burlingame, CA, September 11-12, 2000 Meeting #12 - Orlando, FL, December 11-15, 2000 CoABS/DAML SPEAKERS NEEDED OMG Agent Working Group

p © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Craig W. Thompson August 9, 2000 p DARPA CoABS Boston Workshop © Copyright 2000 Object Services and Consulting, Inc. All rights reserved. Agility Project Homepage - Agility Overview Prototypes eGent: Agents over WebTrader: Discovery and Programmed Access to Web-Based Services MBNLI sample screens Architecture Characterizing the Agent Grid System-wide Grid Properties Strawman Agent Architecture OMG Agent WG Homepage - includes OMG Agent Technology Green Paper, RFI responses, liaison w FIPA, and minutes References