Last Modified 16 July, 2011; current development status

Advanced Behavior Oriented Design Environment (ABODE)
(under construction...)

ABODE is an integrated development environment (IDE) for Behavior Oriented Design (BOD).

There is also a web page for the original release of ABODE, which is primarily useful for visualising POSH dynamic plans. The software for that project is available from Sourceforge.

We would ultimately like ABODE to support the entire BOD iterative development cycle, including the development of modular behaviour libraries as well as the dynamic plans that link them.

Current status

We are in the early stages of building an updated version of ABODE. The first release is planned for October 2011. The new version is built on top of eclipse.

ABODE screenshot

(Click to enlarge image)

Planned features include...

Drag and drop visual editing of POSH plans

abode screenshot

(Click to enlarge image)

Users should be able to move or copy parts of the POSH plan, from single elements to whole subtrees, by using drag-and-drop commands. To help users who are less familiar with the POSH syntax, the editor provides visual feedback. As the screenshot shows, when the user drags a POSH element in the plan, the editor shows all the possible new locations that the element could be moved to.

Future work

Runtime integration

POSH plans are being used to manage action selection in a wide range of software (e.g. games, multi-agent simulations) and hardware agents (e.g. robots). Each environment that supports BOD requires a POSH engine (to carry out the plans) and a library of behaviour modules suitable for the agents. Current environments include UT, MASON and the iCUB (through YARP).

We currently hope to integrate ABODE with the widely-used NetLogo agent modelling platform.

Within ABODE, users will be able to create plans for their NetLogo agents, manage their behaviour libraries and launch and manage simulations in which they are used.

Debugging and profiling

One of the most difficult parts of debugging a real-time AI system with multiple goals and concurrent modules is determining which part of the agent's intelligence is currently in control, and why. We hope to extend ABODE's visualisation capacity to assist in this process by visually indicating its profile of activity in real time. Once we know which POSH plan primitives are occupying the time of the robot, we should be able to easily edit and debug the behaviour library code behind them as well as the logic of the plan itself.

Behavior Oriented Design is fundamentally iterative. Given this, users should create simple plans and behaviour modules then be able to test how they perform, before attempting to make the agent more complex. In iterative software development, we use debuggers, profilers and refactoring tools. We hope to make these kind of tools available for BOD developers using ABODE, through instrumentation of the POSH engine and runtimes and new user interfaces for POSH profiling and debugging.

Return to the Behavior Oriented Design home page.