Last Modified 8 July 2005

Behavior Oriented Design (BOD) Background

These are some extra notes about BOD which might be of interest to academics... they used to be on the main BOD web page.


Decomposing intelligence into behavior modules & reactive plans not only simplifies the design of an agent, it also supports learning by that agent. Learning and the details of perception and action are contained in relatively simple, single-purpose behavior modules. Where the actions of different behavior modules might interfere with each other, coordination is provided by the attention system.  The attention system uses the reactive plans to determine priorities given the agent's current focus (its recent decisions) and the current environmental context.  The reactive planning system used by BOD is called POSH action selection.

The architecture underlying BOD differs from most "hybrid" or three-layer architectures by emphasizing the power and importance of the behavior modules. These are semi-autonomous agencies, maintaining their own state as necessary for perception, learning or control. They may control actions independently of the agent-level action selection, so long as their activity doesn't interfere with other behaviors. The leaf nodes of the reactive plans are a method-based interface to the behaviors. One behavior will generally support a large number of plan primitives.

BOD differs from most strictly behavior-based systems in that it provides a mechanism (POSH) and methodology to make behavior arbitration / coordination easy for ordinary programmers. (Most programmers have difficulty reasoning about parallel systems.)  It differs from some other agent methodologies by actively supporting the modification of early specifications. (I am not a creationist.)


page author: Joanna Bryson