17286e2d71fe20a9176331cb897d3ada.ppt
- Количество слайдов: 57
Agility: Agents for the Masses Craig Thompson, Steve Ford, Tom Bannon, Paul Pazandak Object Services and Consulting, Inc. This presentation: http: //www. objs. com/agility/ Object Services and Consulting, Inc. Dr. Craig Thompson thompson@objs. com www. objs. com/agility 972 -612 -6998 July 2001 1 © Copyright 2000 Object Services and Consulting, Inc. All rights
Quad Chart Agility: Agents for the Masses Field Agent on Palm transmits damage reports via Email and Co. ABS Grid to J 2/Intel over the wireless and wired Internet. Impact • Piggyback open agent components on standard widely deployed infrastructure for pervasive agent deployment • Use email as agent transport supporting disconnected operations (e. Gents) • Use web pages to store semantic grammars (Agent. Gram) • Use search engines as yellow pages to locate agent services (Web. Trader) See notes below • Anyone with email can create an agent service that anyone else can use. • Humans can query agents across the web using constrained natural language • Anyone on the Web can advertise a resource (e. g. , agent, service, data source) that anyone else can discover. … agents for the masses New Ideas Schedule Grid, download Wireless MIATA, e. Gents, Web. Trader, Co. AX, Email grid Agent. Gram e. Gents, NEO TIE JBI TIEs transport FY 99 FY 00 FY 01 FY 02 Object Services and Consulting, Inc. (OBJS) - Craig Thompson Project homepage: http: //www. objs. com/agility/index. html
Agent Grid Architecture Problem • What exactly is an agent grid? How does it help us build and configure agile C 4 I applications? How does it make agent systems interoperable and agent services available? Is there one grid or many? Is the grid a kind of agent system? How does the grid enable sharing and assure system-wide properties? Is the grid globally scalable, decentralized, and reliable? How do we build a grid? Approach • Thesis: an architectural approach helps identify and answer these questions. • Paper: “Characterizing the Agent Grid”, Handbook of Agent Systems (forthcoming) - identifies the questions above and begins to answer several of them. Impact • A global agent grid overlaid on the Internet makes it possible to rapidly build scalable, survivable, robust, agile agent-based C 4 I applications. Agent Grid - System Concept View A A A A A Component Service A A A Server A A A Component Service A A A Server Data Service Agents + the Global Grid
Problem. Stovepipe C 4 I systems cannot adaptively grow and shrink to match changes in mission size from small regional problems to large theaterwide conflicts. They do not evolve well when technology improves or situations change. There is no theory that guarantees they will adapt to changes in situation or survive infrastructure threats. Vision. Agent technology provides a collection of mechanisms for making more flexible next generation C 4 ISR super applications. Thesis. A construct we are calling the Agent Grid will be useful and necessary to explain how heterogeneous agent-based applications can interoperate, how agent systems can share services and data sources, and how system-wide properties can be assured. Requirements. People and applications connect to the grid to get access to information and applications, including to construct new ones dynamically for new situations. These solutions are intended to scale and evolve gracefully. The grid is part registry, part resource manager, and it supplies basic agent services that allow agent systems and agent/object/legacy systems to interoperate. That said, much Co. ABS (and Agility) research is aimed at characterizing the grid idea better to pin down design choices and their implications to how a grid might really do what is expected of it. Objective. Develop an open scalable agent-grid architecture (coherent framework of interoperating mechanisms) that can become pervasive and make it easier to develop more agile next generation C 4 ISR systems Approach. Deconstruct agent systems into component parts, then develop scalable, standalone, separately useful components. Implementation strategy is to piggyback implementations on pervasive technology (web, email, search engines, …) to create a migration path. Progress • Paper. Our paper “Characterizing the Agent Grid” in Bradshaw’s Handbook of Agent Technology considers the grid from three perspectives: as a set of standards and protocols, as a system construct, and as a first-class model entity. The paper identifies many architectural issues about the agent grid and provides a framework for answering several agent grid questions. The paper is online at http: //www. objs. com/agility/techreports/990623 -characterizing-the-agent-grid. html. • Prototypes. One of the observations in our grid architectural work is that it cannot be a closed system like most agent systems are if it is to be global. Furthermore, it must become pervasive. This has driven our engineering and prototyping efforts, e. Gents, Web. Trader, and Agent. Gram, described elsewhere in this presentation. The idea of each prototype is to provide some standalone agent grid component capability that piggybacks on already existing and pervasive technology like e-mail, the web, or distributed objects. All three components connect to the GITI Co. ABS grid. Technology Transition. In addition to publishing the paper above, our work on the agent grid is summarized in the Co. ABS Grid Vision document (ISX/GITI) and the Object Management Group’s Agent Technology Green Paper. In addition, we are co-organizers of OMG Agent Special Interest Group (http: //www. objs. com/agent/index. html), putting us in a good position to transfer Co. ABS results to industry. Also see our Agility project homepage at http: //www. objs. com/agility/index. html.
Implications for the Grid In what we demonstrated, the grid was useful in various ways • registration/discovery – Web. Trader and Agent. Gram grid agents • interoperability – e. Gents-grid proxy • flexibility – augment grid with e. Gents-based transport layer Grid extensions • each component can be viewed as a generic scalable grid extension • e. Gents adds wireless disconnected agents, also adds an email-based asynchronous transport layer • Agent. Gram adds general way to MBNLI-enable grid agents using a lightweight interface that operates across the web. • Web. Trader adds web-wide agent/resource discovery • Smart Data Channels adds information flow formalism • at the same time, each is standalone and useful separately – open component-based agent architecture Grid implications • several ways to conceptualize the grid - see our paper at www. objs. com to appear in Bradshaw’s Handbook of Agent Technology • there might be no minimal agent grid - different subsets of the agent grid are separately useful
e. Gents Agents communicating via Email Problem Impact • Dynamic military situations are often disconnected and asynchronous. Need a scalable way to deliver agent messages to 1000’s of (wireless) platforms. • Agent systems are often closed and require a lot of specialized agent technology. Email is a common denominator in coalition situations. • Anyone with email can create an agent service that anyone else can use. New e. Gent apps can be downloaded to the field as situations change. • Imagine e. Gents attached to sensors, actuators, people, equipment, and locations as pervasive observers & actors Theme: Everything • Thesis: Integration of agent technology with pervasive is alive e. Gents Web-ORB-Email backplanes is a route to making agent Inside technology open, pervasive and robust. Command Post • e. Gents are agents which communicate over email. Evacuees/ Troops/ e. Gents leverages pervasive, robust email infrastructure, Medevac Wildlife/ Liaison Etc. inherits support for disconnected operations, message queuing, mobile users, firewalls, filtering, logging, and security. e. Gents use FIPA or KQML Agent Family Member Communication Language (ACL) encoded in XML - no In these e. Gents applications, each evacuees/troops/animals have a Personal Status Monitor, which measures location, vital signs, etc. ACL parser needed. Status: Prototype, gridified via The PSM contains an e. Gent which intermittently communicates to proxy and as comm. layer, on wireless Palm. NEO, subscribing entities using email protocols. MIATA, Co. AX, JBI TIEs. Spec submitted to FIPA. In progress: as grid comm. layer, packaging, extensions. Approach Steve Ford ford@objs. com www. objs. com/agility 610 -345 -0290 January 31, 2001 6 © Copyright 2000 Object Services and Consulting, Inc. All rights reserved.
Problem. Most agent systems rely on unique and extensive infrastructures that must be widely available if the systems are to be widely used. This is an obstacle to the widespread adoption of agent technology. Objective. e. Gents demonstrates that agent technology can scale to global proportions by leveraging an existing infrastructure, rather than propagating a new one. Approach. e. Gents is, basically, agents communicating over email. Email is pervasive and robust and already provides many functions an agent system needs message queuing, encryption, filtering, firewall traversal, support for mobile users. The e. Gent platform is a multi-threaded Java app with access to an email account on an SMTP/POP 3 server. Individual e. Gents are identified by their name and the email address of the platform, and are managed as threads in the e. Gent platform's process. Messages are in a subset of FIPA ACL (subscribe & inform), encoded in XML, and sent as the body of an email message. Recent Progress: (a) We ported e. Gents to a 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 e. Gents depended. The result runs, but is slow. The main benefit is that it should port easily to other devices (set top boxes, smart phones). (b) We built the e. Gent. Grid. Agent proxy which extends the grid by demonstrating interoperability of Grid. Agents 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 e. Gents platform or an individual e. Gent to know anything about the Grid, or vice versa. The only component of the system that knows anything about both is the e. Gent. Grid. Agent, which is just an e. Gent to e. Gents and just a Grid. Agent to the Grid. We wanted to keep the protocol situation simple. We didn't want an e. Gent to have to know LAN protocols, like Jini or HTTP or RMI or anything that made the e. Gent less mobile, disconnected, and asynchronous. So, an e. Gent can be "on the Grid" without knowing anything about the Grid. (c) We installed the Java version of e. Gents on the 7 x 24 Grid including a documentation/installation page. (d) We explored another alternative for integrating e. Gents and the grid as a LAN-to-LAN bridge by extending the grid to provide multiple native communication protocols, e. g. , not just RMI but also e. Gents. (e) We extended e. Gents’ Subscribe performative with temporal constraints and added Suspend, Resume and Cancel performatives. (f) We inserted e. Gents into the MIATA, Co. AX and JBI TIEs. Demonstrations. (a) The initial e. Gents demonstration was a technical report subscription service. (b) For the Science Fair, we developed an e. Gents demo for a NEOlike scenario. We assume that NEO evacuees have Personal Status Monitors (PSMs) that monitor location, medical status, threats, etc. These PSMs contain e. Gent platforms and periodically exchange status updates with subscribers, e. g. , command posts, medevac units, state department monitors. (c) For the MIATA disaster recovery TIE, we implemented Field e. Gents sending Damage Reports to J 2/INTEL via email and the Grid. (d) For the Co. AX coalition forces TIE, we show a biosurveillance demo where elephants in Safari Park in the Binni fire zone are in possible danger which requires replanning Co. AX operations. (e) For the JBI small unit operations TIE, we connected e. Gents to the Rome Y-JBI Outlook email agents project in a scenario that shows a commander receiving a mole report about enemies shadowing US troops, then drills down, subscribes to the platoons and watches the action unfold. JBI fuselets identify platoons in trouble, one from conventional attack, the other from chemical attack. Plans. (a) update to latest grid release and prepare a public release of the Java version, (b) speed up e. Gents on the Palm under KVM if possible, else port to C++, (c) prepare a public release of Palm version, (d) demonstrate email-based e. Gent installation, (e) integrate Java security and make e. Gents’ security policy easier for the user to understand trust, (f) demonstrate e. Gents that cross firewall boundaries. Technology Transition. (a) We participated in the TIEs mentioned above. (b) The encoding of FIPA ACL in XML and the Java. Mail/MAPI are candidates for standards, so we submitted these to the FIPA-99 Call for Proposals. System Requirements. (a) e. Gents should run on any Java platform, but has only been tested on Windows NT 4. 0 SP 3. It requires Sun's Java JDK 1. 2. 2, 5 MB of free disk space, and an email (SMTP/POP 3) account for each machine on which the e. Gents platform will run. (b) e. Gents also runs on KVM (J 2 ME CLDC 1. 0 FCS) on the Palm Vx, the Palm. OS Emulator 3. 0 a 5, or under Windows NT. 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) The e. Gent. Grid. Agent has been tested with Co. ABS Grid v 1. 5. 0 beta.
OBJS e. Gents: Agents over Email orders & subscriptions observations & recommendations I see a tank! Theme: Everything is alive Any threats? Need fuel!
e. Gents interoperating with each other and with an e. Gent-grid proxy Might be on machine 2 or anywhere on LAN or on grid-connected LAN other e. Gents inform PSM server e. Gent PSM client grid agent subscribe Machine 1 installed on soldier, evacuee, vehicle, weapon Grid Machine 2 perhaps installed at command post e. Gent grid agent proxy e. Gents platform** Machine 3 perhaps installed at medevac unit PSM client e. Gent other e. Gents platform* scr ibe * Java-based ** KVM-based - runs on Palm uses J 2 ME CLDC 1. 0 FCS (KVM), that is, Java for devices runs on a "wireless" palm over the CDPD digital cellular network inform su b rm subscribe info other e. Gents platform m or inf ibe r sc b Email Server su All e. Gents can share one Email server or they can each have their own or anything in between
e. Gent DEMO Purpose • e. Gent. Grid. Agent proxy is used to connect (wireless) e. Gents 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 e. Gent. Grid. Agent proxy and Grid's log agent • PSM Grid Client is displayed in another Java window • Netscape Messenger shows the log of e. Gent messages Demo step-through shows • registering the PSM Server e. Gent with the e. Gent. Grid. Agent 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 e. Gent message log with Netscape Messenger.
e. Gents Demo Scenario In one demo, each evacuee is given a Personal Status Monitor containing an e. Gent. An evacuee’s PSM measures location, vital signs, etc. and intermittently sends this information to subscribers like command post, state dept liaison, families, medical staff, etc. VIP Command Post Medevac Family Member Liaison • Integration of agent technology with pervasive Web-ORB-Email back planes is a route to making agent technology pervasive. • Prototype • developed platform for management of local e. Gents, email, communications, and e. Gentification of conventional apps. • developed XML encoding for FIPA & KQML ACL so ACL performative is XML document. No ACL parser needed. • e. Gents leverages the vast and pervasive email infrastructure, which provides support for asynchronous and disconnected operations, message queuing, firewall permeability, filtering, logging, and security. • e. Gent spec submitted to FIPA in response to FIPA-99 CFP. • e. Gents also operates on a Palm and over the grid and as alternate grid transport • Plans • Package e. Gents for wider use. • Improve human-e. Gent interaction esp. wrt security.
Agent. Gram Natural Language I/F for Agents Problem • Dynamic military situations will require people to task and query agents using complex commands. • Unconstrained natural language is still not tractable in many situations. Approach Impact • 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: Agent. Gram 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 Co. ABS grid. Dr. Craig Thompson thompson@objs. com www. objs. com/agility 972 -612 -6998 January 31, 2001 13 © Copyright 2000 Object Services and
Problem. Agent-based command 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 Agent. Gram 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. Progress. MBNLI, using a client-server parser farm architecture, supports (a) web-based access, (b) multiple users, (c) multiple simultaneous grammars, (d) speech control via Java Speech Markup Language, (e) the ability to generate MBNLI interfaces to DBMS system given the DBMS schema (and to extract a schema from a DBMS, then generate the MBNLI interface), (f) a partitioning of MBNLI into client and stateless server so a very thin client can be downloaded (with no installation) only requiring Java. Script (alternatively, there’s an Java applets version), (g) interface descriptors on the “semantic” web, discoverable by traders or the grid, (h) techniques for composing MBNLI grammars and interfaces, (i) ported to IE, (j) patent application. The Agent. Gram 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. (a) In the NEO TIE, the MBNLI component was 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). (b) 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 Boston Agent. Gram demo finds MBNLI-enabled agents using Web. Trader and shows how the sub-grammars of one or more agents can be traversed to produce commands and queries. (c) Our Co. ABS Grid demo illustrates one example of how our MBNLIGrid. Agent 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 MBNLIGrid. Agent is able to provide current status regarding the interaction. (d) The Co. AX TIE demo shows MBNLI used to extract data on elephants from a bio-surveillance data source at Safari Park in the Binni fire zone area. Plans. In the near term, we need to (a) demonstrate web-resident interface descriptors (b) interface Agent. Gram to agents and data sources in-the-wild (on the open Web and in Do. D). . Technology Transition. A MBNLI agent was used in the Science Fair NEO application coupled to SRI OAA and ISI Ariadne, and modified for use with the Co. AX TIE. Commercialization. System Requirements. MBNLI web client requires Netscape browser; server requires Win. NT, ODBC (Access, My. SQL, Oracle), a cgi/php-capable web server.
MBNLI So elephants were here at beginning of the month. Where are they now?
1. 2. 3. 4. Register/deregister MBNLIGrid. Agent. Tester on the grid. Lookup available MBNLIGrid. Agents - two are found (interfaces to NEO DAVCO DBMS and to grid log). Select one and get a session ID/URL. 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.
MBNLI Grid Agent Demo Design Parser State. Mgr Agents retrieve state Grid. Log MBNLI Grid. Agent Store client state Enviro. Conf DB MBNLI Grid. Agent Grid. Log DB MBNLI Parser System Enviro Conf DB User. Parser Interaction Co. ABS Grid MBNLI Agent Tester User spawns MBNLI Web Interface Netscape
Web. Trader Scalable Agent Discovery Problem • 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). Approach • Web. Trader is a matchmaking service that locates XML-based advertisements for resources embedded in web pages indexed by industrial-strength search engines. • Web. Trader supports type-specific matcher algorithms, trader federation, and can access multiple search engines. Dr. Craig Thompson thompson@objs. com www. objs. com/agility 972 -612 -6998 January 31, 2001 Impact • 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. Services / Datasources Agent World White Pages Geo. Coder Agent Grid 7 Ariadne (ISI) 2 Open Agent Architecture (SRI) 6 1 Web World 3 Web. Trader Agent page 5 4 18 AD AD page AD AD Search Engine page AD page Web. Trader was used in the NEO TIE to locate evacuees and to find a geocoder. page AD page AD © Copyright 2000 Object Services and
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. Web. Trader 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. Web. Trader leverages industrial strength Web search engines so it is scalable, lightweight, portable, and robust. Web. Trader is extensible -- recent changes to Web. Trader support adding specialized matchers for ads of specific types. Deep. Search is an application of Web. Trader 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 Deep. Search. Also keeps a search history. Demonstrations. (a) Web. Trader was 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 Web. Trader. Agent to find these resources. Web. Trader. Agent consults the Grid to find a Web. Trader service and then uses it to discover candidate resources which are returned to Ariadne via OAA. (b) Other demonstrations show trader federation, service rebinding, and Web. Trader used to locate agents that use natural language wrappers. (c) The Deep. Search demonstration shows Web. Trader 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. (d) Web. Trader. Query. Tool is a recent hybrid of Web. Trader and Deep. Search that adds matching and better supports application composition. Patent application. Plans. Web. Trader is on hold as we are putting additional resources on e. Gents. Things that need doing: (a) harden Web. Trader and make the design more open; (b) grow Web. Trader ad populations by making it easier to create Web. Trader ads manually using a GUI; (c) try to harvest ads from the web to automate the process of ad synthesis (a web-size ontology question); (d) make matching ad type open so specialized search and ranking algorithms can be plugged in. Technology Transition. We led an effort of OMG Agent WG to review an Agent Resource Description and Discovery Service. We reviewed Agent UML. We are hardening Web. Trader and Deep. Search getting ready for a public experiment and possible commercialization. System Requirements: Web. Trader Agent & Web. Trader Grid Service require: MS Win NT 4. 0 (pure Java programs), Apache (latest) web server, Webinator 2. 5 search engine (from www. thunderstone. com) , Sun JDK 1. 2. 2, Sun XML TR-2 XML parser, GNU Make 3. 75, tcsh. Deep. Search requires all of the above plus Netscape or IE, Active. State Perl 5. Need connection to Internet (licensing quirk of local search engine used).
Web. Trader Demo: Discovery, Rebinding, Federation
Web. Trader Demonstration This demonstration of the Web. Trader illustrates • service binding and rebinding • trader federation In the demo, trading ads exist for a variety of components (e. g. , service agents, clients, and Web. Traders). Metadata including color and cost is included in the ads. A Blue client, for example, asks the USA Web. Trader 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 Web. Trader 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 Web. Trader fails to respond, the client can fall back on its cached list of previously found agents. When the Yellow client asks the USA Web. Trader for Yellow agents, the Web. Trader’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 Web. Trader that knows about Yellow agents, and so passes on the original client query to the Euro Web. Trader, which finds a Yellow agent, passes it back to the USA Web. Trader, 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.
Web. Trader Application: Deep. Search
Web. Trader Application: Deep. Search is an application of the Web. Trader. 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 Deep. Search 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.
Web. Trader Architecture 4 Query (Client Advertisement) Response 14 5 Web. Trader 6 13 Web Trader Engine 12 10 Matching 11 7 Web. Trader matches and returns candidate advertisements 9 8 Web Search Engine(s) Indexed by 1 3 Web Page Trader Advertisement 2 Locates and returns candidate pages Trading advertisements may be distributed across some part of the Web
Smart Data Channels Problem • Getting the right information, at the right time, in the right format. WWW = Opportunity. . . Approach • 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. • 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) … + 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 • Qo. S not handled Dr. Craig Thompson thompson@objs. com www. objs. com/agility 972 -612 -6998 January 31, 2001 Impact • Channels automatically deliver information to the point of need. 27 © Copyright 2000 Object Services and
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 Co. Abs Program as part of the OBJS Agility project. Grid. Developed mostly under SBIR, SDC is not currently tied to the Co. ABS grid. At present, it represents a different sort of grid/infrastructure implementation, also capable of interoperability with agents, the Co. ABS grid, or DAML. Plans. SDC is on hold as we are putting additional resources on e. Gents. (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 Do. D customers. We are also seeking commercial support for further development. System Requirements. SDC makes use of Web standards such as browsers, Traders, Java and Java. Script, XML, XSL, and OBJS XML-to-Java parser, CGI scripts, servlets, and browser plug-ins.
Example SDC Channel Mesh Raw sources PSM 5 PSM 15 PSM 31 PSM 85 Map Server PSM. DTD Make Channel P 5 Make Channel Project Channels P 15 Make Channel Map. Server. DTD X/Y SDC_PSM. DTD Merge Channels P 31 Merge SDC_PSM. DTD P 85 {provides overlay layers, two layers/PSM} Make Channel Map. Server SDC_Map. Server. DTD {provides overlay base} Merge Channels Rescue
SDC Channel Management Interface
Merged PSM Channel
Rescue Channel
Next Steps Agility Proposed Next Steps • Extend e. Gents for automated deployment to new platforms, download e. Gent apps to the field as situations change, and improve e. Gents security - currently e. Gents requires manual installation limiting fast fanout of new e. Gent applications. • Extend Agent. Gram to demonstrate grammars on web pages in the spirit of the semantic web. • Extend Co. ABS grid to support survivable multi-transport messaging leverages our ongoing Cougaar Ultralog survivable, policy-driven messaging work, which got its start with e. Gents! • Extend Agility components to support FY 02 Co. AX, JBI and other TIEs. Update to latest grid release. Package e. Gents for public release. Rendezvous selected components with DAML.
OMG Agent SIG http: //www. objs. com/agent/index. html • Meeting #13 - Irvine, CA, February 26 -27, 2001 Co. ABS/DAML SPEAKERS NEEDED
Some References • Agility Project Homepage - http: //www. objs. com/agility • Agility Overview http: //www. objs. com/agility/tech-reports/0107 -Co. ABS-Agility-Nashua/ 2001 -07 -24 -Co. ABS-OBJS-Agility-project. ppt (Office 2000) • Prototypes • e. Gent: Agents over E-mail http: //www. objs. com/agility/tech-reports/9911 -e. Gents. html • Web. Trader: Discovery and Programmed Access to Web-Based Services http: //www. objs. com/agility/tech-reports/9904 -Web. Trader. WWW 8 Poster. html • MBNLI sample screens http: //www. objs. com/agility/tech-reports/0101 -CBNLI. doc • Architecture • Characterizing the Agent Grid http: //www. objs. com/agility/tech-reports/000304 -characterizing-the-agent-grid. doc • System-wide Grid Properties http: //www. objs. com/aits/9901 -iquos. html • Strawman Agent Architecture http: //www. objs. com/agility/tech-reports/9808 -agent-ref-arch-draft 3. ppt • OMG Agent WG Homepage - http: //www. objs. com/agent/index. html - co-chair: Thompson includes OMG Agent Technology Green Paper, RFI responses, liaison w FIPA, and minutes
Applications
MIATA TIE Disaster Recovery Steve Ford (OBJS) http: //openmap. bbn. com/~burstein/miata/
OBJS e. Gent Field Agent on wireless Palm Field Agent on Palm transmits Damage Reports via Email and Co. ABS Grid to J 2/Intel over the wireless and wired Internet. COTS Email Server e. Gent Grid Proxy (TRAC) J 2/INTEL • e. Gents are agents which communicate over email. • e. Gents leverages pervasive, robust email infrastructure, inherits support for asynchronous and disconnected operations, message queueing, mobile users, firewalls, filtering, logging, and security. • e. Gent messages are FIPA Agent Communication Language (ACL) encoded in XML. • e. Gents runs on Desktop and Palm over wired or cellular networks. Steve Ford ford@objs. com www. objs. com/agility 610 -345 -0290 January, 2001 © Copyright 2001 Object Services and Consulting, Inc. All rights reserved.
e. Gents interoperating with each other and with an e. Gent-grid proxy Might be on machine 2 or anywhere on LAN or on grid-connected LAN PSM client grid agent other e. Gents inform PSM server e. Gent subscribe Machine 1 installed on evacuee Grid Machine 2 perhaps installed at command post e. Gent grid agent proxy e. Gents platform** Machine 3 perhaps installed at medevac unit PSM client e. Gent other e. Gents platform* scr ibe * Java-based ** KVM-based - runs on Palm uses J 2 ME CLDC 1. 0 FCS (KVM), that is, Java for devices runs on a "wireless" palm over the CDPD digital cellular network inform su b rm subscribe info Email Server other e. Gents platform m or inf ibe cr s ub s All e. Gents can share one Email server or they can each have their own or anything in between
Co. AX TIE Safari Park Vignette Craig W. Thompson (OBJS) http: //www. aiai. ed. ac. uk/project/coax/
DARPA Coalition Agents e. Xperiment - Co. AX DARPA Co. ABS, AFRL, DERA, Edinburgh/AIAI, Boeing, Dartmouth, LM-ATL, MIT, OBJS, UMichigan, USC/ISI, UWF/IHMC With support from BBN, GITI, ISX, MITRE, Schafer and Stanford Univ. Agent Frameworks Concept KAo. S Agents (Boeing, IHMC) Agents on the Grid AODB Agent (LM ATL) Observer Agents (Dartmouth) e. Gents E-mail Agents (OBJS) Malicious Agents (IHMC, Boeing) Web Weather Agent (USC/ISI) … Military Systems CAMPS (AFRL, GITI, BBN) MBP (DERA) … • • • NOMADS Mobile Agents (IHMC) EMAA/CAST Agents (LM ATL) D’Agents (Dartmouth) e. Gents (OBJS) DARPA Co. ABS Grid (GITI, ISX) Agent Grid Services Task and Process Management (AIAI) Process Domain Management Services (Boeing, IHMC) Asynchronous Wireless Connectivity (OBJS) Plan Deconfliction (Michigan) Exception Handling (MIT) Accomplishments and Impact Demonstrated proof-of-concept C 2 coalition architecture within a realistic coalition scenario Connected disparate stand-alone military systems while taking coalition concerns into account Agent organization, behavior, security and resources managed by explicit coalition policy control Potential influence on Joint Battle Infosphere, Joint Battlespace Digitisation, CINC 21, and Coalition Theatre Logistics perspectives Interest from additional nations in participating • Objective s Show that an Agent-based C 2 framework can support agile and robust Coalition operations • Show Domain Management services can structure agent relationships and enforce coalition policies • Show Intelligent Task and Process Management can improve agent collaboration • Show that the Co. ABS Grid can be used to rapidly integrate a wide variety of agents and systems Expected Results Oct 2000 • Information gathering for MBP • 25 agents in 5 distinct domains • Binni coalition storyboard July 2001 • • Planning and execution phases 45 agents in 7 overlapping domains Initial packaging of grid services Realistic Binni Storyboard July 2002 • • Dynamic event-driven workflow Dynamic coalition formation Dynamic coalition scenario High-level re-usable tools
Co. AX TIE – Laki Safari Park Vignette This vignette (part of the Co. ABS Co. AX demo scenario) shows off: • OBJS e. Gents – agents communicating via email • OBJS Agent. Gram – querying open data sources using menu based natural language interfaces In the Co. AX demo scenario we are focusing on execution - so an opponent is now involved, things are going to change and we can expect the unexpected. Activities now focus on: execution; execution monitoring; dynamic plan review, maintenance and update (time-scale hours); combat assessment and battle damage assessment; information operations, media ops and support activities (logistics, medical personnel admin etc). The bottom line here is lots of complexity, intense dynamics, and small tactical events can have strategic effects, so. . . Information Agents Save Endangered Elephants at Safari Park (CNN) • To keep warring factions apart, U. N. coalition forces have planned a firestorm in part of Binni near Laki Safari Park. The media gets a 'leak' that the mission is near the Park. The firestorm is potentially compromised and a go / no-go decision has to made at the highest level as by now the aircraft will be about to take off and time on target is only 40 minutes away. . • The JTFC is ordered to monitor the Park. JTFC discovers that the elephants in the Park were fitted with tags in 2009 as part of a World Foundation for the Protection of Wildlife (WFPW) program to monitor the effect on the elephants of the climate/agricultural changes in the area. The tags report information on the elephants (position, pulse, etc) using e. Gents (part of the Everything is Alive pervasive computing grid). • JTFC wants to find out more about the elephants and how far they roam. It uses Agent. Gram to query the WFPW database of information collected by the tags over the last three years and finds that the elephants tend to move west in September. • JTFC then connects directly to e. Gents and finds that the elephants are moving NW out of the firestorm area. • Some re-planning is required but the firestorm can proceed.
Theme: Everythin g is alive Elephant herd migrations over the last 40 months Are the Safari Park elephants in danger? • e. Gents monitor and transmit positions of the two elephant herds • menu-based natural language queries determine the elephants are migrating out of the firestorm area Current position of herd 17. 0 N/ 34. 4 E - 2012/09/01 14: 20 Safari Park OBJS role in Co. AX TIE Dr. Craig Thompson thompson@objs. com www. objs. com/agility 972 -612 -6998 July, 2001
MBNLI So elephants were here at beginning of the month. Where are they now?
e. Gents subscribe inform
JBI TIE Small Unit Operations Maj. Robert E. Marmelstein (USAF AFRL IFS) Dr. Craig W. Thompson (OBJS)
Small Unit Operations TIE Scenario/Demo • Headquarters in Bosnia gets mole report of enemy shadowing US platoons. • Rome Y-JBI Outlook agent system received email alerts from info sources it is monitoring. • Commander zooms map to the affected area and subscribes to platoonlevel status reports. • OBJS e. Gents representing platoons receive these subscriptions by (wireless) email. • Feeds from troops are aggregated in platoon level reports which are sent to subscribers, including the commander. • Platoon level e. Gents aggregate troop level reports and begin to send back platoon level reports to subscribers, including the commander. • Map changes to show changing platoon locations. • As the scenario plays, fuselets notice two platoons are under attack, one via conventional weapons, the other via chemical attack. • As simulation plays, map changes to show platoons in trouble. This is discovered by YJBI fuselets that look for specific patterns in the communication. In this case, one soldier is killed another wounded in one platoon and another suffers a chemical attack.
Small Unit Operations TIE Key Ideas • Both Rome Y-JBI and OBJS e. Gents agent systems use email as message transport. Both encode ACL using XML. Systems can interoperate. • The demo shows off the Joint Battlefield Infosphere notion of a distributed, decentralized grid of nodes that implement a publish-andsubscribe graph. A node receives inputs from multiple sources, aggregates and analyzes the inputs, then replies to subscribers. • New additions • Interoperable email messaging • Time constrained subscribe messages • “from t 1 to t 2, report every N minutes if changes occur”). • Impact • JBI “grid” architecture complementary to Co. ABS grid • Potential for wide dissemination – everyone has email
2 1 4 3 5 6
Agent Conversation REQUEST SUBSCRIBE SUSPEND CANCEL RESUME ACK INFORM Y-JBI sends, e. Gents receives – e. Gents sends, Y_JBI receives
NEO TIE Non-combatant Evacuation Orders
NEO TIE Issues in Runtime Reactivity Responding to the Unexpected: Autonomy and Intelligence Required Multiple Agents, Multiple Interactions OBJS prototypes Example Hypotheses • Agents can monitor broad classes of information sources and dynamically identify relevant events • Humans can be kept in-the-loop by tailoring interface’s abstraction level to avoid information overload Experimental Methodology • Use live, externally controlled Internet sources to evaluate event coverage • Incrementally expand complexity of interaction to test scalability of messaging and agent response times. • Evaluate interface with human subjects to determine effect on cognitive load.
• NEO TIE Interactions - OBJS prototypes Web. Trader and MBNLI (Agent. Gram) were used in TIE#2 Query 1 and 2 • Query 1 – Human to MMM: speech - “Find all the Enviro Conference attendees and their locations”. – MMM to MBNLI: text string -- “Find all the Enviro Conference attendees and their locations”. – MBNLI to MMM: SQL Query – MMM to Ariadne: SQL Query – Ariadne to Web. Trader. Agent: requests trading (client) advertisement for Geocoder – Web. Trader. Agent to Grid: locate grid’s Web. Trader – Web. Trader to Ariadne: result of ad matching process (including Geocoder URL) – Ariadne to MMM: tuples (name, address, phone, lat, long) – MMM places addresses on map • Query 2 – Human to MMM: speech - “Find all of DAVOCO’s American employees and their locations”. – MMM to MBNLI: text string -- “Human to MMM: speech - “Find all of DAVOCO’s American employees and their locations”. – MBNLI to MMM: SQL Query – MMM to Ariadne: SQL query – Ariadne to Web. Trader: trading (client) advertisement for Kuwait white pages – Web. Trader to Ariadne: result of ad matching process (including white pages URL) – Ariadne to MMM: tuples (name, address, phone, lat, long) – MMM places addresses on map


