The Agent Building and Learning Environment (ABLE) project at the IBM T.J. Watson research laboratory started in early 1999. The goals of the project were to produce a fast, re-usable and scalable toolkit for creating intelligent software applications. ABLE release 1.0 was posted on the IBM alphaWorks site in May, 2000. The ABLE research team has delivered regular updates to alphaWorks with early releases focused on the core framework and Swing-based tooling, moving on to several years of work on our ABLE rule language (ARL) and rule engines, followed by our ABLE distributed multi-agent platform and Eclipse-based tooling. The most recent work adds agent-based modeling and simulation extensions on top of the ABLE toolit and enhanced Eclipse 3.7 support.
ABLE software technology has been delivered in IBM products since 2002, and has been applied to areas such as autonomic computing, automotive diagnostics, communications trace analysis, system health monitoring, medical diagnostics, agent-based modeling and simulation, complex workload generation, business rules and policy, adding intelligence to pervasive computing devices and healthcare payments and incentives simulations.
The Agent Building and Learning Environment (ABLE) is a Java-based framework, component library, and productivity toolkit for building intelligent agents that can use machine learning and reasoning.
ABLE has several major components:
- A Java framework for building intelligent agents with support for lightweight messaging, event queuing, and asynchronous operations.
- Machine learning agents for classification, prediction, forecasting, and clustering, supported by beans that provide file and database access and filtering.
- A reasoning component that includes a rule-based programming language known as ABLE Rule Language (ARL). ARL is a Java-like language with rule processing engines ranging from simple procedural scripting, to forward and backward chaining, to fuzzy systems, Prolog, and Rete' inferencing techniques.
- A set of simulation classes and agents to support large-scale agent-based modeling and simulation studies.
- An agent platform that facilitates agent management and communication across a distributed network of systems.
- Agent Editor, a graphical editor to assemble and connect components (Eclipse plugin).
- Rule Editor, a text editor to develop and debug rulesets (Eclipse plugin).
- Simulation Editor, a graphical editor to create simulation models including agents and scenarios (Eclipse plugin)
- Platform Console, an application for managing distributed agents (Eclipse Rich Client Platform).