Behavior-Oriented Design is not just an architecture, but a design methodology, partially inspired by Object-Oriented Design (OOD) (e.g. 26,31). The analogy between BOD and OOD is not limited to the metaphor of the behavior and the object, nor to the use of methods on the behavior objects as primitives to the reactive plans. The most critical aspect of BOD is its emphasis on the design process itself.
The fundamental problem of using a modular approach is deciding what belongs in a module -- how many modules should there be, how powerful should they be, and so on. In BBAI this problem is called behavior decomposition; obviously analogous problems exist for OOD and MAS. BOD adopts the current accepted OOD practise for solving object decomposition: it focuses on the agent's adaptive state requirements, then uses iterative design and a set of heuristics to refine the original decomposition.
BOD emphasizes cyclic design with rapid prototyping. The process of developing an agent alternates between developing libraries of behaviors and the reactive plans to control the expression of those behaviors, and the process of clarifying and simplifying the agent by re-examining its behavior decomposition. The following sections explain the BOD guidelines for both the initial decomposition and for recognizing and correcting problems in the decomposition during the development process.