IBM®
Skip to main content
    United States change      Terms of use
 
 
Select a scope:    
     Home      Products      Services & industry solutions      Support & downloads      My account     
alphaWorks  >  Autonomic computing  >  

Agent Building and Learning Environment

ABLE: A Java framework, component library, and productivity tool kit for building intelligent agents using machine learning and reasoning.


Date Posted: May 4, 2000
Overview Requirements DownloadFAQsForum Reviews

1. Why should I use Agent Building and Learning Environment (ABLE)?
2. I am an application developer. How will ABLE help me?
3. I am a student or researcher working with intelligent agents. How will ABLE help me?
4. What are the Java platforms supported? Is it "100% Pure Java"?
5. Can the AbleBeans be used with any builder tool?
6. Where do I find the environment changes I need in order to use ABLE?
7. Where can I use the AbleBeans?
8. How do I use the ABLE Core beans?
9. How do I build a neural network-based agent?
10. How do I build a rule-based agent?
11. Where can I use the NeuralPredictionAgent bean?
12. Where can I use the NeuralClusteringAgent bean?
13. 13. Where can I use the NeuralClassifierAgent bean?
14. Where can I use the GeneticSearchAgent bean?
15. Why should I use the ABLE Agent Editor rather than my favorite bean builder?
16. How do I specify the kind of agent I want to build?
17. I have an existing Java application and I want to add an agent to it. Where should I start?
18. I want to build a multi-agent system application. Can I use ABLE?
19. How does the ABLE Inspector work? Can I use it to debug my custom Agents?
20. How do I start the ABLE editor?
21. Is there a tutorial?
22. Are there examples?
23. When I try to run the ABLE editor using the runnit script for my operating system, I get an error.
24. When I try to compile my own application, I get "Missing class file" errors.
25. When I try to run an ABLE script such as runit.bat, I get "Class not found" or "Invalid directory" errors.
26. When I try to load files such as fuzzy rule sets, I get execution errors such as "File not found."
27. Is there a way to set options to retain my personal preferences from session to session?
28. When I select any of the help topics, my browser is unable to locate the URL.
29. I've thoroughly read all the ABLE documentation and tried everything I can think of and still have a problem.


1. Why should I use Agent Building and Learning Environment (ABLE)?

If you are an application developer, ABLE makes your life easier by providing a set of intelligent beans and an editor for combining them into agents.

If you are doing research on intelligent agents, ABLE makes your life easier by providing a flexible Java framework for combining the ABLE beans with your algorithms or ideas about how agents should be constructed.

Back to top Back to top

2. I am an application developer. How will ABLE help me?

The ABLE design philosophy is to provide a set of reusable Java components (JavaBeans) and a light-weight framework for combining them to build intelligent components (agents). ABLE provides Sensors and Effectors to allow application developers to easily plug the agent into their Java application environment.

Back to top Back to top

3. I am a student or researcher working with intelligent agents. How will ABLE help me?

The ABLE Editor provides a nice GUI environment for building and testing custom learning and reasoning algorithms. The ABLE Inspectors use standard Java introspection to display state information about the custom beans you create, and they provide a way to view the data in graphical form such as bar charts, line plots, and time plots. It is fairly easy to take an existing Java algorithm and package it as an AbleBean for use with the rest of the AbleBeans provided in the ABLE tool kit.

Back to top Back to top

4. What are the Java platforms supported? Is it "100% Pure Java"?

Although not officially certified by Sun, the ABLE tool kit and all of the AbleBeans and AbleAgents provided are written entirely in Java and should run on any Java 2 version of JVM. JDK 1.3 or above is required. Either IBM or Sun-built JDKs are OK. The ABLE Agent and Rule editors and AbleBean customizers use Swing.

Back to top Back to top

5. Can the AbleBeans be used with any builder tool?

In theory yes. AbleBeans and AbleAgents are standard JavaBeans. We still have testing to do to confirm this. Though we do not endorse or recommend any specific tool, our developers use JBuilder (TM and copyright by Borland International), VisualCafe (TM and copyright by Symantec Corporation), and the Java Development Environment (copyright by Paul Kinnucan and distributed under GNU General Public License).

Back to top Back to top

6. Where do I find the environment changes I need in order to use ABLE?

The ABLE scripts are designed so that they calculate environment variable values from the directory in which they reside. See, for instance, \bin\runnit.bat for the CLASSPATH and ABLE_HOME settings used. The lib directory contains JAR files which should be in your class path.

Back to top Back to top

7. Where can I use the AbleBeans?

The ABLE core beans are primarily meant for use in the ABLE editor. They support the ABLE buffer, event, and property connections which allow data flow between beans.

Back to top Back to top

8. How do I use the ABLE Core beans?

There are two ways of using the ABLE core beans: through the ABLE editor and through a Java development environment.

In the ABLE Editor, you can instantiate core beans and then wire them up by creating buffer connections, property connections, and event connections.

In any Java development environment, you can wire up the core beans through direct method calls or by sending AbleEvents to the beans.

Back to top Back to top

9. How do I build a neural network-based agent?

A neural network-based agent usually consists of AbleImport beans to provide the training and test data, an AbleFilter to scale the data, the neural network bean itself, and another AbleFilter to scale or transform the neural network output. The ABLE suite also includes a set of three neural network agents for classification, prediction, and clustering.

Back to top Back to top

10. How do I build a rule-based agent?

ABLE supports both standard boolean if-then rules and fuzzy rule systems. You must create a rule set using the respective rule customizer.

Back to top Back to top

11. Where can I use the NeuralPredictionAgent bean?

The NeuralPredictionAgent bean can be used to perform regression functions.

Back to top Back to top

12. Where can I use the NeuralClusteringAgent bean?

The NeuralClusteringAgent bean can be used to perform clustering functions.

Back to top Back to top

13. 13. Where can I use the NeuralClassifierAgent bean?

The NeuralClassifierAgent bean can be used to perform classification.

Back to top Back to top

14. Where can I use the GeneticSearchAgent bean?

The GeneticSearchAgent bean provides a generic search mechanism over a population of GeneticObjects. These objects may, in turn, define other AbleBeans or AbleAgents so that you can, for example, optimize over neural network architecture or parameter spaces.

Back to top Back to top

15. Why should I use the ABLE Agent Editor rather than my favorite bean builder?

The ABLE editor provides specific functions for constructing Agents out of the AbleBeans. If you only want to use the AbleAgent beans, then any Java bean builder tool should work fine. AbleBean-unique functions include the data flow (buffer) connections, the display bean state information, and the ABLE Inspectors, which are very useful for testing and debugging.

Back to top Back to top

16. How do I specify the kind of agent I want to build?

You can select a specific container agent by selecting File/New/... and picking the kind of agent you want. Note that all AbleAgents are containers, so you can add AbleBeans to them. Once configured, you can serialize the agent out to a file for use in any Java application.

Back to top Back to top

17. I have an existing Java application and I want to add an agent to it. Where should I start?

You need to refer to the "Programmer's Extending ABLE" topic, which is part of the ABLE documentation under /able1_3a/index.html.

Back to top Back to top

18. I want to build a multi-agent system application. Can I use ABLE?

ABLE provides a distributed agent platform based on Java RMI. All of the AbleBeans and AbleAgents provided are derived from the AbleObject, and AbleDefaultAgent classes are fully "remotable." The able.platform package provides support for distributed multi-agent systems. This function is not completely tested and documented in this release.

Back to top Back to top

19. How does the ABLE Inspector work? Can I use it to debug my custom Agents?

The ABLE Inspector uses introspection to display information concerning the AbleBean states, either in text or graphic formats. For graphics, ABLE Inspectors use the KLGroup JChart graphics package.

Back to top Back to top

20. How do I start the ABLE editor?

The start-up program for the ABLE editor is platform-dependant. Scripts are provided as follows:

    Windows: runnit.bat
    OS/2: runnit.cmd
    Unix: runnit.sh

Run the script file from the bin directory where ABLE is installed. These scripts assume the JDK/JRE executable version of your choice is defined in your PATH environment variable.

Back to top Back to top

21. Is there a tutorial?

The tutorial can be accessed through the root documentation link at /able1_3a/index.html or from the Help pull-down menu in the Agent Editor.

Back to top Back to top

22. Are there examples?

A set of examples is provided with the ABLE suite. These consist of serialized AbleAgents (*.ser) and corresponding ABLE Editor environment (*.ser.env) files. Look in the /examples/... directories, or see the root documentation link at /able1_3a/index.html or the Help pull-down menu in the Agent Editor. Data sources are located in the /examples/datafiles directory.

Back to top Back to top

23. When I try to run the ABLE editor using the runnit script for my operating system, I get an error.

Make sure that your environment is set up for Java 2: Your PATH environment variable should include the directory containing java.exe. Your CLASSPATH environment variable should contain any JAR files that you intend to read into the editor environment; ABLE JAR files will be added to your CLASSPATH dynamically by the script.

If your CLASSPATH contains entries that are surrounded by double quotes ("), you will either need to remove the double quotes from your CLASSPATH settings or modify the ABLE script file to provide a valid parameter for the java.exe -classpath option.

Back to top Back to top

24. When I try to compile my own application, I get "Missing class file" errors.

Make sure that your environment is set up for Java 2: ABLE JAR files are in the lib directory; your application may require one or more of these JAR files to be specified in your compile CLASSPATH. A logging level of "warning" or "informational" will cause messages to appear when a bean is not loaded because a dependancy on another installed package is not met.

Back to top Back to top

25. When I try to run an ABLE script such as runit.bat, I get "Class not found" or "Invalid directory" errors.

This is most likely because the ABLE_HOME environment variable either is not set or is set incorrectly. The scripts provided with ABLE, such as runnit.bat, calculate and set ABLE_HOME from the starting directory. The Windows .bat scripts work only on English machines. If you have a non-English system or you are not using a script provided with ABLE, you will need to define and set the ABLE_HOME environment variable to a value such as C:\able1_3a.

If your CLASSPATH contains entries that are surrounded by double quotes ("), you will either need to remove the double quotes from your CLASSPATH settings or modify the ABLE script file to provide a valid parameter for the java.exe -classpath option.

Back to top Back to top

26. When I try to load files such as fuzzy rule sets, I get execution errors such as "File not found."

This is most likely because the ABLE_HOME environment variable either is not set or is set incorrectly. The scripts provided with ABLE, such as runnit.bat, calculate and set ABLE_HOME from the starting directory. If you are not using a script provided with ABLE, you will need to define and set the ABLE_HOME environment variable to a value such as C:\able1_3a.

Back to top Back to top

27. Is there a way to set options to retain my personal preferences from session to session?

Two preferences files, able.preferences and ablegui.preferences, are written to the directory above that in which you installed ABLE. A commented version of these files is available in the \able1_3a\examples directory. Values for some preferences may also be set from the Agent Editor's File, Preferences menu.

Back to top Back to top

28. When I select any of the help topics, my browser is unable to locate the URL.

When you obtain ABLE through alphaWorks, you must download both the executable file and the help and documentation package. Both packages must be unzipped/decompressed into the same root directory for help to function.

Back to top Back to top

29. I've thoroughly read all the ABLE documentation and tried everything I can think of and still have a problem.

ABLE is currently a research project with minimal support. Please send comments and questions to ableinfo@us.ibm.com and we will try to help you as best we can. When you describe your problem, please help us to help you by providing environmental information, such as your operating system name and version, Java version and provider, environment settings for ABLE_HOME, PATH, and CLASSPATH, and Internet browser and version.

Back to top Back to top
Download now Download now

Related technologies

For platform(s):
Java2

For topics:
semantics


Related resources

Semantics Research topic

Adding rules to applications using ABLE

The features and facets of the Agent Building and Learning Environment (ABLE)

Use autonomic computing for problem determination: ABLE

developerWorks Autonomic computing zone

IBM Autonomic Computing

Tivoli Developer Domain

Press Articles

 

    About IBM Privacy Contact