-
Notifications
You must be signed in to change notification settings - Fork 99
Home
GAMA is a modeling and simulation development environment for building spatially explicit agent-based simulations.
- Multiple application domains: Use GAMA for whatever application domain you want.
- High-level and Intuitive Agent-based language: Write your models easily using GAML, a high-level and intuitive agent-based language.
- GIS and Data-Driven models: Instantiate agents from any dataset, including GIS data, and execute large-scale simulations (up to millions of agents).
- Declarative user interface: Declare interfaces supporting deep inspections on agents, user-controlled action panels, multi-layer 2D/3D displays & agent aspects.
Its latest version, 1.8.2, can be freely downloaded or built from source, and comes pre-loaded with several models, tutorials and a complete on-line documentation.
GAMA has been developed with a very general approach and can be used for many application domains. Some additional plugins have been developed to fit particular needs. The source code is available from our dedicated Github repository.
Examples of application domains where GAMA is mostly present:
- Transport planning
- Urban planning
- Epidemiology
- Environment
Regular training sessions about topics such as "urban management", "epidemiology", "risk management" are also provided by the team. Since GAMA is an open-source software that continues to grow, if you have any particular needs for improvement, feel free to share it to its active community!
Thanks to its high-level and intuitive language, GAMA has been developed to be used by non-computer scientists. You can create your world, declare your species, give them some special behaviors, and display them and their interactions in less than 10 minutes.
GAML is the language used in GAMA, coded in Java. It is an agent-based language, that provides you the possibility to build your model with several paradigms of modeling. Once your model is ready, certain features allow you to explore and calibrate it, using the input parameters you defined your simulation.
We provide continous support through the active mailing list where our team and other users will answer your questions. Besides, you can learn GAML on your own, following the step by step tutorial, and the other tutorials available.
GAMA (GIS Agent-based Modeling Architecture) provides you, since its creation, the possibility to load easily GIS (Geographic Information System).
You can import a large number of data types, such as text, files, CSV, shapefile, OSM (open street map data), grid, images, SVG, but also 3D files, such as 3DS or OBJ, with their texture.
Some advanced features provide you the possibility to connect GAMA to databases, and also to use powerful statistical tools such as R.
GAMA has been used in large-scale projects, using a great number of agents (up to millions of agents).
GAMA provides you the possibility to have multiple displays for the same model. You can add as many visual representations as you want for the same model, in order to highlight a certain aspect of your simulation. Add easily new visual aspects to your agents.
Advanced 3D displays are provided: you can control lights, cameras, and also adding textures to your 3D objects. On the other hand, dedicated statements allow you to define easily charts, such as series, histogram, or pies.
During the simulations, some advanced features are available to inspect the population of your agents. To make your model more interactive, you can add easily some user-controlled action panels, or mouse events.
GAMA is developed by several teams under the umbrella of the IRD/SU international research unit UMMISCO:
- UMI 209 UMMISCO, IRD/SU, 32 Avenue Henri Varagnat, 93143 Bondy Cedex, France.
- ACROSS International Joint Lab, Thuyloi University, Hanoi, Vietnam (since 2021)
- DREAM Research Team, University of Can Tho, Vietnam (since 2011).
- UMR 5505 IRIT, CNRS/University of Toulouse 1, France (since 2010).
- UR MIAT, INRAE, 24 Chemin de Borde Rouge, 31326 Castanet Tolosan Cedex, France (since 2016).
- UMR 6228 IDEES, CNRS/University of Rouen, France (2010 - 2019).
- UMR 8623 LRI, CNRS/University Paris-Sud, France (2011 - 2019).
- MSI Research Team, Vietnam National University, Hanoi, Vietnam (2007 - 2015).
If you use GAMA in your research and want to cite it (in a paper, presentation, whatever), please use this reference:
Taillandier, P., Gaudou, B., Grignard, A.,Huynh, Q.-N., Marilleau, N., P. Caillou, P., Philippon, D., & Drogoul, A. (2019). Building, composing and experimenting complex spatial models with the GAMA platform. Geoinformatica, (2019), 23 (2), pp. 299-322, [doi:10.1007/s10707-018-00339-6]
or you can choose to cite the website instead:
GAMA Platform website, http://gama-platform.org
A complete list of references (papers and PhD theses on or using GAMA) is available on the references page.
YourKit supports open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of YourKit Java Profiler and YourKit .NET Profiler, innovative and intelligent tools for profiling Java and .NET applications.
This page is licensed under a Creative Commons Attribution 4.0 International License.
- Installation and Launching
- Workspace, Projects and Models
- Editing Models
- Running Experiments
- Running Headless
- Preferences
- Troubleshooting
- Introduction
- Manipulate basic Species
- Global Species
- Defining Advanced Species
- Defining GUI Experiment
- Exploring Models
- Optimizing Model Section
- Multi-Paradigm Modeling
- Manipulate OSM Data
- Diffusion
- Using Database
- Using FIPA ACL
- Using BDI with BEN
- Using Driving Skill
- Manipulate dates
- Manipulate lights
- Using comodel
- Save and restore Simulations
- Using network
- Headless mode
- Using Headless
- Writing Unit Tests
- Ensure model's reproducibility
- Going further with extensions
- Built-in Species
- Built-in Skills
- Built-in Architecture
- Statements
- Data Type
- File Type
- Expressions
- Exhaustive list of GAMA Keywords
- Installing the GIT version
- Developing Extensions
- Introduction to GAMA Java API
- Using GAMA flags
- Creating a release of GAMA
- Documentation generation