<<

From: AAAI Technical Report SS-94-03. Compilation copyright © 1994, AAAI (www.aaai.org). All rights reserved.

An Architecture for Retrieval Agents* Craig A. Knoblock and Yigal Arens Information Sciences Institute University of Southern California 4676 Admiralty Way Marina del Rey, CA 90292, USA {KNOBLOCK,ARENS}QISI.ED Abstract sources that are available to it. Given an informa- tion request, an agent identifies an appropriate set of With the vast number of information resources information sources, generates a plan to retrieve and available today, a critical problem is howto lo- process the data, uses knowledge about the data to re- cate, retrieve and process information. It would formulate the plan, and then executes it. This paper be impractical to build a single unified system that describes our approach to the issues of representation, combines all of these information resources. A communication, problem solving, and learning, and de- more promising approach is to build specialized scribes how this approach supports multiple, collabo- agents that provide access rating information retrieval agents. to a subset of the information resources and can send requests to other information retrieval agents Representing the Knowledge of an when needed. In this paper we present an archi- tecture for building such agents that addresses the Agent issues of representation, communication, problem Each information agent is specialized to a particular solving, and learning. Wealso describe how this area of expertise. This provides a modular organiza- architecture supports agents that are modular, ex- tion of the vast numberof information sources and pro- tensible, flexible and efficient, vides a clear delineation of the types of queries each agent can handle. In complex domains, the domain can be broken down into meaningful subparts and an Introduction information agent can be built for each subpart. With the current explosion of data, retrieving and in- An agent contains a model of its domain of expertise, tegrating information from various sources is a critical which provides the terminology for interacting with problem. We are addressing this problem by building agents, as well as models of all information sources information retrieval agents. This paper describes how that are available to that agent. Both the domain and these agents communicate with one another, model the information source models are expressed in the Loom information that is available from other agents, effi- knowledge representation language’ [MacGregor, 1988, ciently retrieve information from other agents, and im- MacGregor, 1990]. The domain model provides class prove their performance through experience, descriptions, subclass and superclass relationships, The architecture presented in this paper is based roles for each class, and other domain-specific infor- on the SIMS information server, which was previ- mation. The information source models describe both ously described in [Arens et al., 1993]. This paper the contents of the information sources and the rein- reviews the relevant details of SIMS, focusing on the tionship between those models and the domain model. aspects and features that support multiple collabora- tive agents. Each information agent is a separate SIMS Modeling the Domain server. Thus, each agent contains a detailed model of Each information agent is specialized to a single "ap- its domain of expertise and models of the information plication domain" and provides access to the available information sources within that domain. The largest *The research reported here was supported by Rome application domain that we have to date is a trans- Laboratory of the Air Force Systems Commandand the De- lense AdvancedResearch Projects Agencyunder contract portation planning domain, which involves information no. F30602-91-C-0081.Views and conclusions contained in about the movement of personnel and materiel from this report are the authors’ and should not be interpreted one location to another using aircraft, ships, trucks, as representing the official opinion or policy of DARPA,RL, etc. the U.S. Government, or any person or agency connected The application domain models are defined using with them. a hierarchical terminological knowledge base (Loom)

49 po _

vehlc~

channel_depth

Figure 1: Fragment of the Domain Model

/ J / / / I / floating_cranes

shorecranes

geo.port_nm ~/’~ o~ .P

geo.glc_cd |/ ~L ~ geo,floating_cranes gee.$hol~_crenes

~. indicates a mappingrelation

Figure 2: Relating an Information Source Model to a DomainModel with nodes representing each class of objects, and re- contained in the information source, as well as the rela- lations on each node that define the relationships be- tionship between these objects and the objects in the tween the objects. For example, Figure 1 shows a frag- domain model. The mappings between the domain ment of the domain model in the transportation plan- model and the information source model are needed for ning domain. In this figure, the nodes represent classes, transforming a domain-level query into a set of queries the thick arrows represent subclass relationships, and to actual information sources. the thin arrows represent relations between classes. Figure 2 illustrates how an information source is The classes defined in the domain model do not nec- modeled in Loom and how it is related to the domain essarily correspond directly to the objects described in model. All of the concepts and relations in the in- any particular information source. The domain model formation source model are mapped to concepts and is intended to be a description of the application do- relations in the domain model. A mapping link be- main from the point of view of providing access to users tween two concepts indicates that they represent the or other information agents that need to obtain infor- same class of information. Thus, if the user requests mation about the particular application domain. How- all seaports, that information can be retrieved from the ever, the domain model is used as the language with GEOagent, which has information about seaports. which to define the contents of an information source to the agent. Communication Queries to a SIMSinformation agent are expressed in Modeling Information Sources Loom. These queries are composed of terms in a gen- The critical part of the information source models eral domain model, so there is no need to know or is the description of the contents of the information even be aware of the terms or language used in the un- sources. This consists of a description of the objects derlying information sources. Instead, the information

5O agent translates the domain-level query into a set of interface protocols for transmitting queries, returning queries to the underlying information sources. These the appropriate information, and building the appro- information sources may be other information agents, priate structures. This language can also be used to , knowledge bases, or other application pro- combine a system with an appropriate wrap- grams. per to form a limited type of information agent. This Figure 3 illustrates a query expressed in the Loom agent is limited in the sense that only it has access to language. This query requests all seaports and the its owninternal database. This approach has been suc- corresponding ships that can be accommodated within cessfully applied to building a set of restricted agents each port. The first argument to the retrieve expres- that can access relational databases using the Loom sion is the parameter list, which specifies which param- Interface Manager (LIM) [Pastor et al., 1992]. The eters of the query to return. The second argument is agents described in this paper use these LIM agents a description of the information to be retrieved. This for accessing the data in a set of relational databases. description is expressed as a conjunction of concept and relation expressions, where the concepts describe Planning to Access Information Sources the classes of information, and the relations describe the constraints on these classes. The first subclause of The core part of an information agent is the ability the query is an example of a concept expression and to intelligently retrieve and process data. Information specifies that the variable ?port describes a memberof sources are constantly changing; new information be- the class seaport. The second subclause is an exam- comes available, old information may be eliminated or ple of a relation expression and states that the relation temporarily unavailable, and so on. Thus, we need a port .name holds between the value of ?port and the system that dynamically generates plans for informa- variable ?port_name. This query describes a class of tion retrieval, and monitors and updates the plans as seaports and a class of ships, and requests all seaport they are executed. and ship pairs where the depth of the port exceeds the To process a domain-level query requires first select- draft of the ship. ing an appropriate set of information sources that can be used to answer a query and then generating an ap- (retrieve (?port_name ?depth ?ship_type ?draft) propriate query plan for processing the data. This sec- (and (seaport ?port) tion describes these two steps in turn. (port_name ?port ?port_name) (channel_of ?port ?channel) Selecting Information Sources (channel_depth ?channel ?depth) (ship ?ship) The first step in answering a query expressed in the (vehicle_type ?ship ?ship_type) terms of the domain model is to select the appropriate (max_draft ?ship ?draft) information sources. This is done by mapping from (> ?depth ?draft))) the concepts in the domain model to the concepts in the information source models. If the user requests information about ports and there is an information Figure 3: Example Loom Query source concept that contains ports, then the mapping is straightforward. However, in many cases there will not be a direct mapping. Instead, the original domain- model query must be reformulated in terms of concepts Given a query such as the one described above, an in- that correspond to the information sources. formation agent identifies the appropriate information Consider the fragment of the knowledge base shown sources and issues queries to these information sources in Figure 4, which covers the knowledge relevant to to obtain the requisite data for answering the query. the example query in Figure 3. The concepts Sea- The queries to the underlying information sources are port, Channel and Ship have subconcepts, shown by also expressed as Loomqueries. This simplifies the the shaded circles, that correspond to concepts whose overall system since it only needs to handle one un- instances can be retrieved directly from some infor- derlying language, although each information source mation agent or database. Thus, the GEOinforma- may have different processing capabilities. Since all tion source contains information about both seaports of the information agents use Loomas the query lan- and channels, and the PORTinformation source con- guage, queries can be sent to another information agent tains information about only seaports. Thus, if the without any translation. To handle existing informa- user asks for seaports, then the query must be trans- tion sources systems such as databases, a wrapper for lated into one of the information source concepts -- each type of system must be constructed, which takes GEO.Seaports or PORT.Ports. a Loom query as input and maps the query into the language of the underling information source. Reformulation Operations. In order to select the Communication between information agents is done information sources for answering a query, an agent ap- using the Knowledge Query Manipulation Language plies a set of reformulation operators to transform the (KQML)[Fininel al., 1992]. This language handles the domain-level concepts into concepts that can be re-

51 vehlc~,~/Vehic

po~_~~

@ Figure 4: Fragment of Domain Model trieved directly from an information source. The sys- This information is used to replace a requested con- tem has a number of truth-preserving reformulation cept with a set of concepts that cover it. operations that can be used for this task. The oper- ations include Select-Information-Source, Generalize- Decompose-Relation replaces a relation defined be- Concept, Specialize-Concept, Partition-Concept, and tween concepts in the domain model with equivalent Decompose-Relation. These operations are described terms that are available in the information source briefly below. models. For example, channel_of is a property of Select-Information-Source maps a domain-level the domain model, but it is not defined in any infor- concept directly to an information-source-level con- mation source. Instead, it can be replaced by joining cept. In manycases this will simply be a direct map- over a key that occurs in both seaport and channel, ping from a concept such as Seaport to a concept which is geoloc-code in this case. that corresponds to the seaports in another infor- mation source. There may be multiple information sources that contain the same information, in which The Reformulation Process. l~eformulation is case the domain-level concept can be reformulated performed by treating the reformulation operators as a into any one of the information source concepts. In set of transformation operators and then using a plan- general, the choice is made so as to minimize the ning system to search for a reformulation of the given overall cost of the retrieval. query description. The planner searches for a way to Generalize-Concept uses knowledge about the rela- map each of the concepts and relations into concepts tionship between a class and a superclass to reformu- and relations for which data is available. late a requested concept in terms of a more general For example, consider the query shown in Figure 3. concept. In order to preserve the semantics of the There are two concept expressions - one about ships original request, one or more additional constraints and the other about seaports. The first step is to may need to be added to the query in order to avoid translate the seaport expression into an information- retrieving extraneous data. source-level expression. Unfortunately, none of the Specialize-Concept replaces a concept with a more information sources contain information that defines specific concept by checking the constraints on the cha~mel_of. Thus, the system must first reformu- query to see if there is an appropriate specializa- late chamnel_ofusing the decompose operator. This tion of the requested concept that would satisfy the is done using the fact that channel_of is equivalent query. Identifying a specialization of a concept is to performing a join over the keys for the seaport and implemented by building a set of Loomexpressions channel concepts. The resulting reformulation is shown representing each concept and then using the Loom in Figure 5. classifier to find any specializations of the concept The next step is to reformulate the seaport concept expression. into a corresponding information source concept. The Partition-Concept uses knowledge about set cover- channel and ship concepts would then be similarly re- ings (a set of concepts that include all of the in- formulated. The final query, which is the result of re- stances of another concept) to specialize a concept. formulating all of these concepts, is shownin Figure 6.

52 (retrieve(Tport_name ?depth 7ship~ype?draft) (:and(seaport ?port) that are used for communicating with an agent and (port_name?port ?portmame) between agents. This simplifies input/output, since (geoloc_code?port ?geocode) there is no conversion between languages required at a (channel?channel) later time. (geoloc~ode?channel ?geocode) The job of the planner is to find a partially ordered (channel-depth?channel ?depth) sequence of operations that can be used to retrieve the (ship?ship) set of data specified in the given query. The plan- (vehicle~ype?ship ?ship~ype) ner is implemented in a version of UCPOP[Penberthy (max~raft?ship ?draft) and Weld, 1992, Barrett et al., 1993] that has been ex- (> ?depth?draft))) tended to generate parallel execution plans [Knoblock, 1994]. The system searches through the space of possi- Figure 5: Reformulated Query that Eliminates ble plans using a best-first search until a complete plan channel_of is found. The plan generated for the example query in (retrieve(?port_name ?depth ?ship~ype ?draft) Figure 6 is shownin Figure 7. (:and(seaports?port) Since the information retrieval agent must act au- (glc_cd?port ?glc_cd) tonomously in the real world, it builds a plan that is (port_nm?port ?port_name) tailored to the current world model. In order to handle (channels?channel) failures and unexpected results, we plan to tightly in- (glc_cd?channel ?glc_cd) tegrate the planner with an execution and monitoring (ch_depth~t?channel ?depth) component. This will enable the information agent to (notional~hip?ship) (max_draft?ship ?draft) react intelligently to problems in retrieving data. For example, other agents, networks, or databases may be (sht_nm?ship ?ship~ype) (< ?draft?depth)))) down, the system may get back more data than ex- pected, or it may not get back any of the data it ex- Figure 6: Reformulated Query that Refers Only to In- pected and it must retrieve it from somewhereelse. So formation Source Models while the system is executing an information retrieval plan, it will constantly monitor the status and consider alternative plans. If part of a plan fails, then the sys- Generating a Query Access Plan tem will immediately replan that part, or if another Once the system has generated a query in the terms plan appears to be more promising than the one cur- used in the information source models, the final step is rently executing, it will switch to the new plan. to generate a query plan for retrieving and processing the data. The query plan specifies the particular oper- Learning ations that need to be performed as well as the order An intelligent agent for information retrieval should be in which they are to be performed. able to improve its performance over time. To achieve There may be a significant difference in efficiency this goal, the information agents currently support two between different possible plans for a query. There- forms of learning. First, they have the capability to fore, the planner searches for subqueries that can be cache frequently retrieved or difficult to retrieve infor- implemented as efficiently as possible. To do this the mation. Second, for those cases where caching is not planner must take into account the cost of accessing appropriate, an agent can learn about the contents of the different information sources, the cost of retrieving the information sources in order to minimize the costs intermediate results, and the cost of combining these of retrieval. Since information retrieval agents serve as intermediate results to produce the final results. In information sources for other agents, both caching and addition, since the information sources are distributed learning can be applied to information agents as well over different machinesor even different sites, the plan- as data and knowledge bases. This section describes ner takes advantage of potential parallelism and gen- these two forms of learning. erate subqueries that can be issued concurrently. There are three basic operators that are used to plan Caching Retrieved Data out the processing of a query: Data that is required frequently or is very expensive ¯ Move-Data - Moves a set of data from one informa- to retrieve can be cached in the Loomknowledge base tion source to another information source. and retrieved directly from Loom. An elegant feature ¯ Join - Combines two sets of data into a combined of using Loom to model the domain is that caching set of data using the given join relations. the data fits nicely into this framework. The data is currently brought into Loomfor local processing, so ¯ Retrieve-Data - Specifies the data that is to be re- caching is simply a matter of retaining the data and trieved from a particular information source. recording what data has been retrieved. Each of these operators manipulates one or more sets To cache retrieved data into Loomrequires formu- of data, where the data is specified in the same terms lating a description of the data. This can be extracted

53 (and (notional_ship?ship) (max_draft?ship ?draft) [ (sht_nm?ship ?ship-tvpe))

¯ . ¯ . (and (seaports?port) (glc._cd?port ?glc._cd) (perf._rim?port ?port_name) (channels?channel) (gl¢._cd?channel ?temp3) (= ?temp3?glc..cd) (¢h_depth_ft?channel ?depth))

Figure 7: Parallel Query Access Plan from the initial query since queries are expressed in of the information sources [Hsu and Knoblock, 1993a]. Loomin the first place. The description defines a new They do this by building abstract descriptions of the subconcept and it is placed in the appropriate place in contents of an information source, these abstractions the concept hierarchy. The data then becomeinstances are then used to reformulate the query plans generated of this concept and can be accessed by retrieving all the by the system [Hsu and Knoblock, 1993b]. This allows instances of it. the information agent to optimize individual queries, Once the system has defined a new class and stored reduce intermediate data, and even eliminate the need the data under this class, the cached information be- to issue queries in somecases. comes a new information source. The reformulation operations, which mapa domain query into a set of in- Advantages of the Architecture formation source queries, will automatically consider this new information source. Since the system takes Nowthat we have described the basic architecture, this the retrieval costs into account in selecting the infor- section first reviews the critical features of this archi- mation sources, it will naturally gravitate towards us- tecture and then describes the advantages provided by ing cached information where appropriate. In those these features. cases where the cached data does not capture all of The critical features of this architecture that sup- the required information, it maystill be cheaper to re- ports multiple cooperating agents are: trieve everything from the remote site. However, in 1. A uniform query language that is used as the in- those cases where the cached information can be used terface for the user as well as the interface between to avoid an external query, the use of the stored in- agents. formation can provide significant efficiency gains. See [Arens and Knoblock, 1993] for a detailed description 2. Separate models for the domain and the contents of of the caching performed by the agents. the information sources. 3. A flexible planning system that selects an appropri- Learning about the Contents of ate set of information sources. Information Sources 4. Generation of parallel query access plans. The agent’s goal is to provide efficient access to a set 5. A learning system that constantly attempts to im- of information sources. Since accessing and process- prove the performance of an agent by caching fre- ing information can be very costly, the system strives quently used information and learning about the for the best performance that can be provided with contents of the information sources. the resources available. This means that when it is not processing queries, it gathers information to aid First, the uniform query language and separate mod- in future retrieval requests. The information agents els provide a modular architecture for multiple infor- improve performance by learning about the contents mation agents. An information agent for one domain

54 can serve as an information source to other informa- its performance on future queries. tion agents. This is can done seamlessly since the in- terface to every information source is exactly the same Related Work - it takes a Loomquery as input and returns the data A great deal of work has been done on building agents requested by the query. The separate domain mod- for various kinds of tasks. This work is quite diverse els provide a modular representation of the contents of and has focused on a variety of issues. First, there each of the information agents. The contents of each has been work on multi-agent planning and distributed agent is represented as a separate information source problem solving, which is described in [Georgeff, 1990]. and is mapped to the domain model of an agent. Each The body of this work deals with the issues of coordi- information agent can export someor all of its domain nation, synchronization, and control of multiple au- model, which can be incorporated into another infor- tonomous agents. Second, a large body of work has mation agent’s model. This exported model forms the focused on defining models of beliefs, intentions, capa- shared terminology between agents. bilities, needs, etc., of an agent. [Shoham, 1993] pro- Second, the separation of the domain and informa- vides a nice example of this work and a brief overview tion source models and the dynamic planning of in- of the related work on this topic. Third, there is more formation requests make the overall architecture easily closely related work on developing agents for informa- extensible. Adding a new information source simply tion gathering. requires building a model of the information source The problem of information gathering is also quite that describes the contents of the information source broad and the related work has focused on various as well as howit relates to the domainmodel. It is not issues. Kahn and Cerf [1988] proposed an architec- necessary to integrate the information with the other ture for a set of information-managementagents, called information source models. Similarly, changes to the Knowbots. The various agents are are specifically de- schemas of information sources require only changing signed and built to perform particular tasks. Etzioni et the model of the schemas. Since the selection of the in- al. [1992, 1993] have built agents for the Unix domain formation sources is performed dynamically, when an that can perform a variety of Unix tasks. This work information request is received, the agent will select the has focused extensively on reasoning and planning with most appropriate information source that is currently incomplete information, which arises in manyof these available. tasks. Levy el al. [1994] are also working on build- Third, the separate domain and information source ing agents for retrieving information from the Inter- models and the dynamic planning make the agents very net. The focus of this work has been on efficient query flexible. The agents can choose the appropriate in- processing with Horn rules. formation sources based on what they contain, how In contrast to muchof this previous work, the focus quickly they can answer a given query, and what re- of our workis on flexible and efficient retrieval of infor- sources are currently available. If a particular infor- mation from heterogeneous information sources. Since mation source or network goes down or if the data is most of these other systems have in-memory databases, available elsewhere, the system will retrieve the data they assume that the cost of a database retrieval is from sources that are currently available. An agent small or negligible. One of the critical problems when can take into consideration the rest of the processing dealing with large databases is how to issue the ap- of a query, so that the system can take advantage of propriate queries to efficiently access the desired infor- those cases where retrieving the data from one source is mation. We are focusing on the problems of how to much cheaper than another source because the remote organize, manipulate, and learn about large quantities system can do more of the processing. This flexibility of data. also makes it possible to cache and reuse information Research in databases has also focused on building without extra work or overhead. integrated or federated systems that combine infor- Fourth, the generation of parallel access plans, the mation sources [Reddy et al., 1989, Sheth and Lar- caching of retrieved data, and the ability to learn son, 1990]. The approach taken in these systems is to about information sources provide efficient access to first define a global schema, which integrates the infor- large amounts of distributed information. The plan- mation available in the different information sources. ner generates plans that minimize the overall execu- However,this approach is unlikely to scale to the large tion time by maximizing the parallelism in the plan number of evolving information sources (e.g., the In- to take advantage of the fact that autonomous infor- ternet) since building an integrated schema is labor in- mation sources can be accessed in parallel. The abil- tensive and difficult to maintain, modify, and extend. ity to cache retrieved data allows an agent to store frequently used or expensive-to-retrieve information in Conclusion order to provide the requested information more effi- This paper described the SIMSarchitecture for intelli- ciently. And the ability to learn about the contents gent information retrieval agents. As described above, of the information sources allows the agent to exploit this particular architecture has a number of important time when it would not otherwise be used to improve features: (1) modularity in terms of representing

55 information agent and information sources, (2) exten- [Hsu and Knoblock, 1993a] Chun-Nan Hsu and Craig sibility in terms of adding new information agents and A. Knoblock. Learning database abstractions for information sources, (3) flexibility in terms of selecting query reformulation. In Proceedings of the AAAI the most appropriate information sources to answer a Workshop on Knowledge Discovery in Databases, query, and (4) efficiency in terms of minimizing the 1993. overall execution time for a given query. [Hsu and Knoblock, 1993b] Chun-Nan Hsu and To date, we have built information agents that Craig A. Knoblock. Reformulating query plans for plan and learn in the transportation planning domain multidatabase systems. In Proceedings of the Second [Arens et al., 1993]. These agents contain a detailed International Conference of Information and Knowl- model of this domain and extract information from a edge Management, Washington, D.C., 1993. set of nine relational databases. The agents select ap- propriate information sources, generate parallel plans, [Kahn and Cerf, 1988] Robert E. Kahn and Vinton G. execute the queries in parallel, and learn about the Cerf. An open architecture for a sys- tem and a plan for its development. Technical report, information sources. Corporation for National Research Initiatives, March Future work will focus on extending the planning and learning capabilities described in this paper. An 1988. important issue that we have not yet addressed is how [Knoblock, 1994] Craig A. Knoblock. Generating par- to handle the various forms of incompleteness and in- allel execution plans with a partial-order planner. In- consistency that will inevitably arise from using au- formation Sciences Institute, University of Southern tonomous information sources. Our plan is to address California, 1994. these issues by exploiting available domain knowledge [Levy et al., 1994] Alon Y. Levy, Yehoshua Sagiv, and and employing more sophisticated planning and rea- Divesh Srivastava. Efficient information gathering soning capabilities to both detect and recover from agents. AT&TBell Laboratories, 1994. these problems. [MacGregor, 1988] R. MacGregor. A deductive pat- tern matcher. In Proceedings of AAAI-88, The Na- References tional Conference on , St. Paul, [Arens and Knoblock, 1993] Yigal Arens and Craig MN, 1988. Knoblock. On the problem of representing and [MacGregor, 1990] R. MacGregor. The evolving tech- caching retrieved data. Information Sciences Insti- nology of classification-based knowledge representa- tute, University of Southern California, 1994. tion systems. In John Sowa, editor, Principles of Se- [Arens et al., 1993] Yigal Areas, Chin Y. Chee, Chun- mantic Networks: Explorations in the Representation Nan Hsu, and Craig A. Knoblock. Retrieving and of Knowledge. Morgan Kaufmann, 1990. integrating data from multiple information sources. [Pastor et al., 1992] Jon A. Pastor, Donald P. McKay, International Journal on Intelligent and Cooperative and Timothy W. Finin. View-concepts: Knowledge- Information Systems, 2(2):127-158, 1993. based access to databases. In Proceedings of the [Barrett et al., 1993] Anthony Barrett, Keith Golden, First International Conference on Information and Scott Penberthy, and Daniel Weld. Ucpop user’s man- Knowledge Management, pages 84-91, Baltimore, ual (version 2.0). Technical Report 93-09-06, Depart- MD, 1992. ment of and Engineering, Univer- [Penberthy and Weld, 1992] J. Scott Penberthy and sity of Washington, 1993. Daniel S. Weld. Ucpop: A sound, complete, partial [Etzioni el al., 1992] Oren Etzioni, Steve Hanks, order planner for adl. In Proceedings of KR-92, pages Daniel Weld, Denise Draper, Neal Lesh, and Mike 189-197, 1992. Williamson. An approach to planning with incom- [Reddy et al., 1989] M.P. Reddy, B.E. Prasad, and plete information. In Proceedings of the Third Inter- P.G. Reddy. Query processing in heterogeneous dis- national Conference on Principles of Knowledge Rep- tributed database management systems. In Amar resentation and Reasoning, Cambridge, MA, 1992. Gupta, editor, Integration of Information Systems: [Etzioni et al., 1993] Oren Etzioni, Keith Golden, and Bridging Heterogeneous Databases, pages 264-277. Daniel Weld. Tractable reasoning about locally com- IEEE Press, NY, 1989. plete information. Department of Computer Science [Sheth and Larson, 1990] Amit P. Sheth and James A. and Engineering, University of Washington, 1993. Larson. Federated database systems for managing dis- [Finin et al., 1992] Tim Finin, Rich Fritzson, and Don tributed, heterogeneous, and autonomous databases. McKay. A language and protocol to support intelli- ACMComputing Surveys, 22(3):183-236, 1990. gent agent interoperability. In Proceedings of the CE [Shoham, 1993] Yoav Shoham. Agent-oriented pro- and CALS, Washington, D.C., June 1992. gramming.Artificial Intelligence, 60(1):51-92, 1993. [Georgeff, 1990] Michael P. Georgeff. Planning. In Readings in Planning. Morgan KaufmannPublishers, San Mateo, CA, 1990.

56