Last updated 5 February 2019

The BOD Developer Page

Behavior Oriented Design (BOD) is a methodology for developing control of complex intelligent agents, such as virtual reality characters, humanoid robots or intelligent environments.   Software / code using BOD and providing POSH for python, jython and lisp is available for free download from the AmonI Software Page.

This page is dedicated to helping potential developers. 

First Thing To Do

Add yourself to the BOD Developers mailing list.  This is mandatory if you have one of our SVN accounts, otherwise its optional --- anyone can be on it who wants to.  If you want an SVN account, please email Joanna Bryson.

Filing Bug Reports

Even if you can't or don't want to contribute as a programmer, bug reports are very welcome. All the code that's current is on github, or there's still some older things on sourceforge too, so you can submit bugs to the projects you have problems with. See further the AmonI Software Page.

How to Help:

Just building any project using our tools (& then giving us feedback & bug reports) is a big help.  Anyone can write anything in BOD.  If you have an AI system you are trying to build, we'd be happy to help (to the extent our time permits.)  If you are looking for some specific project ideas, you may want to read the Engineering section of the AmonI UROP page.

The AmonI BOD code used to be archived under SVN, now it's on Git.  Here are some resources:

page author: Joanna Bryson with help from Swen Gaudl.

Historic old funny notes about revision control

Using SVN (normally pronounced `subversion') isn't a big deal, but it does take some thought.  First, you need to clearly understand the concepts of checking out, updating & committing code.  Second, you need to remember that every time you create a new file or directory to your project you have to svn add it, and the same applies to removing or moving (renaming) it.  Have a look at the cheat sheet, or even read the documentation (linked to from the cheat sheet.)

Note: we follow the convention of having branch, trunk and tags directories under each project in the repository. So, if you want to checkout a program, you probably want to do something like this:
svn checkout svn:// jyposh-code

Just to make things exciting, if you want to edit the new C# version of POSH, you get a whole new kettle of version-control fish: git clone