An information agent is an agent that has access to at least one, and potentially many information sources, and is able to collate and manipulate information obtained from these sources in order to answer queries posed by users and other information agents (the network of interoperating information sources are often referred to as intelligent and cooperative information systems [Papazoglou et al., 1992]). The information sources may be of many types, including, for example, traditional databases as well as other information agents. Finding a solution to a query might involve an agent accessing information sources over a network. A typical scenario is that of a user who has heard about somebody at Stanford who has proposed something called agent-oriented programming. The agent is asked to investigate, and, after a careful search of various FTP sites, returns with an appropriate technical report, as well as the name and contact details of the researcher involved. A number of studies have been made of information agents, including a theoretical study of how agents are able to incorporate information from different sources [Gruber, 1991][Levy et al., 1994], as well a prototype system called IRA (information retrieval agent) that is able to search for loosely specificed articles from a range of document repositories [Voorhees, 1994]. Another important system in this area is called Carnot [Huhns et al., 1992], which allows pre-existing and heterogenous database systems to work together to answer queries that are outside the scope of any of the individual databases.