As I said at the end of Section 6, maintainability and clarity of design are key to the BOD development process. This is best acheived through self-documenting code. ``Self-documenting'' is something of a misnomer, because of course the process takes discipline. The primary argument for incorporating documentation into functioning code is that this is the only way to ensure that the documentation will never get out of synchronization with the rest of the software project. The primary argument against this strategy is that code is never really that easy to read, and will never be concisely summarized. BOD at least somewhat overcomes this problem by having two types of summary built into the agent's software architecture. The reactive plans summarize the aims and objectives of the agent, and the plan-primitive / behavior interface documents at a high level the expressed actions of the various behaviors. Further information, such as documentation on the adaptive state used by the agent, can be found in the code of the behavior modules.