An Internet software platform based on SICStus Prolog
(Position Paper)

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}

1 Introduction

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.

2 The platform

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.

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.

3 Application projects

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.

Adaptive and intelligent workflow systems

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.

Resource monitoring and allocation.

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.


Swedish Institute of Computer Science. SICStus Prolog User's Manual, 1995. Also available via
Tim Finin and Richard Fritzson. KQML as an agent communication language. In Proceedings of the Third International Conference on Information and Knowledge Management. ACM Press, 1994.
Yannis Labrou and Tim Finin. A proposal for a new KQML specification. Technical report, Computer Science and Electrical Engineering Department, University of Maryland Baltimore County, Baltimore, MD 21250, February 1997.

Joakim Eriksson
Tue Mar 18 12:37:59 MET 1997