Next: Conclusions
Up: Documenting a BOD Agent
Previous: Guidelines for Maintaining Self-Documentation
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:
- 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.
- 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.
- 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: Conclusions
Up: Documenting a BOD Agent
Previous: Guidelines for Maintaining Self-Documentation
Joanna J. Bryson
2005-07-08