Joakim Eriksson Fredrik Espinoza Niclas Finne
Fredrik Holmgren Sverker Janson Niklas Kaltea
Olle Olsson
Swedish Institute of Computer Science
SICS, Box 1263, S-164 28 Kista, Sweden
{joakime, espinoza, nfi, fredrikh, sverker, nicke, olleo}@sics.se
During the last year we have been involved in several projects that have utilized the agent metaphor. A vital part of the work has been to identify and implement mechanisms/constructs that enabled us to work at a suitable level of abstraction. As a result several modules representing the basic functionality needed for agent oriented applications have emerged.
Currently we are working on refining and extending the existing modules into an agent platform, working name AgentBase. The platform is being developed in Prolog Objects, an object oriented extension of SICStus Prolog [1]
In our previous work we have focused on resource allocation and electronic markets, but our goal is to support the implementation of Internet aware agents, as well as simple web servers and proxys, in general.
The platform consists of a library of classes (or prototypes in SICStus Objects terminology). The intention is that the user chooses and combines the appropriate functionality given by the library according to the demands of the application. See Figure 1 for an overview of the architecture and an example of a web server.
![]() |
![]() |
Figure 1: Example of a full agent system (upper) and a web server
(lower) using AgentBase
Below follows a technical description of some of the classes that currently realize the platform.
The platform is currently being expanded and will include classes associated with other conceptual levels and use. What follows is either under development or in the planning stages.
Currently we have not implemented the full set of performatives as proposed in [3] but we are moving in that direction.
The basis of the current implementation can be regarded as a toolkit were you assemble your own performatives. This makes it possible to tailor an agent communication language in the style of KQML if needed. Each performative automatically belongs to some specific category depending on its meaning and the type of content it may carry. The core of the toolkit consists of the underlying functionality to realize not only basic categories for inter-agent dialogue but also support related to more complicated agent federations.
Besides the above classes that are under development, work are also being done on a multithreaded version of SICStus Prolog. This will make the platform even more interesting for Internet aware agent applications.
AgentBase will be used within a number of different research projects at SICS.
This project aims to automate parts of the market interaction using agents. The interaction protocol is based on market negotiation and the information used in the agent communication is interests describing sets of deals. Agents will be used in the roles of: personal assistant, broker, auctioneer, etc.
We are currently working on an intelligent system for adaptive workflows, where we use agents to model actors and activities in a workflow system. A workflow consists of one or more agents that interact, either in a cooperative or a competitive manner, in order to perform a process. Agents advertise services they can perform and services they need through different facilitators. As soon as an agent need a services it can check with the facilitator for agents that can perform the requested service and negotiate with them for the best possible offer. What constitutes a best offer varies, but it can be based on price, speed, security, etc. With the introduction of negotiating agents we can dynamically optimize the process.
Previous work in these areas has (from an agent platform point of view) focused on the agent communication and architecture levels. Future work will concentrate on related issues in conversation and coordination.