Readme for the Agent Building and Learning Environment

Version 1.1b September 29, 2000

The Agent Building and Learning Environment (ABLE) is a toolkit from the IBM T.J. Watson Research Center for developing hybrid intelligent software agents and agent applications in Java.

Readme topics are:

Overview
Licensing
Release Contents
Requirements
Installation and Running
Known Problems and Limitations
Support

Overview

The Agent Building and Learning Environment (ABLE) is a Java-based toolkit for developing and deploying hybrid intelligent agents and agent applications. ABLE provides a set of reusable JavaBean components, called AbleBeans, along with several flexible interconnection methods for combining those components to create software agents. AbleBeans implement data access, filtering and transformation, learning, and reasoning capabilities. Function-specific AbleAgents are provided for classification, clustering, prediction, and genetic search. Application-specific agents can be constructed using one or more of these AbleBeans. AbleAgents are situated in their environment through the use of sensors and effectors, which provide a generic mechanism for linking them to Java applications. A GUI-based interactive development environment, the Able Agent Editor, is provided to assist in the construction of AbleAgents using AbleBean components.

In the ABLE framework, an agent is an autonomous software component. It could be running on its own thread of control or could be called synchronously by another agent or process either through a direct method call or by sending an event. By combining one or more AbleBeans, agents can be extremely lightweight (e.g. a few lines of Java code) or can be relatively heavy weight, using multiple forms of inferencing (e.g. fuzzy rule systems, forward and backward chaining) and learning (e.g. neural classification, prediction, and clustering).

AbleBeans provided include:

AbleImport
reads data from flat text files
AbleFilter
filters, transforms, and scales data using translate template specifications
AbleExport
writes data to flat text files
Back Propagation
implements enhanced back propagation algorithm used for classification and prediction
Self-Organizing Map
supports batch updates, Gaussian neighborhood function
Boolean inference engine
processes if-then rules using forward and backward chaining
Fuzzy inference engine
processes if-then rules containing fuzzy sets and supports multi-step forward chaining
Naive Bayes
learns a probabalistic model for classification
Radial Basis Function
uses radial basis functions to adjust weights in a single hidden layer neural network
Temporal Difference Learning
uses reinforcement learning for time series forecasting; gradient descent is used to adjust network weights
 

AbleAgents provided include:

Genetic search agent
manipulates a population of genetic objects which may include AbleBeans
Neural classifier agent
uses back propagation to classify data
Neural clustering agent
uses self-organizing maps to segment data
Neural prediction agent
uses back propagation to build regression models

License Agreement

Please read the License Agreement and agree to the terms and conditions before using this software.

Release Contents

Release 1.1b September 29, 2000

Major changes are:

  1. JDK 1.1.8 is no longer supported; minimum JDK version is 1.2.2 with 1.3 recommended. Agents serialized with prior Able releases will not be compatible.
  2. Rule languages support XML, which requires developers to add the xerces.jar file to the CLASSPATH setting.
  3. The Able package is now split into code and documentation to make downloads faster.
  4. Learning beans have been expanded with the addition of AbleNaiveBayes, AbleRadialBasisFunctionNet and AbleTemporalDifferenceLearning, and a new network graphic inspector.
  5. Neural agents have autotrain capability, which switches modes between train and test as well switching data inputs between import beans.
  6. A description of how to extend Able by providing your own beans is added to the user reference, and is available separately in PDF format. It refers to a new sample bean AbleFileWatcher provided for monitoring file changes.
  7. The Able Data Model has been externalized in a new package com.ibm.able.data which will allow people to create new data types for inferencing/filtering/importing/exporting by extending the newly exposed data types. A description in PDF format is available.
  8. A new definition file format is in use. The previous version is read and converted to the new format; the old design did not support multiple target outputs and did not share well between algorithms. Import beans can now read data in sequential or random order.
  9. Miscellaneous Agent Editor enhancements and cleanup such as displaying bean state in the tree view, better handling of the icons on the canvas, able to define a directory from which to read user-provided jars, user-provided beans can specify their own tab on the editor bean palette, consistent look and feel throughout.
  10. Removed examples/neural/* file from ableall.jar and ableexamples.jar which caused "class not found errors" with some JDK versions on Windows.
  11. Workaround provided for JDK bug which prevented help browser from opening for JDK 1.2+ users.

Release 1.0a April 28, 2000

This is the first release of the ABLE package.

Requirements

Platform: JDK 1.2.2 or later.
Computer: Win 95/98/NT, UNIX, OS/2

Installation & Running

ABLE Installation Procedures

  1. Download the able1_1b.zip file or the able1_1b.tar.gz file as appropriate. To reduce download times, help and documentation is provided in a separate file, able1_1bDocs, which you can download separately.
  2. Unzip (or untar) the file(s) to a specified drive. If you chose to download both the executable and the help and documentation files, use the same root directory for each.

    The .../able1_1b directory tree will be created and populated.

    Script files to start the Able Agent Editor are in the .../able1_1b/bin directory.

  3. Documentation can be found in the .../able1_1b/index.html file.

Running the Able Agent Editor

  1. Change to the .../able1_1b/bin directory.
  2. Run the runnit script appropriate for your system.

Known Problems and Limitations

This is an alpha level release and not all function and documentation is complete. In particular:

  1. Serialized agents from previous releases will not be compatible.
  2. Filter editor documentation is not complete.
  3. Inspector help is not provided.
  4. JDK 1.2 has documented a bug that may cause panels to contain ghost images of other panels (Sun bug 4265726). We have implemented a workaround which may not fix this problem in all cases, and has a side effect that in some instances causes some screen flicker.

See the 'Troubleshooting FAQ' section in the FAQ if you encounter problems installing or using ABLE.

Support

We are interested in hearing of any problems you encounter while using this software. Please send comments and questions to ableinfo@us.ibm.com or post them in the Able discussion forum at http://www.alphaworks.ibm.com/tech/able.