Last Modified 3 November 2013

Behavior Oriented Design (BOD)

Behavior Oriented Design (BOD) is a methodology for developing control of complex intelligent agents, such as virtual reality characters, humanoid robots or intelligent environments.  It combines the advantages of Behavior-Based AI and Object Oriented Design.

Developing a system under BOD involves creating two types of program structures:

BOD agents can be looked at from two perspectives. You can think of the behavior modules as providing the primitives for the POSH plans (the plan primitives are based on methods from the behavior objects), or you could think of the plans providing behavior arbitration (a form of action selection) when the actions recommended by the behavior modules would conflict.

Above all, BOD is a methodology.  Its purpose is to make developing agents as easy as possible.  This requires keeping the agents as simple as possible, so that they are easy to understand, develop and maintain.  The BOD methodology  consists of
Software / code using BOD and providing POSH for C#, python, jython and old versions of C++ and lisp are available for free download from the AmonI Software Page.  We also have versions of POSH working for YARP and ROS if you are a roboticist, and NetLogo and MASON if you do social simulation.

In addition to the basic POSH engine, we distribute the following behaviour libraries:
We also are working on a BOD IDE, ABODE, which supports POSH plan editing and should support debugging for real-time AI, whether game or robots. 

Note we are always happy to have more BOD Developers (that page also takes bug reports.)

page author: Joanna Bryson