This is G o o g l e's cache of
G o o g l e's cache is the snapshot that we took of the page as we crawled the web.
The page may have changed since that time. Click here for the current page without highlighting.
To link to or bookmark this page, use the following url:

Google is not affiliated with the authors of this page nor responsible for its content.
These search terms have been highlighted: simulation social science 

The University of Queensland UQ HomeSearchMapsContactsLibrary
School of Information Technology & Electrical Engineering my.UQ
  World Class: Be Part of It

In this section


Quick Links

  ITEE Public Web
  ITEE Student IT Help
  UQ Innovation Expo

(Authentication required)
  ITEE Internal Web
  ITEE Staff IT Help

  ITEE Home COMP4001 - Special Topics In Computer Science 4B CxSys Software Reviews print version  


RePast is an acronym for REcursive Porous Agent Simulation Toolkit. It is an agent simulation toolkit designed primarily for use in social science research.


RePast [0] was originally developed by the University of Chicago's Social Science Research Computing group. It is now publically hosted as a sourceforge project and is available at


RePast requires at least Java 1.4. For running existing simulations, only the Java Runtime Environment is required. For creating new simulations or modifying existing simulations, the Java SDK is needed.

Java can be downloaded here:

Cost and Licensing

RePast has been released under the BSD license, which allow for free redistribution of binary and source code, with or without modifications. The RePast project can be cited as:

Collier, N. (2002). Repast: An extensible framework for agent simulation. (

For more formal purposes, an overview document exists which can be cited as:

Collier, N. (2002). Repast: An extensible framework for agent simulation. (

Help Files

Extensive documentation is available at the RePast website, including a FAQ , a set of HOWTOs and javadoc-generated documentation of RePast's application programming interface (API). The RePast overview document [0] provides an introduction to the philosophy behind RePast and the resultant feature-set.

For beginning users, the overview is probably the best place to start reading, followed by the HOWTOs, before finally progressing to the more detailed API docs.

Core Capabilities

RePast is a software framework for creating agent based simulations. It is based on the Java [1] programming language and as such, potential simulation authors must be familiar with Java. Once a simulation has been created, it can be distributed along with the framework in a manner that allows end users with no knowledge of Java to perform experiments. RePast provides a library of classes whose functions include:

Creating agent based simulations

RePast has much in common with earlier simulation toolkits such as Swarm [2] and will be familiar to users with experience in these toolkits. The system consists of infrastructure classes and representational classes, the former controlling the simulation and the latter representing the actual agents being modelled (people, households, investors). Simulations take place in discrete time, following an event scheduling approach in which interactions in the system are scheduled to occur some number of 'ticks' in the future. Simulations also occur in discrete space for which RePast provides a number of 2D models (including grid, torus and hexagonal space).

An add-on to RePast, SimBuilder (see Figure 1), can be used to develop RePast simulations rapidly using a subset of the Python scripting language. It appears to quite advanced although still a work in progress.

Running simulations

Simulations are design to be run from the RePast GUI (see Figure 2). This interface provides end users with a simple start/stop/pause level of control over the simulation. Alternatively simulations can be loaded and run from the command line.

Displaying data from simulations

RePast comes with a number of classes to assist in simulation display, including various graph views and also 2D maps (see Figure 3 for an example). The display framework is user-extensible, allowing simulation authors to modify or add to the existing display classes.

Collecting data from simulations for later analysis

In addition to extensive support for text based data logging, RePast can produce Quicktime animations of displays.


RePast is primarily useful as an agent simulation framework that highly configurable. The class library is constructed in such a way that users can as little or as much of the framework as is necessary to construct a given simulation. Although it is primarily designed for experiments and simulations in social science, it appears to be general enough for most agent simulation purposes in other fields. It is probably not a good choice for simple or highly mathematical simulations, but for simulations requiring a high degree of programmatic complexity, RePast many useful classes within the context of Java's already powerful class library makes it a good choice.

Another significant advantage of RePast is that, being based on the Java platform, it should be possible to run it on any operating system that supports a modern Java implementation.


A significant weakness is that RePast does not currently have built-in support for 3D spaces. Although the authors report that users have added some 3D support independently, this support is not integrated into the main release and is currently on the ToDo list.

Also, simulation building is currently quite complicated, with a steep learning curve (compared to many less powerful toolkits). Future developments in the SimBuilder modules should make this process more user friendly.

Current bug reports and feature requests are available via Sourceforge.


Figure 1. The SimBuilder interface.

The main RePast GUI

Figure 2. The main RePast GUI.

Figure 3. The heatbugs simulation, one of the demonstrations included with RePast.

Other Information

RePast is an ongoing open source project, with active mailing lists and a community of supportive users. For more information see the project page at Sourceforge.

In addition, the RePast home page provides links to numerous simulations contributed by users - these may prove useful as the basis for new simulations, although authors should be contacted regarding the licensing conditions under which they are made available.


[0] Collier, N. (2002). Repast: An extensible framework for agent simulation. Available at (accessed 21 August 2003).

[1] Gosling, J., Joy, B., Steele, G.and Bracha G. (2000). The Java Language Specification (2nd ed). Available at (accessed 25 August 2003).

[2] Burkhart, R. (1994). "The Swarm Multi-Agent Simulation System", OOPSLA '94 Workshop on "The Object Engine". Available at (accessed 25 August 2003).

Where not stated specifically, information and screenshots presented here were gathered from the RePast project home page: (accessed 21 August 2003).


This report was prepared by Andrew Whitby for COMP4001 (Complex Systems) at the University of Queensland.

Last edited 24/08/2003.


2003 The University of Queensland, Australia
ABN: 63 942 912 684
CRICOS Provider Code 00025B
Authorised by: Head of School
Maintained by: