IBM Agent Building Environment Developer's Toolkit

Introduction to IBM Agent Building Environment Developer's Toolkit

There has been a recent explosion in the commercial use of intelligent agents (IA) and agent prototypes, causing much confusion. With each entering a different application niche and promotes the particular decision technology. The future will likely see further confusion, created by masses of non-standard and non-communicating agents absorbing network resources. As a result, users are requesting intelligent agent standards and toolkits. The IBM Agent Building Environment Developer's Toolkit is based on a general architecture designed to ease agent-enabling of applications.


IBM Agent Building Environment Developer's Toolkit Structure and Architecture

This toolkit consists of five frameworks or components. This introduction outlines the general role of each framework and its relationships to the other frameworks. The adapter framework is critical to the success of those agents.

The following diagram illustrates frameworks:

Figure 1. Thumbnail Architecture


As illustrated above, the IBM Agent Building Environment Architecture provides for a toolkit of parts (frameworks or components) for building intelligent agents:

Component Application Interfaces

The illustration also shows which of these components support application interfaces for using and controlling the agent and its components:

IBM Agent Building Environment Developer's Toolkit Primary Architectural Principles

Plug-and-play The primary characteristic of this architecture is the plug-and-play of its component parts. It allows for run-time configuration of adapters, engines, and library components, as well as independent use of views to manage the agent instructions. Plug-and-play makes possible the dynamic substitution of parts to allow for the incremental growth of applications, dynamic reaction to the needs of the world in which the agent works, as well as the migration to different platforms.

View Separation The architecture also emphasizes the logical separation of the view component from the main body of the agent, whereby the substitution of new and more user-friendly and/or application-specific facilities for instructing the agent can occur without disruption of the operation, design or structuring of the agent proper. This independence of the views from the body of the agent is only possible because the views bind to the agent only through the Library interface. For inference engines this involves a common, and developing standard KIF (Knowledge Interchange Format) for storing rules and facts. By focusing on a common interface (of the Library Component), which is also used by the agent proper, high level changes in the views are shielded from the operation of the agent.

Component Separation and Autonomy Finally, each aspect of the architecture represents a significant specialization. This is significant because the architecture supports autonomy between the components such that specialist can build a new part for one component without being required to also be an expert in the other components. Logicians can concentrate on engines, while usability experts specialize on views, device or application experts concentrate on adapters, and data management experts specialize on Libraries.

Further, each adapter is responsible only for its own domain, so each specialists can be independent of the other specializations.

Adapters and engines relate to each other through events and attached procedures. Adapters only relate to other adapters through the engine's interpretation of agent instructions (currently rules). This autonomy preserves the specialization, as well as the plug-and-play flexibility.

For further discussion of the initial architecture, design points, etc., refer to the Appendix of the Overview book.


Supported Platforms and Components

Platforms Currently Support by the IBM Agent Building Environment Developer's Toolkit

The following are the supported platforms for the Level 6 of the &itak.:

Current IBM Agent Building Environment Developer's Toolkit Components

This level of the IBM Agent Building Environment Developer's Toolkit comes with the following components:

Agent Control
Driven by sample agent programs (one in C++ and one in Java) that you can use as a starting point for running an agent.

Also included is an application programming interface for designing your own agent program. In addition, there is a Reminder Sample agent which illustrates using that agent application programming interface through a Reminder Application, illustrating a comprehensive application/agent integration in a common server environment using Java.

Engine
A forward chaining inferencing engine is provided. For more information on this engine, see Chapter 11. "Engine". A rules-based inference engine called RAISE, which is based on technology from the T.J. Watson Research Lab.

Adapters
Provide the interface needed by the agent to trigger events and communicate with the engine. Included adapters are:
The following sample adapters are supplied:

Additional adapters can be written in either C++ or Java. Included also is a tutorial for writing an adapter.

Library:
A file-based repository for storing rules, facts, and metadata that the engine uses to intelligently guide the agent. Using applications can provide their own metadata to be associated with these rules and facts. Facts and rules are stored in KIF-like format. Also included is a tutorial that illustrates the use of the Library application programming interface (see Chapter 3. "Agent Server Sample"). The Library also supports engine and adapter logging. The library is described in Chapter 7. "Using the ABE Library".

View
A generic rule editor is provided. This editor allows you to enter rules and facts in the IBM Agent Building Environment Developer's Toolkit Library with full graphical support.

What can I Do with the Current IBM Agent Building Environment Developer's Toolkit?

With the above components, there here are some things that you can do with the toolkit:


Guide for Reading The IBM Agent Building Environment Developer's Toolkit Documentation

In addition to the following topical guidelines, it may also be helpful to refer to the glossary of the Overview book.

Following is suggested reading material for the topics listed above


[ Top of Page | Previous Page | Next Page | Table of Contents ]