The Agent Building and Learning Environment (ABLE) is a toolkit for constructing hybrid intelligent agents in Java. The graphical development environment is called the Able Agent Editor which is used to construct Able Agents.
For a detailed description of how to use the Able agent Editor, see the Tutorial. To learn how to perform specific tasks click here.
The Menu Bar consists of these submenus:
The File menu contains menu items that apply to the container agent.
The Edit menu contains menu items that apply to a selected bean or to the clipboard.
The View menu allows you to select between the connection views offered for the canvas area located on the lower right.
The Tools menu provides means to open other Able editors and to access some bean manipulation utilities.
The Windows menu lists all currently open Inspector and Properties windows. Selecting an item gives that window focus.
The Help menu displays these help references:
The processing buttons, located on the left of the toolbar, are:
![]() |
The Step command reads a single input from the active data import bean and passes it to all connected beans. It calls the process method on the agent container once. |
![]() |
The Cycle command reads and passes the number of inputs specified by the steps per cycle variable from the Preferences menu item. It calls the process method on the agent container the specified number of times. |
![]() |
The Run command calls the start method on the container agent which causes the agent to process continuously. |
![]() |
The Halt command stops a run or cycle. It calls the stop method on the agent container. |
The Bean Palettes contain the beans provided with Able. Beans you develop can be added to a palette also.
Add a bean to the current agent by selecting the desired palette and clicking on the desired bean. The beans provided with ABLE are organized by toolbar palette as:
The Data Beans are:
![]() |
An Import bean reads data from from a flat file and presents it to the connected beans. |
![]() |
A Filter bean transforms the data into a specific representation, usually for a neural network or fuzzy rule-base bean. Filter transformations are defined with the Filter Editor. |
![]() |
An Export bean writes data to a flat file or passes it to a custom program. |
The Learning Beans are:
![]() |
The AbleBackPropagation bean defines a neural network that learns using the supervised backward propagation of error technique. Its settings can be adjusted to influence the learning process and network architecture. Backpropagation networks are useful for classification and prediction. |
![]() |
The AbleRadialBasisFunctionNet bean defines a neural network that learns using one of three basis functions to adjust its weights. Radial basis function networks are useful for predicting values, and use self-organizing maps to first organize the data into areas of operation. |
![]() |
The AbleSelfOrganizingMap bean defines a neural network that learns using the self-organizing map technique. Self-organizing maps are useful for subsetting data into representative clusters. |
![]() |
The AbleTemporalDifferenceLearning bean defines a neural network that learns using the previous state values. Temporal difference networks are useful for time-series forecasting. |
The beans related to rules and inferencing are:
![]() |
A FsRuleSet bean contains a single fuzzy rule-base created by the Fuzzy rule editor that processes data using the fuzzy inference engine. The rule-base is maintained with the Fuzzy Editor. |
![]() |
An AbleRuleSet bean contains a single boolean rule-base created by the Able Rule editor that processes data using boolean logic. The rule-base is maintained with the Able Rule Editor. |
The agent beans are considered functional beans. To use them, all that is needed is to provide a data source and a data definition file.
![]() |
An AbleDefaultAgent is the base Able agent object. |
![]() |
An AbleGeneticSearchAgent provides a flexible environment for using genetic algorithms for search and optimization problems. |
![]() |
An AbleNeuralClassifierAgent provides a classification function using a back propagation neural network as the classifier model. |
![]() |
An AbleNeuralPredictionAgent provides a prediction or regression function. A back propagation neural network is used as the prediction model. |
![]() |
An AbleNeuralClusteringAgent provides a segmentation or clustering function. A self-organizing feature map neural network is used as the model. |
The sample beans are:
![]() |
SimpleAbleBean, a simple example of a custom Able bean. |
![]() |
SimpleAbleAgent, a simple example of a custom Able agent. |
![]() |
SampleSensorEffector, an example of a custom agent which uses sensors and effectors. |
![]() |
AbleFileWatcher, an example bean that checks for file changes at defined intervals and acts when changes are detected. |
The Title Line, located between the toolbar and the tree, displays the name of the agent container, indicates whether it has been modified, and shows the name of the agent whose constituent beans are displayed in the canvas.
The tree on the left shows the containing agent and each of its constituent beans. If a bean is an agent, it may be expanded to display or edit that agent's constituent beans.
The Agent Canvas on the right shows the contents of the current agent open in the tree. The view may be changed to show the different kinds of connection relationships that exist between an agent's constituent beans.
The status line displays the latest message provided by the editor.
Context menus are the popup menus that appear when you click on a bean in the Agent Canvas with the right button. A menu specific to that bean will appear. Through this menu the bean's settings or properties can be displayed and changed. If you right-click on the background, the context menu for the container agent appears.