GAMA Platform
| GAMA Platform | |
|---|---|
Screenshot from the GAMA Platform 1.8.0 | |
| Developer | IRD |
| Initial release | October 2009.[1] |
| Stable release | 2025-06
/ July 3, 2025[2] |
| Repository | https://github.com/gama-platform/gama |
| Written in | Java |
| Engine | |
| Operating system | Windows, macOS, Linux |
| Platform | x86-64, ARM |
| Size | 170 ~ 375 MB |
| Available in | English |
| License | GPL3 |
| Website | http://gama-platform.org |
GAMA[3][4] (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.[5][6]
About
[edit | edit source]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.[6]
GAMA was designed to allow domain experts without a programming background to model phenomena from their field of expertise.[7]
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.[8] The GAMA simulation panel allows exploration by modifying switches, sliders, choosers, inputs, and other user interface elements that the modeler chooses to make available.[9]
Technical foundation
[edit | edit source]GAMA Platform is free and open-source software, released under a GNU General Public License (GPL3).[10] It is written in Java and runs on the Java virtual machine (JVM).[11] 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
[edit | edit source]GAMA was developed with a very general approach and can be used for many application domains.[5] GAMA is mostly present in applications domains like transport,[12][13][14][15][16] urban planning,[14][15][16] disaster response,[17] epidemiology,[18][19][20] analysis of multirobot systems,[21][22] and the environment,[14][15][16] with special emphasis on analyses that use GIS data.[23][24]
High-level agent-based language
[edit | edit source]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.[5]
This high-level language was inspired by Smalltalk and Java, GAMA has been developed to be used by non-computer scientists.[5]
User interface
[edit | edit source]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.[5]
Project examples
[edit | edit source]The developers maintain a community-sourced list of scientific projects that use GAMA.[25]
Some of the larger efforts include:
- Hoan Kiem Air:[14] Agent based modeling and simulation of the urban management on traffic and air pollution through tangible interface.
- Proxymix:[26] Visualization tool about the influence of spatial configuration on human collaboration.
- CityScope Champs-Elysées:[15] An interactive platform to improve decision-making related to the revitalization of the Champs Élysées.
- ESCAPE:[16] A Multi-modal Urban Traffic Agent-Based Framework to Study Individual Response to Catastrophic Events.
- COMOKIT:[19][20] 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
[edit | edit source]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,[27] and at the University of Salzburg.[28] It is also used and taught annually at the Multi-platform International Summer School on Agent-Based Modelling & Simulation.[29]
See also
[edit | edit source]- Agent-based model
- Comparison of agent-based modeling software
- NetLogo
- Repast (modeling toolkit)
- MASON (Java)
References
[edit | edit source]- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b c d e Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
Material was copied from this source, which is available under a Creative Commons Attribution 4.0 International License.
- ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
Material was copied from this source, which is available under a Creative Commons Attribution 4.0 International License.
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b c d Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b c d Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b c d Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).