What is AgentBuilder?
AgentBuilder is an integrated tool suite for constructing intelligent software agents. AgentBuilder consists of two major components - the Toolkit and the Run-Time System. The AgentBuilder Toolkit includes tools for managing the agent-based software development process, analyzing the domain of agent operations, designing and developing networks of communicating agents, defining behaviors of individual agents, and debugging and testing agent software. The Run-Time System includes an agent engine that provides an environment for execution of agent software.
Agents constructed using AgentBuilder communicate using the Knowledge Query and Manipulation Language (KQML) and support the performatives defined for KQML. In addition, AgentBuilder allows the developer to define new interagent communications commands that suit his particular needs.
All components of both the AgentBuilder Toolkit and the Run-Time System are implemented in Java. This means that agent development can be accomplished on any machine or operating system that supports Java and has a Java development environment. Likewise, the agents created with the AgentBuilder toolkit are Java programs so they can be executed on any Java virtual machine. Software developers can create powerful intelligent agents in Java that execute on a wide variety of computer platforms and operating systems. The toolkit and the run-time system are described in the following paragraphs. Figure 1 shows the major components of AgentBuilder and their relation to each other.
The AgentBuilder toolkit is designed to provide the agent software developer with an integrated environment for quickly and easily constructing intelligent agents and agent-based software.
Project Control Tools
The Project Control Tools are provided to help the agent developer manage the overall agent development process. These tools include the Project Manager, the Project Dictionary Tool, and the Project Repository Manager.
The Ontology Manager assists the developer in analyzing the agent application problem domain and in identifying and defining the concepts relevant to the agent's operation in that domain.
The Agency Manager is designed to help the developer construct an agency. An agency consists of two or more agents that communicate and cooperate with each other to perform some task. The agents may be identical or specialized for performing different functions. The Agency Manger allows the developer to identify and characterize all of the agents and agent types in the system under development.
The Agency Manager provides a run-time window for viewing the operation of a system of agents. Thus, the developer can monitor interagent communications, control the agents, or run the agent debugger to examine the state of any or all agents.
The Agent Manager provides tools for defining an individual agent's initial mental model and behavior. The agent definition tools include graphical editors for defining the various mental constructs that make up the agent: initial beliefs, initial commitments, initial intentions, capabilities and behavioral rules. In addition, the Agent Manager supports tools for adding planning and learning capabilities to an agent.
Planning and Learning
The AgentBuilder toolkit provides assistance for adding a learning and planning capability to the agents. The planning and learning editors provide the developer with the ability to build domain specific planning and learning modules.
The Agent Debugger provides run-time tools for communicating with an executing agent. The debugger provides the software developer with graphical output describing the agent's mental model, input and output messages. These tools allow the developer to set breakpoints and step through the operation of an agent.
AgentBuilder allows software developers with no background in intelligent systems or intelligent agent technologies to quickly and easily build intelligent agent-based applications. AgentBuilder reduces development time and development cost and simplifies the development of high-performance, robust agent-based systems.
AgentBuilder is currently available in two different versions to meet a wide variety of developer needs: Lite, an entry-level product for agent software developers, and Pro, for serious multi-agent development.