MASON 22 is a fast agent-based simulation library core in Java, designed to be the foundation for large custom-purpose Java simulations, and also to provide more than enough functionality for many lightweight simulation needs. MASON contains both a model library and an optional suite of visualization tools in 2D and 3D.
MASON has many extensions, notably Distributed MASON for cloud and cluster deployment, and GeoMason, which adds GIS, along with MASON DES, which adds Discrete Event Simulation facilities. Many recent enhancements to MASON and GeoMASON, including the development of Distributed MASON, were funded by NSF Grant 1727303. MASON was designed by Sean Luke, Gabriel Catalin Balan, Keith Sullivan, and Liviu Panait, with help from Claudio Cioffi-Revilla, Sean Paus, Daniel Kuebrich, Joey Harrison, Dave Freelan, Anzal Khan, Raven Russell, and Ankur Desai. Distributed MASON is a joint effort of George Mason University (USA) and Università degli Studi di Salerno (Italy) and was developed by Haoliang Wang, Ermo Wei, Rajdeep Singh Lather, Matteo D'Auria, Giuseppe D'Ambrosio, Daniele De Vinco, Rajhersh Patel, Lilas Dinh, Ryan Moffatt, Zach Osman, Carmine Spagnuolo, and Sean Luke, with help from Andrew Crooks, Vittorio Scarano, and Bob Simon. What's New in 22
Download MASON and Distributed MASON
|
|
Documentation and Help
- Manual
- MASON has an over 450-page PDF manual which includes a full documentation of the system plus a 14-part tutorial, and extensive descriptions of Distributed MASON.
- Class Documentation
-
MASON's classdocs are available online
- Mailing Lists and Addresses
- Questions about using MASON? First, try reading the archives of the MASON-INTEREST-L mailing list. If you can't find your answer there, you might then try joining the list and posting your question. (Alternatively, send mail to listserv@listserv.gmu.edu with the words subscribe MASON-INTEREST-L in the body of the message. Likewise, to unsubscribe, use unsubscribe MASON-INTEREST-L)
Only if you can't join the list for some technical reason, you may ask the developers directly by sending email to mason-help —at— cs.gmu.edu.
Extensions
- MASON Discrete Event Simulation (DES) Extensions
- This module makes it possible to use MASON as a full-fledged DES toolkit, and to run DES and Agent-based simulations simultaneously in the same model.
- GeoMason: Geospatial Support for MASON
- This module adds to MASON extensive support for GIS, using the Java Topology Suite.
- Distributed MASON
- This experimental module is working towards extending MASON to distributed and cloud-computing architectures over MPI.
- D-MASON
- A distributed implementation of MASON designed to run over cluster and cloud-computing architctures. D-MASON is stable and is the predecessor to Distributed MASON.
- ECJ
- A high-performance, extensively featured stochastic optimization and metaheuristics toolkit in Java, with which MASON was designed to dovetail. If you're hoping to let the computer discover design solutions to your complex agent-based models, or to automate their calibration, ECJ is the right tool for it. The MASON manual discusses the contrib/optimize package, which simplifies the combination of ECJ and MASON to do automated, large-scale model calibration.
- Social Networks in MASON
- (also available in the MASON repository as contrib/socialnetworks)
This module is our own homegrown (and speedy, but hardly as well-tested as JUNG) social network package. It provides a fair number of social network statistics and other measures, building off of MASON's Network class. Download the module as socialnets.zip. Also available as contrib/socialnets in the MASON source distribution
- Rigid Body 2D Physics Simulator Package
-
by Christian Thompson cthomps7 —at— gmu.edu
(available in the MASON distribution under contrib/physics2d)This module adds a simple, pure-Java constraint-based rigid body physics engine to MASON.
- MASON Web Tutorial 1: Parameterize Your Simulation
- s Lsearn one approach to loading parameters into MASON at runtime.
- MASON Web Tutorial 2: Build an Applet Out of MASON
- How we make applets out of MASON for fun and profit.
- Building and Running MASON on NetBeans
- Very straightforward.
- Building and Running MASON on Eclipse
- For the Mac. For early versions of Eclipse on Windows, it's very slightly different; but this tutorial should help.
- Converting MASON movies to small, properly running ones using iMovie.
- 2006 WCSS MASON Tutorial slides, libraries, code, and documentation.
- A walk-through of constructing a Schelling model. This code is now part of the MASON demo applications.
- 2008 WCSS MASON Tutorial slides, libraries, code, and documentation.
- A reconstruction of student playground cliques. This code is now part of the MASON demo applications.
- Mason-Tools
- Roman Seidl's collection of extensions to improve MASON.