Agents as Clonable Objects with Knowledge Base State

Keith L. Clark, Nikolaos Skarmeas and Frank McCabe


In this paper we introduce a distributed object oriented programming language and we illustrate its use for building Internet wide agent based applications. The language, April++, is a macro implemented OO extension of the distributed symbolic programming language April. The objects in April++ can have knowledge bases comprising sets of facts and recursive definitions of relations which can be queried, both locally and remotely, using Prolog style queries. April++ has one other significant feature. Using the higher order features of the underlying April, objects can be cloned, with the current state of the object encapsulated in a procedure closure. The clone can then migrate to be forked as a new active object running on a new host. This features enables us to implement mobile agents.

In: Proceedings of International Conference on Multi-Agent Systems - ICMAS96, AAAI Press, 1996.

Click here for a compressed PostScript version of the paper (, 55008 bytes).