Agents for Information Brokering Catholijn M. Jonker, Jan Treur Vrije Universiteit Amsterdam, Department of Mathematics and Computer Science, Artificial Intelligence Group De Boelelaan 1081a, 1081 HV Amsterdam, The Netherlands URL: http://www.cs.vu.nl, Email: {jonker,treur}@cs.vu.nl To support users on the World Wide Web, various types of agents can be, and actually have been, developed. For example, to support brokering processes in electronic commerce, personal assistant agents can be developed that support a user offering information at the Web, or agents that support search for information within a user’s scope of interest, or agents that combine both types of functionalities. Moreover, mediating agents can be developed that communicate both with personal assistant agents that provide information and with personal assistants that ask for information. Recently a few applications of broker agents have been addressed; for example, see (Chavez and Maes, 1996; Chavez, Dreilinger, Guttman and Maes, 1997; Kuokka and Harada, 1995; Martin, Moran, Oohama, Cheyer, 1997; Tsvetovatyy and Gini, 1996). In general, applications like these are implemented in an ad hoc fashion without an explicit design at a conceptual level. A generic agent architecture for agents acting in brokering processes has been designed in a principled, compositional manner using the compositional development method for multi-agent systems DESIRE (Brazier, Dunin-Keplicz, Jennings and Treur, 1996). This agent architecture can be instantiated by adding specific types of knowledge to support functionalities and behaviour required. Depending on the choice of these requirements, an agent is created for a specific context by including the appropriate types of knowledge. For example, an agent with functionality restricted to (incidental) search for information upon a user’s request can be built by adding only knowledge needed for this task. Such an agent, for example, is not able to store and maintain the user’s query or information that has been found, nor is it able to provide information to other agents. If these functionalities are required as well, the specific types of knowledge needed for them can be added. In the design a number of components can be distinguished. First, a component that manages communication with other agents: agent interaction management. This component analyses incoming information and determines which other processes within the agent need the communicated information. Moreover, outgoing communication is prepared. Next, the agent needs to maintain information on the other agents with which it cooperates: maintenance of agent information. The component maintenance of world information is included to store the information on world information (e.g., information on attributes of products). The component own process control defines different characteristics of the agent and determines foci for behaviour. The component world interaction management is included to model interaction with the world (with the World Wide Web): initiating observations and receiving observation results. In the component determine proposals information on available products (received from information providing agents and kept in the component maintenance of world information), and about the scope of interests of agents (kept in the component maintenance of agent information), is combined to determine which agents might be interested in which products. The following basic functionalities (depending on the required types of behaviour) have been identified: 1. Observation of information available within a certain part of the world; e.g., a specified area within the Web, such as a specific Web-site or set of Web-sites. 2. Communication with agents asking for information. 3. Communication with agents providing information. 4. Maintenance of acquired information. 5. Maintenance of scopes of interest of (other) agents. 6. Maintenance of scopes of products (other) agents can provide. 7. Determining matches between products and scopes of interests. These functionalities have been specified by knowledge bases that can be used within the agent components. Combinations of these functionalities define specific types of agents. For example, if a provider agent is designed, functionalities 2., 4., 5., 7. may be desired, whereas functionalities 1., 3., 6. could be left out of consideration. If an agent is designed to support a user in finding information on products within a certain scope, functionalities 1., 3., 6., 7. (and perhaps 4.) may be desired, whereas 2. and 5. may be less relevant. For a mediating agent, or for an agent that has to play different roles, almost all functionalities (i.e., 2. to 7.) may be desired. The generic agent architecture can be instantiated in different manners to obtain, among others, the types of agents mentioned. Requirements imposed at the time of creation of an agent determine its functionalities and behaviour. If later on additional or changed requirements come up, the agent has to be modified or redesigned to meet the new requirements. The agent architecture introduced here supports this modification due to the fact that basic functionalities are specified in an explicit declarative manner, in the form of knowledge. It is possible to modify the agent by adding or deleting some of its knowledge. Since this declaratively represented knowledge can be the subject of communication between agents, modification can be performed at a distance, just by communication between the agent and another agent that communicates the knowledge needed for the modification (e.g., a dedicated maintenance agent). Thus a flexible agent implementation is obtained that can be maintained and evolve over time on the basis of communication with other agents. For details the reader is referred to (Jonker and Treur, 1998). In current and future research the potential of this approach is explored further. Recent and current research In recent research the broker agent model has been applied within a project on information brokering in intelligent Web-sites in co-operation with the insurance company DeltaLloyd and the software company Ordina Utopics. A first running prototype built in this project can be demonstrated at the first I2A.SIG meeting. Currently the broker architecture is used as a basis for information agents to support researchers, in relation to the KA2 initiative (see http://www.aifb.uni-karlsruhe.de/WBS/broker/KA2.html) within the Knowledge Acquisition community. Web pages are annotated with tags within the HTML-format that can be read by information agents, so that they can extract proper information on available papers and projects. An example of such annotated HTML is the following paper reference within our homepages: