Balancing the Need for Knowledge and Nimbleness in Transportable Agents Position Paper for the Dartmouth Workshop on Transportable Agents David Eichmann Research Institute for Computing and Information Systems University of Houston - Clear Lake eichmann@ricis.cl.uh.edu Introduction The explosive growth of the World-Wide Web is virtually unprecedented in the history of software systems. From a relatively small community of high energy physicists at CERN, the Web has grown to be part of the social fabric of society, with Universal Resource Locators (URLs) on business cards and television commercials. This increasing popularity has also driven a significant demand for intelligent, Web-based access to information [1, 2]. Our recent work has in part focussed on the use of the Web as a user interface mechanism. This position paper relates some of our experience with developing and maintaining Web-based agents. The IWA/H Project The Intelligent Web Agents / Houston (IWA/H) project is investigating the development and use of agent technology in support of individuals seeking access to information in a chaotic environment - the Web. Our environment consists of a number of interdependent prototypes: * The MORE repository system [3, 5] is a meta-data based cataloging environment, providing separate hierarchies of meta-classes and collections and support for controlled access to proprietary collections through the definition of user groups. * The RBSE Spider [4] retains both the structure of the Web in a relational graph representation and a full text index of the HTML documents encountered. The spider selects candidates for retrieval and indexing using a set of cached heuristics. The architecture readily supports multiple discovery modes through respecification of the candidate retrieval query. * Sulla [6] is a user agent with the ability to acquire and act upon an interest profile of its user and the ability to act ethically [2]. * A number of commercial and government partners. We are currently integrating our prototypes through a shared knowledge representation scheme for agent interaction that allows for more sophisticated interactions between a user agent and the service agents to which it appeals for information. A preliminary approach to a representation scheme for such a protocol, based upon the Wordnet thesaurus [7], is currently being tested for Sulla. Our current development work extends the thesaurus approach with richer representations, based upon ontological modeling and residing in a knowledge representation server. The KR server is used by all agent instances as their means both for persistent storage and for sharing information with other instances. Knowledge vs. Nimbleness The principle design goals for our user and service agents are nimbleness and knowledge, respectively. A key aspect of our architecture is balancing the obviously competing demands of these two goals, driving us to such a separation of concerns. Our original approach to Sulla was as a monolithic, non-mobile daemon, to which the user could connect periodically to be apprised of progress. We have subsequently decomposed Sulla into interface, scheduling and search components, allowing the interface sub-agent to migrate onto the user's laptop as an applet (making the interface available even while traveling), while the scheduling and search components continue long duration activities. The local storage requirements for the interface sub-agent as applet are modest, primarily the caching of pending requests (accepted while incommunicado) and results (to be potentially viewed while incommunicado). The scheduling sub-agent's larger storage and computation requirements will remain on the user's desktop/server system, since reliable communication channels to the KR server are an absolute requirement here. Neither of these components then presents any significant architectural limitations with respect to transportability. The search sub-agent, however, is another matter. To move significantly beyond the simple keyword based search facilities presented by currently available Web indices, either large amounts of information need to be shipped back and forth between sub-agent and search engine (clearly something that will not be scalable to large user communities), or the search sub-agent must migrate to the search engine as a servlet. While servlets are not currently supported by Web search engines, such an approach allows the search sub-agent to directly interact with the index database, allowing the sub-agent to iteratively refine its query results, and transport only that data which is applicable to its search goals. However, a migrant search sub-agent presents challenges of its own, in particular in this case, the need to manipulate some fragment of the agent's (potentially large) knowledge base, without advance knowledge of just how much of that knowledge base is required to satisfy the search goals on a specific Web index. Seeking to attempt a balance between access to the knowledge base and the desirability of a nimble (read here small) migrant sub-agent, we've chosen to not transport any of the knowledge base with the sub-agent, but rather to leave this on the KR server and take advantage of the security limitations of Java (limiting a class to the ability to access only data off the server from which the class originated) to allow the migrant to 'call home' for KR support. References (All project references listed here are available at http://ricis.cl.uh.edu/eichmann/publications.html) [1] Eichmann, D., "Semantic Levels of Web Index Interaction," Web-wide Indexing and Semantic Header Workshop at Third International World-Wide Web Conference, Darmstadt, Germany, April 10, 1995. [2] Eichmann, D., "Ethical Web Agents," Computer Networks and ISDN Systems, v. 28, 1995, p. 127-136. [3] Eichmann, D., "The Repository Based Software Engineering Program," Fifth Systems Reengineering Technology Workshop, Monterey, CA, February 7-9, 1995. [4] Eichmann, D. "The RBSE Spider - Balancing Effective Search Against Web Load," First International Conference on the World Wide Web, Geneva, Switzerland, May 25-27, 1994, pages 113-120. [5] Eichmann, D., T. McGregor and D. Danley, "Integrating Structured Databases Into the Web: The MORE System," First International Conference on the World Wide Web, Geneva, Switzerland, May 25-27, 1994, pages 369-378. [6] Eichmann, D. and J. Wu, "Sulla - A User Agent for the Web" poster paper for the Fifth International WWW Conference, Paris, France, May 6-10, 1996, poster proceedings pp. 1-9. [7] Miller, G. A, R. Beckwith, C. Fellbaum, D. Gross and K. Miller, Introduction to Wordnet: An On-line Lexical Database, Dept. of Cognitive Science, Princeton University, August 1993. Available at ftp://clarity.princeton.edu/pub/wordnet/5papers.ps Acknowledgements This work has been supported by NASA Cooperative Agreements NCC-9-16 and NCC-9-30 (RICIS research activity RB02), the State of Texas, Texas Instruments, and LinCom, Inc.