Agents as Clonable Objects with Knowledge Base State

Keith Clark, Nikolaus Skarmeas, Imperial College, United Kingdom and Frank McCabe Fijitsu Laboratories Ltd., Japan

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, AprilQ++, is a macro implemented extension of the distributed symbolic programming language April. The ++ signifies that it is an OO extension of April bearing the same relationship to April as C++ does to C. The "Q" indicates an additional feature. The objects in AprilQ++ 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. AprilQ++ 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.


This page is copyrighted by AAAI. All rights reserved. Your use of this site constitutes acceptance of all of AAAI's terms and conditions and privacy policy.