The Multi-Agent Simulation Suite (MASS) consists of four major components built around a simulation core.
The components include:
- the Functional Agent-Based Language for Simulations (FABLES), an easy-to-use programming language for agent-based simulations and its Eclipse-based integrated development environment. FABLES requires minimal programming skills and lets modelers create concise definitions of their models, similar in style to model descriptions in published papers.
- the Charting Package (CP), a rich set of dynamic charts and visualizations to display simulation output, accompanied by easy-to-use wizards that bring the definition of any chart only a few mouse clicks away. CP also comes with a graphical editor to pick from a rich set of descriptive statistics to specify the data to be charted.
- the Model Exploration Module (MEME) is a tool that enables designing and orchestrating simulation experiments, helps managing their results and supports their analysis. MEME has two distinct set of functionalities. The first is concerned with generating the data, the second is with analyzing it. MEME provides a Parameter Sweeper wizard that lets the user interactively define the parameter regions to explore, together with the data to be recorded. (For the latter purposes, an interactive graphical editor to pick from a rich set of descriptive statistics and other useful constructs is also available.) The experiments defined with the Parameter Sweeper wizard can be run on a single computer, on a cluster of computers, or on computational grids (using the QosCosGrid middleware). Moreover, the advanced functions of the Parameter Sweeper include support for various "IntelliSweep" methods, i.e., advanced simulation designs that can save on the number of runs without compromizing the significance of the results. (Many of these methods are based on the Design Of Experiments, DoE, literature on the statistics of classic experimental sciences.) MEME also provides a set of tools to collect, manage and analyze simulation esults. At the base of these is MEME's Results Database that stores data created by various versions of different models, possibly coming in several batches. MEME makes the navigation among these clean and easy, flexibly dealing with the unconveniences of missing data or mismatching variable lists of different batch runs. MEME also provides wizards to process the collected data, by filtering out rows or columns, by aggregating several rows (e.g., as a result of filtered-out variables), by deriving new variables using simple formuli or descriptive statistics, and by more advanced restructuring operations. In general, MEME provides modelers with the common pre-processing operations needed to re-format their results data for analysis. MEME is not a competitor of professional statistical packages like SPSS or STATA. Rather it is intended as a helper tool for those. Therefore, the processed data can be convieniently exported from MEME. In order to help previewing your output, MEME is integrated with the Charting Package, thus providing modelers with the option of quickly plotting their data in various formats.
- the Participatory Extension (PET) is a tool to web-enable agent-based models and to optionally transform them to participatory simulations, where human subjects control some of the agents via the world-wide web. PET is a multi-user environment, based on a dedicated network server. It is intended as an educational and/or laboratory tool. Therefore, it has two distinct user roles. The first is that of the 'teacher' or 'lab director' who can set up the environment for the 'students' or the 'subjects'. The teacher determines what _model_families_ (i.e., simulation programs) are available on the PET server, she configures the _models_ available to the students (i.e., with what specific agent composition, with what parameter values fixed and what values to be set by the students, etc.). The students, on the other hand, enter via a simpler user interface that lists the pre-configured models available to them. Depending on the settings by the teacher, students may be able to start their own _simulation_ copies, or can join to watch the progress of the simulation initiated by someone else (e.g., by the teacher). The teacher/lab director may also decide to make some agents in the model 'controllable', which means that students (subjects) joining the simulation can take control over them. Students that control agents are provided with a special graphical user interface that conveys the information available to the agent and provides 'actions' by which they can specify the agent's behavior. (A rudimentary control interface, in which actions are listed in the form of web links, is automatically generated by PET for any model. More advanced interfaces can be provided by Java programming.) In PET all simulations are recorded and are available for future playback, including those containing human controlled agents.
You can download the latest version of MASS here.