Repast: A Software Toolkit for
Agent-Based Social Science Modeling

Self-Study Guide for Java-Based Repast

Last Updated: 26 February 2024

Site Maintained By:
Leigh Tesfatsion
Professor Emerita of Economics
Courtesy Research Professor of
   Electrical & Computer Engineering
Heady Hall 260
Iowa State University
Ames, Iowa 50011-1054
tesfatsi AT

Guide for Newcomers to Agent-Based Modeling
Agent-Based Computational Economics (ACE) Resources
Online ACE Course (self-study eBook)
ACE/CAS Comp Labs and Demo Software
ACE/CAS General Software and Toolkits

Objectives and Topic Listing:

The suite of free open-source agent-based modeling simulation platforms known as Repast (REcursive Porous Agent Simulation Toolkit) was developed by David Sallach and other researchers at the University of Chicago and the Argonne National Laboratory for social science applications.

Repast permits the systematic study of complex system behaviors through controlled and replicable computational experiments. More precisely, Repast provides a core collection of classes for the building and running of agent-based simulations and for the collection and display of data through tables, charts, and graphs. A particularly attractive feature of Repast is its ability to integrate GIS (geographical information science) data directly into simulations.

Repast has been released in multiple versions supporting model development in various programming languages:
  1. Repast (Java based);
  2. RepastPy (based on the Python Scripting language);
  3. Repast.Net (implemented in C# but any .Net language can be used);
  4. RepastS (Repast Simphony, Java based, designed for use on workstations and small computing clusters);
  5. Repast High Performance Computing (an expert-focused C++-based modeling system designed for use on large computing clusters and supercomputers).
Repast can be run on virtually all modern computing platforms (e.g., Microsoft Windows, Apple Mac OS X, and Linux).

A comprehensive list of documentation for all latest Repast releases, including detailed technical information regarding the installation and use of these releases, is provided at the following site: Repast Documentation (GitHub Repository).

In summer 2004 an informal Repast Study Group was organized at Iowa State University for those wishing to undertake a study of the Repast toolkit. The primary reason for organizing the group was to help participants obtain some facility with Repast through readings, hands-on experience with Repast demos, and simple programming exercises. The objective was to determine the degree to which Repast provides a useful and user-friendly agent-based modeling tool for economics and related fields.

This site, originally developed for Repast Study Group participants, provides links to readings, discussion materials, software, and other resources of potential use to those wishing to embark on a self-study of Repast based on a Java development environment. Although some prior programming experience is desirable, it is not presumed.

0. For Those Who Want to Jump Right In

  1. Introduction to CAS/ABM/ACE
    1. What is a Complex Adaptive System (CAS)?
    2. What is Agent-Based Modeling (ABM)?
    3. What is Agent-Based Computational Economics (ACE)?
  2. Agent-Oriented Programming
    1. General Overview
    2. Introduction to Java
  3. Getting Acquainted with Repast
    1. Background Materials
    2. Downloadable Stand-Alone Repast Demos
  4. Programming with Repast
    1. The Repast Software Framework
    2. Repast Development Environments
    3. Repast Documentation and Tutorials
    4. Repast Demos and Applications (Open Source)
    5. Design of Experiments
  5. Possible Repast Modeling Application Areas: On-Line Resource Sites


0. For Those Who Want to Jump Right In

I. Introduction to CAS/ABM/ACE

I.A What is a Complex Adaptive System (CAS)?

I.B What is Agent-Based Modeling (ABM)?

I.C What is Agent-Based Computational Economics (ACE)?

Other introductory source materials on CAS/ABM/ACE

II. Agent-Oriented Programming

II.A General Overview

II.B Introduction to Java

Other source materials related to agent-oriented programming

III. Getting Acquainted with Repast

III.A Background Materials

III.B Downloadable Stand-Alone Repast Demos

IV. Programming with Repast

IV.A The Repast Software Framework

IV.B Repast Development Environments

Note: Integrated Development Environments (IDEs) are programs that permit you to write, compile, run, and debug programs from within a single environment.

IV.C Other Repast Documentation and Tutorials

IV.D Repast Demos and Applications (Open Source)

IV.E Design of Experiments

Possible Repast Modeling Application Areas

Copyright © Leigh Tesfatsion. All Rights Reserved.