A Common Agent Platform

Jim White, General Magic, 11 March 1996
jim_white@genmagic.com
Submitted to the Joint W3C/OMG Workshop on Distributed Objects and Mobile Code

In the last five years General Magic has developed and deployed Telescript, a technology for mobile agents. This paper sketches a common agent platform intended to allow any number of such technologies to coexist and interoperate.

Agent

An agent is a program that a person or organization vests with its authority, that can run unattended for a long time (e.g., a week), and that can meet and interact with other agents. The person or organization is the agent's authority.

One can distinguish two kinds of agent. A stationary agent executes on one computer system. A mobile agent can execute on different computer systems at different times of its life.

Agent platform

Agents will be written in a variety of programming languages. This creates a need for a common agent platform, a language-independent means for agent interaction and mobile agent migration. A server's implementation of the platform might offer a full range of services; a PC's might offer a subset. An application protocol would interconnect the implementations of different systems so that their agents can interact and so that their mobile agents can migrate between systems.

The platform would offer agent services to its clients. These clients would include language environments, the virtual machines and libraries for particular programming languages. A language environment would offer some or all of the agent services to programs written in that language.

Block Diagram of the Common Agent Platform

Agent services

The platform could provide services like these: