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:
  • Brazier, F.M.T., Jonker, C.M., and Treur, J., Formalization of a cooperation model based on joint intentions. In: J.P. Mueller, M.J. Wooldridge, N.R. Jennings (eds.), Intelligent Agents III, Proceedings of the Third International Workshop on Agent Theories, Architectures and Languages, ATAL'96, Lecture Notes in AI, volume 1193, Springer Verlag, Berlin, 1997, pp. 141-155. Abstract, A4 paper size ps-file.
  • The basis for an ontology of research topics in Agent Technology has been taken (upon a suggestion of Mike Wooldridge) from the Agent Link Technical Annex: Class: Agent-oriented approaches Attributes: Name: Agent-oriented approaches Sub-topics: RA1: Micro/agent-level issues in agent technology 1.1: Agent control architectures 1.1.1: deliberative/cognitive agent control architectures & planning 1.1.2: reactive/behavioural agent control architectures 1.1.3: hybrid agent control architectures 1.1.4: layered agent control architectures 1.2: Foundations of agency 1.2.1: practical reasoning/planning and acting 1.2.2: rational action & agency 1.2.3: decision making, decision theory, & agency 1.2.4: agent representation & specification formalisms 1.2.5: semantics of agency & logics of agency 1.2.6: computational/complexity issues of agency RA2: Macro/society level issues in agent technology 2.1: cooperation 2.1.1: cooperation protocols 2.1.2: models and formalisms for cooperation 2.1.3: game/economic theoretic models of cooperation 2.1.4: conflict detection & resolution in multi-agent systems 2.1.5: coalitions & coalition formation 2.2: coordination 2.2.1: coordination techniques and protocols 2.2.2: coordination languages & systems 2.3: computational market systems 2.3.1: market-based control 2.3.3: market-oriented programming 2.4: communication 2.4.1: agent communication languages 2.4.2: speech acts 2.5: negotiation, bidding, and argumentation 2.6: foundations of multi-agent systems 2.6.1: emergence of cooperation and social action 2.6.2: sociology, ethology, and their relationship to multi-agent systems 2.6.3: emergent functionality and swarm behaviour in multi-agent systems 2.6.4: semantics of multi-agent systems & logics of multi-agent systems 2.6.5: computational/complexity issues of multi-agent systems RA3: Agent system implementation issues 3.1: environments & testbeds for agent system development 3.2: programming languages, tools, & libraries for agent system development 3.3: relationship of agents to objects and other paradigms (e.g., logic programming) 3.4: standardised scenarios for evaluating agent systems 3.5: benchmarks for agent systems 3.5: evaluating agent systems RA4: Best-practice in agent system development 4.1: standards for (multi-) agent systems 4.1.1: agent communication standards 4.1.2: agent management standards 4.1.3: agent interaction standards 4.1.4: libraries, tools, testbeds for implementing agent standards 4.1.5: relationship of agent standards to other standards (e.g., CORBA MAF) 4.2: agent-based software engineering 4.2.1: analysis & design techniques for agent systems 4.2.2: specification techniques for agent systems 4.2.3: verification techniques for agent systems 4.2.4: relationship of agent-based software engineering to other disciplines (e.g., OO) 4.3: pragmatics of agent-based software development 4.4: experience with agent development projects 4.5: commercialising agent technology This ontology can be refined further; currently, work is done on this. During the first SIG-meeting this current research in co-operation with the KA2 initiative will be put forward in order to discuss it further and to organize a co-operation with others that want to work on such an information agent initiative for the agent community, as part of the AgentLink activities. It can provide a realistic testbed for information agents work, on which we have domain knowledge ourselves. References Brazier, F.M.T. , Dunin-Keplicz, B., Jennings, N.R. and Treur, J. (1995). Formal specification of Multi-Agent Systems: a real-world case. In: V. Lesser (Ed.), Proc. of the First International Conference on Multi-Agent Systems, ICMAS’95, MIT Press, Cambridge, MA, pp. 25-32. Extended version in: International Journal of Cooperative Information Systems, M. Huhns, M. Singh, (eds.), special issue on Formal Methods in Cooperative Information Systems: Multi-Agent Systems, vol. 6, 1997, pp. 67-94. Chavez, A., Maes, P. (1996). Kasbah: An Agent Marketplace for Buying and Selling goods. In: Proc. of the First International Conference on the Practical Application of Intelligent Agents and Multi-Agent Technology, PAAM’96, The Practical Application Company Ltd, Blackpool, pp. 75-90. Chavez, A., Dreilinger, D., Gutman, R., Maes, P. (1997). A Real-Life Experiment in Creating an Agent Market Place. In: Proc. of the Second International Conference on the Practical Application of Intelligent Agents and Multi-Agent Technology, PAAM’97, The Practical Application Company Ltd, Blackpool, pp. 159-178. Jonker, C.M., and Treur, J. (1998) Compositional design and maintenance of broker agents. In: J. Cuena (ed.), Proceedings of the IFIP'98 Conference on Information Technology and Knowledge Systems, IT&KNOWS'98, Chapman and Hall. In press, 1998, pp. 14. Kuokka, D., Harada, L. (1995). On Using KQML for Matchmaking. In: V. Lesser (ed.), Proc. of the First International Conference on Multi-Agent Systems, ICMAS’95, MIT Press, Cambridge, MA, pp. 239-245. Martin, D., Moran, D., Oohama, H., Cheyer, A. (1997). Information Brokering in an Agent Architecture. In: Proc. of the Second International Conference on the Practical Application of Intelligent Agents and Multi-Agent Technology, PAAM’97, The Practical Application Company Ltd, Blackpool, pp. 467-486. Tsvetovatyy, M., Gini, M. (1996). Toward a Virtual Marketplace: Architectures and Strategies. In: Proc. of the First International Conference on the Practical Application of Intelligent Agents and Multi-Agent Technology, PAAM’96, The Practical Application Company Ltd, Blackpool, pp. 597-613.