Agent Editor

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.


Menu Bar

The Menu Bar consists of these submenus:

File   Edit   View   Tools   Windows   Help

File

The File menu contains menu items that apply to the container agent.

New Agent
Create a new container agent. Presents a cascade menu with a selection of available agents.
Open Agent
Loads a previously saved, or serialized, AbleAgent into the editor as the container agent.
Save Agent
Saves or serializes the container agent to a file.
Save Agent as
Saves the container agent to a specified file.
Import bean
Loads a serialized AbleBean into the currently selected agent.
Export bean
Saves the currently selected AbleBean to a file.
Preferences
Allows the user to set editor properties and preferences such as the preferred text editor and any custom beans to load.
Printer setup
Brings up the printer setup dialog (not yet implemented)
Print
Prints the contents of the current agent (not yet implemented)
Exit
Leaves the Able Agent Editor.

Edit

The Edit menu contains menu items that apply to a selected bean or to the clipboard.

Cut
Remove the selected AbleBean from the current agent and place it on the clipboard.
Copy
Copy the selected AbleBean to the clipboard.
Paste
Paste the AbleBean from the clipboard to the current agent.
Delete
Remove the selected AbleBean from the current agent.

View

The View menu allows you to select between the connection views offered for the canvas area located on the lower right.

Data Flow
Show the data connections between beans. The active data connection is highlighted.
Event Listeners
Show the event connections between beans.
Property Connections
Show the property connections between beans.

Tools

The Tools menu provides means to open other Able editors and to access some bean manipulation utilities.

Filter Editor
Opens the Filter customizer or translate editor.
Fuzzy Rule Editor
Opens the Fuzzy Rule Editor used to create rule sets for fuzzy inferencing.
Boolean Rule Editor
Opens the Boolean Rule Editor used to create rule sets for boolean inferencing.
Text Editor
Opens the text editor specified in Preferences.
Add bean to Jar
Add the currently selected bean to a jar file.
Remove bean from Jar
Remove the currently selected bean from a jar file.
Add beans to palette
Read a jar file and load all beans with an "able-category" bean attribute to the corresponding bean palette panel.

Windows

The Windows menu lists all currently open Inspector and Properties windows. Selecting an item gives that window focus.

Help

The Help menu displays these help references:

Help topics
A list of topics with links to html files.
Able Editor Reference
Displays this help files for the Able Agent Editor.
Able User Reference
Displays the User Reference for Able.
Able API Reference
Displays the javaDoc help files for Able. This is a programmer's reference.
Able Tutorial
Displays a tutorial on the use of the Able Agent Editor.
About
Displays the About dialog with contact and version information.

Process Buttons

The processing buttons, located on the left of the toolbar, are:

Figure step32 not displayed. 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.
Figure cycle32 not displayed. 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.
Figure run32 not displayed. The Run command calls the start method on the container agent which causes the agent to process continuously.
Figure halt32 not displayed. The Halt command stops a run or cycle. It calls the stop method on the agent container.  

Bean Palettes

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:

Data Bean Palette

The Data Beans are:

Figure import32 not displayed. An Import bean reads data from from a flat file and presents it to the connected beans.
Figure filter32 not displayed. 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
Figure export32 not displayed. An Export bean writes data to a flat file or passes it to a custom program.

Learning Bean Palette

The Learning Beans are:

Figure network32 not displayed. 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.
Figure rbfnet32 not displayed. 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.
Figure kmap32 not displayed. 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.
Figure tdlnet32 not displayed. The AbleTemporalDifferenceLearning bean defines a neural network that learns using the previous state values. Temporal difference networks are useful for time-series forecasting.

Rule Bean Palette

The beans related to rules and inferencing are:

Figure fuzzy32 not displayed. 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.
Figure rules32 not displayed. 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.

Agent Bean Palette

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.

Figure nnublue32 not displayed. An AbleDefaultAgent is the base Able agent object.
Figure genetic32 not displayed. An AbleGeneticSearchAgent provides a flexible environment for using genetic algorithms for search and optimization problems.
Figure nnclass32 not displayed. An AbleNeuralClassifierAgent provides a classification function using a back propagation neural network as the classifier model.
Figure nnpredict32 not displayed. An AbleNeuralPredictionAgent provides a prediction or regression function. A back propagation neural network is used as the prediction model.  
Figure nncluster32 not displayed. An AbleNeuralClusteringAgent provides a segmentation or clustering function. A self-organizing feature map neural network is used as the model.  

Sample Bean Palette

The sample beans are:

Figure simplebean32 not displayed. SimpleAbleBean, a simple example of a custom Able bean.
Figure simpleagent32 not displayed. SimpleAbleAgent, a simple example of a custom Able agent.
Figure seneff32 not displayed. SampleSensorEffector, an example of a custom agent which uses sensors and effectors.
Figure AbleFileWatcher32 not displayed. AbleFileWatcher, an example bean that checks for file changes at defined intervals and acts when changes are detected.

Title Line

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.


Agent Tree

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.


Agent Canvas

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.


Status Line

The status line displays the latest message provided by the editor.


Context Menus

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.