# GAMA Platform

GAMA (GIS Agent-based Modeling Architecture) is a simulation platform with a complete modelling and simulation integrated development environment (IDE) for writing and experimenting spatially explicit agent-based models.

## About

The GAMA Platform is agent-based modeling software that was originally (2007-2010) developed by the Vietnamese-French research team MSI (located at IFI, Hanoi, and part of the IRD - SU International Research Unit UMMISCO). It is now developed by an international consortium of academic and industrial partners led by UMMISCO Archived 2022-01-23 at the Wayback Machine, including INRAE, the University of Toulouse 1, the University of Rouen, the University of Orsay, the University of Can Tho, Vietnam, the National University of Hanoi, EDF R&D, CEA LISC, and MIT Media Lab.
GAMA was designed to allow domain experts without a programming background to model phenomena from their field of expertise.
The GAMA environment enables exploration of emergent phenomena. It comes with a models library including examples from several domains, such as economics, biology, physics, chemistry, psychology, and system dynamics. The GAMA simulation panel allows exploration by modifying switches, sliders, choosers, inputs, and other user interface elements that the modeler chooses to make available.

## Technical foundation

GAMA Platform is free and open-source software, released under a GNU General Public License (GPL3). It is written in Java and runs on the Java virtual machine (JVM). All core components and extensions are written in Java, but end users do not need to work in Java at all if they use a published build of the platform; instead, they would write all models using GAML (described below).

### Multiple application domains

GAMA was developed with a very general approach and can be used for many application domains. GAMA is mostly present in applications domains like transport, urban planning, disaster response, epidemiology, analysis of multirobot systems, and the environment, with special emphasis on analyses that use GIS data.

### High-level Agent-based language

GAML (GAma Modeling Language) is the dedicated language used in GAMA. It is an agent-based language, that provides the possibility to build a model with several paradigms of modeling.
This high-level language was inspired by Smalltalk and Java, GAMA has been developed to be used by non-computer scientists.

### User interface

Modelers may use many visual representations for the same model, in order to highlight a certain aspect of a simulation. These include 2D/3D displays, with basic control of lighting, textures, and cameras. Standard charts such as series plots may also be constructed.

## Project examples

The developers maintain a community-sourced list of scientific projects that use GAMA.
Some of the larger efforts include:
* Hoan Kiem Air: Agent based modeling and simulation of the urban management on traffic and air pollution through tangible interface.
* Proxymix: Visualization tool about the influence of spatial configuration on human collaboration.
* CityScope Champs-Elysées: An interactive platform to improve decision-making related to the revitalization of the Champs Élysées.
* ESCAPE: A Multi-modal Urban Traffic Agent-Based Framework to Study Individual Response to Catastrophic Events.
* COMOKIT: Generic model of public policies to contain the spread of COVID-19 epidemics in a city, validated on the basis of different case studies.

## Users

Several academic institutions teach modeling and simulation courses based on GAMA. It is taught in the Urban Simulation class at the Potsdam University of Applied Sciences, and at the University of Salzburg. It is also used and taught annually at the Multi-platform International Summer School on Agent-Based Modelling & Simulation.