Last Modified 22 April 2008

jyPOSH documentation

Behavior Oriented Design (BOD) is a way to develop AI systems.  It requires a modular behavior library in any OO language, and a version of POSH action selection for that language.  jyPOSH (formerly pyPOSH) is a version of POSH that runs in Python and Jython

Note on python:  if you are using python, you now need to use python 2.4 at least because of the logging.  However, note that to maintain compatability with jython, most features of even python 2.3 are not used.

Instructions for installing and using BOD and jyPOSH are on the web.  Please note that jyPOSH is open source & we are happy to have additional help with development (including of documentation).  Email us for access to our SVN repository.


There are two ways to use jyPOSH, either with a GUI or from the command line.  The command line is more powerful, in that it allows you to easily start multiple agents by specifying their parameters in an initialisation file.  The GUI just makes people happy.

To use any version of jyPOSH you need to add POSH/log4j-1.2.jar to your Java Classpath. Consult the documentation of your Java installation on how to do this.

To get the GUI, run jython  You might be able to hack from there.  However, the most significant behavior libraries we distribute rely on other external software (e.g. the MASON simulation environment or Unreal Tournament) for creating the environment the BOD agents will run in.  There is one simple demo, the cookie demo, that is happy to run with just the OS as the environment (at least under linux, unix or mac OS X). contains code that will run an agent without using the GUI.  If you are running under python instead of jython you must use this.  All of the options that could be set in the GUI are also easily set in an init_agent text file, which may be passed to as an option. 

Run either python --help or  jython --help for instructions, depending which language you want to use.

Green backgrounded text indicates files that only matter if you are going to be using a MASON behavior library.  MASON is an agent-based modelling toolkit.  To use MASON, you need to set the Java CLASSPATH to include platform_files/MASON/mason.jar. Also, you must consult platform_files/MASON/README before using MASON for the first time.

Files (in this folder)


Boldface indicates directories that have code you will edit if you create your own agents.

Behaviour Libraries

A single behaviour library can support many different agents on a single platform.  The individual agents are defined by their POSH scripts, which are found in a subdirectory called plans.  When using, you can set the number and parameters of agents you run by editing the init_agent script in that library's directory (or that you pass to as an argument).

Boldface indicates recommended libraries.  Documentation for these can be found linked on the AmonI Software Page.

Other Documentation

page authors: Joanna Bryson, Jan Drugowitsch