|
RePast-AWHITBY ITEE Public Web ITEE Student IT Help UQ Innovation Expo (Authentication required) ITEE Internal Web ITEE Staff IT Help |
RePastRePast is an acronym for REcursive Porous Agent Simulation Toolkit. It is an agent simulation toolkit designed primarily for use in social science research. SourceRePast [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 http://repast.sourceforge.net. RequirementsRePast 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: http://java.sun.com/downloads/index.html. Cost and LicensingRePast 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:
For more formal purposes, an overview document exists which can be cited as:
Help FilesExtensive 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 CapabilitiesRePast 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 simulationsRePast 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 simulationsSimulations 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 simulationsRePast 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 analysisIn addition to extensive support for text based data logging, RePast can produce Quicktime animations of displays. UsefulnessRePast 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. Limitations/WeaknessesA 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. ScreenshotsFigure 1. The SimBuilder interface. Figure 2. The main RePast GUI. Figure 3. The heatbugs simulation, one of the demonstrations included with RePast. Other InformationRePast 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. References[0] Collier, N. (2002). Repast: An extensible framework for agent simulation. Available at http://repast.sourceforge.net/docs/repast_intro_final.doc (accessed 21 August 2003). [1] Gosling, J., Joy, B., Steele, G.and Bracha G. (2000). The Java Language Specification (2nd ed). Available at http://java.sun.com/docs/books/jls/second_edition/html/j.title.doc.html (accessed 25 August 2003). [2] Burkhart, R. (1994). "The Swarm Multi-Agent Simulation System", OOPSLA '94 Workshop on "The Object Engine". Available at http://www.santafe.edu/~rmb/oopsla94.html (accessed 25 August 2003). Where not stated specifically, information and screenshots presented here were gathered from the RePast project home page:
AdministriviaThis report was prepared by Andrew Whitby for COMP4001 (Complex Systems) at the University of Queensland. Last edited 24/08/2003.
|
feedback | |
©2003 The University of Queensland, Australia | |
ABN: 63 942 912 684 | |
CRICOS Provider Code 00025B | |
Authorised by: Head of School | |
Maintained by: webmaster@itee.uq.edu.au |