Wolfram Library Archive

Courseware Demos MathSource Technical Notes
All Collections Articles Books Conference Proceedings
Title Downloads

Linking Mathematica and the Repast Agent-Based Modeling Toolkit

Charles M. Macal
Organization: Argonne National Laboratory
Thomas Howe

2005 Wolfram Technology Conference
Conference location

Champaign IL

This presentation describes linking Mathematica with the Java-based Repast agent-based modeling toolkit in an interactive and seamless agent simulation environment. Mathematica is used as the environment for constructing the agent models, and Repast is used for its discrete-event simulation features and simulation controls. Repast, the Recursive Porous Agent Simulation Toolkit, is the leading free and open source large-scale agent-based modeling and simulation library (Repast home pageórepast.sourceforge.nett/). In general, agent-based modeling toolkits support the development of flexible models of agent behaviors emphasizing sophisticated social interactions and social structure development. Large-scale agent-based modeling environments, such as Repast, support features specific to agent modeling, including the availability of sophisticated time schedulers, agent communications mechanisms, flexible interaction topologies, and facilities for storing and displaying agent states. Typically, Repast users build simulations by incorporating Repast library components into their own Java programs or by using a visual scripting environment. We describe a new configuration for building agent-based models in which Repast simulation classes are extended to call various Mathematica programs that model agent behavior. Interactive controls provided by Repast include Initialize, Step, Run, and Pause for controlling the course of the simulation. Mathematicaís J/Link classes provide user functionality for interacting with and controlling the simulation as it progresses. Mathematicaís mathematical modeling libraries, visualization capabilities, statistical analysis routines, and database capabilities are then available to the agent-based modeling environment. The agent modeling environment written in Mathematica includes agent update functions that are executed each time period in the simulation. The agent update functions include updating the agent location and the agentís status, based on agent interactions and external events that affect the agents. The linked Mathematica-Repast system is an interpreted environment, requiring no compilation or linking steps that are required by general programming languages or agent-based modeling toolkits alone. The linked system also allows users to access the full range of Repast-provided Java classes as well as the Mathematica classes provided through J/Link. One of the features of the linked system is that it naturally provides a real-time, interactive animation system for agent-based simulations. Several examples are presented.

*Wolfram Technology > Linking Technology > J/Link

5767.zip (2.7 MB) - ZIP archive