next up previous
Next: Conclusions Up: Documenting a BOD Agent Previous: Guidelines for Maintaining Self-Documentation

BOD and Code Reuse

One aspect of OOD that I have not yet explicitely touched on is the issue of code reuse. Code reuse is of course one of the main purposes of both modularity and good documentation. We can think of CCA code as breaking into three categories:

  1. Code useful to all agents. For BOD, this code is primarily embedded in the POSH planning system. POSH reactive plans are the one set of patterns I believe to be generally useful to modular agents, but not to modular programs which do not have agency.
  2. Code useful to most agents on a particular platform or domain. By the nature of the BOD methodology, most of this code will wind up in the library of behaviors. However, because this is not the main criteria for determining whether code is in a plan or a behavior, it is possible that some aspects of the reactive plans will also be shared between all agents inhabiting a single platform. Nevertheless, behavior modules can and should be treated exactly as a code library.
  3. Code useful only to a single agent. Because much of what determines one individual from another is their goals and priorities, the reactive plans will generally succinctly specify individual differences. Though again, it is possible that some behaviors in the behavior library will also only be expressed / referenced by a single agent. Much of what is unique to an agent will not be its program code, but the state within its behavior modules while it is running -- this is what encodes its experience and memories.


next up previous
Next: Conclusions Up: Documenting a BOD Agent Previous: Guidelines for Maintaining Self-Documentation
Joanna J. Bryson 2005-07-08