Recursive Porus Agent Simulation Toolkit
Douglas Samuelson and Charles Macal, "Agent-based Simulation Comes of Age," OR/MS Today, Vol. 33, Number 4, pp. 34-38, Lionheart Publishing, Marietta, GA, USA (August 2006).
North, M.J., N.T. Collier, and J.R. Vos, "Experiences Creating Three Implementations of the Repast Agent Modeling Toolkit," ACM Transactions on Modeling and Computer Simulation, Vol. 16, Issue 1, pp. 1-25, ACM, New York, New York, USA (January 2006).
The Recursive Porous Agent Simulation Toolkit (Repast) is one of several agent modeling toolkits that are available. Repast borrows many concepts from the Swarm agent-based modeling toolkit [1]. Repast is differentiated from Swarm since Repast has multiple pure implementations in several languages and built-in adaptive features such as genetic algorithms and regression. For reviews of Swarm, Repast, and other agent-modeling toolkits, see the 2002 survey by Serenko and Detlor, the 2002 survey by Gilbert and Bankes, and the 2003 toolkit review by Tobias and Hofmann [2][3][4].
Repast is a free open source toolkit that was originally developed by Sallach, Collier, Howe, North and others [5]. Repast was created at the University of Chicago. Subsequently, it has been maintained by organizations such as Argonne National Laboratory. Repast is now managed by the non-profit volunteer Repast Organization for Architecture and Development (ROAD). ROAD is lead by a board of directors that includes members from a wide range of government, academic and industrial organizations. The Repast system, including the source code, is available directly from the web.
Repast seeks to support the development of extremely flexible models of living social agents, but is not limited to modeling living social entities alone. From the ROAD home page:
Our goal with Repast is to move beyond the representation of agents as discrete, self-contained entities in favor of a view of social actors as permeable, interleaved, and mutually defining; with cascading and recombinant motives. We intend to support the modeling of belief systems, agents, organizations, and institutions as recursive social constructions.
At its heart, Repast toolkit version 3 can be thought of as a specification for agent-based modeling services or functions. There are three concrete implementations of this conceptual specification. Naturally, all of these versions have the same core services that constitute the Repast system. The implementations differ in their underlying platform and model development languages. The three implementations are Repast for Java (Repast J), Repast for the Microsoft.Net framework (Repast.Net), and Repast for Python Scripting (Repast Py). Repast J is the reference implementation that defines the core services. In general, it is recommended that basic models can be written in Python using Repast Py due to its visual interface and that advanced models be written in Java with Repast J or in C# with Repast .Net.
Repast 3 has a variety of features including the following:
References
The design of this web site is, in part, based on the web design of the excellent graph library JUNG, http://jung.sourceforge.net
Thanks to the people at "YourKit Java Profiler" for providing us with an open source license for their Java profiler. It has been very useful in optimizing updates to Repast's spatial classses.