Agent Development Tools (ADT)

ADT is a set of utilities for guiding a programmer through the steps required for defining and adding new agents to SRI's Open Agent ArchitectureTM (OAATM).

Unfortunately, ADT cannot be made available for use outside SRI. But it is described here, and in a journal paper (Agent development tools for the open agent architecture), for those who may be interested in its concepts.

Currently, the ADT contains three separate utilities:

The Main ADT Screen

PROACT: Programmers Agent Construction Tool

PROACT is a general-purpose tool for adding new agents into the OAA. New agents can be written using one of several programming languages (e.g. Prolog, C, Delphi, Visual Basic, Lisp) supported by the OAA agent libraries.

PROACT is used to define high-level functionalities that remain constant across every agent in the OAA. Each agent needs to have:

PROACT helps the programmer define each of the above elements for a new agent in three steps:

  1. Defining Agent Capabilities using the ICL Definition Editor
  2. Creating distributable documentation using the Documentation Editor
  3. Generating a code template using the Code Generator
After performing these steps, the programmer is next responsible for agent knowledge coding. Once an agent has been constructed, natural-language vocabulary may be added for the agent using LEAP, and the agent can be included into agent-based applications using PROJECT.

LEAP: Linguistic Expertise Acquisition Program

LEAP, the Linguistic Expertise Acquisition Program, is a program that facilitates the use of natural-language by various agents in the OAA. It does this by obtaining information from the OAA developer about the capabilities of agents, and about the words and phrases that the developer would like to have used in commands to those agents. This information is then used to maintain the linguistic knowledge base of a natural-language processing agent.

Currently, LEAP is specialized to maintain the linguistic knowledge base for Agent Gemini. This information base is also used to interface and generate datafiles for the Corona Speech Recognition system and for the DCG-NL natural-language Parser. It is also anticipated that LEAP will be useful as a framework for building tools that maintain knowledge bases for other natural-language processing agents.

LEAP's principal goals are these:

In order to accomplish these goals, LEAP provides a Class Editor, a Goal Linker, a Word Wizard, and a Code Generation module.

LEAP screen

PROJECT: Managing Agent Configurations

The PROJECT tool is used to define particular configuration of agents for a given application domain.

The programmer can construct an agent project by adding members to the conference table using the Project Editor, selecting participants from repositories of available agents, and then tailoring agent parameters to the task at hand. Once a configuration has been defined, the PROJECT tool can generate definition files to interface with the Start-It tool, a process-monitoring application whose aim is to assure users that required agents are loaded and available when needed.

Screen Showing Project Parameters