Chapter 2. The Agent Development Kit

Table of Contents

2.1. Introduction
2.2. Organization of the development kit
2.2.1. Agent Runtime Environment (ARE)
2.2.2. Agent Foundation Classes (AFC)

2.1. Introduction

The Tryllian Agent Development Kit (ADK) allows developers to design and implement distributed applications based on sophisticated mobile agent technology. Contrary to conventional applications where executing programs reside either on a user's computer or on a server, mobile agents are traveling, autonomous programs that perform their tasks by cooperating on any number of different machines. Tryllian technology allows developers to implement multi-agent systems where agents interact with different goals and purposes.

Agent technology can be used for many different situations and applications. Agents are task driven: the composition of different high-level tasks leads to the desired behavior. The ADK provides a rich set of functions and standard tasks that allow developers to create agents and to program their behavior.

2.2. Organization of the development kit

The Agent Development Kit consists of two parts, the Agent Foundation Classes (AFC) and the Agent Runtime Environment (ARE). Most developers will interact only with the AFC to construct their agents. The AFC encapsulates all the functionalities of the ARE and therefore you will normally not need to use the ARE directly. When you want to create functionality not provided by the AFC, you may need to directly interact with the ARE.

The difference is much like the difference between coding against the Win32 C API or using MFC, or coding against XLib or using Qt. Generally, you will want to stay with the AFC, the MFC or Qt, and not descend into Win32, XLib or the ARE.

2.2.1. Agent Runtime Environment (ARE)

The ARE forms the low-level core that provides the base foundation for building an agent toolkit. The ARE includes support messaging, agent execution, persistence, directory services, mobility and security.

Agents can directly call the ARE using a small API (for instance, for using the JNDI directory services), or by communicating with core System Agents. The Developer's Guide and the ARE Specification present more information on the ARE: this tutorial only concerns itself with using the AFC.

2.2.2. Agent Foundation Classes (AFC)

The Tryllian ADK allows application programmers to define all of the components that are required to build an agent-based application. The AFC provides the interface between the agent and the Agent Runtime Environment.

All of the API's that are provided for use by the developer can be found here. The central feature of the AFC is the task model. Programming with tasks is to programming the bare ARE as object-oriented GUI programming is to coding directly to the C API of a window system. It is in its tasks that you implement the agent's behavior.

The ADK provides tasks that simplify communication, mobility, persistence and agent logic.