Last Modified 7 February 2007
Link to mailing list and bug reports fixed 12 April 2010.

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. 

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.

All of the AmonI BOD code is archived under SVN.  Here are some resources:

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 https://alis.cs.bath.ac.uk/svn/bai/jyposh/trunk jyposh

jyposh-only consideration: right now, if you aren't using eclipse, there's nothing that will compile the java parts of the MASON library for you, so if you've just checked things out of SVN, you need to go into mason_utilities and run javac *.java, and do the same thing in modules/mason. Request: could someone who knows ant make an even simpler comand that does this from the top line, e.g. `ant mason' or something?


page author: Joanna Bryson