In the last ten years there has been a striking increase in the use of agent-based models to study complex systems. This booming is partly due to the success of several software platforms that have reached a level of maturity supporting the development and simulation of agent-based models (Netlogo (Wilensky, 1999), Repast (North et al., 2007), etc.). However, even with these platforms, the problem of the model design is still an open issue.

Indeed, whereas some platforms such as Netlogo provide a dedicated modeling language to ease the model design, they are quite limited when dealing with rich models relying on GIS data. Other platforms, or toolboxes such as Repast, that allow to build more rich models are very complex to use and requires strong computer science skills. Consequently, field experts have to rely on computer scientists to develop models which slows the development and the use of realistic agent-based models.

The GAMA (GIS & Agent-based Modeling Architecture) modeling and simulation platform aims at addressing such shortcomings. This open source platform provides field experts, modelers, and computer scientists with a complete modeling and simulation environment for building rich spatially explicit agent-based simulations. In addition, it is shipped with ready-to-use abstractions for the most common needs (e.g. decision architectures, generic agent?s skill such as movements regardless of the representation of the environment), which are accessible through a dedicated high-level modeling language (GAML) and remains extensible by Java programmers.

The GAMA platforms propose many features:

– Modeling IDE: The GAMA modeling language (GAML) is supported by an advanced modeling IDE which eases the development of complex model (multiple environments and/or multi-level for instance). This IDE features code coloration, syntax and coherency checking.
– Graphical user interface: The simulator graphical interface allows to keep track of the simulation dynamics from multiple point of views. Environment visualizations (2d or 3d), monitors and (agent) inspectors allow to view the instantaneous state of the simulation whereas various charts keep track of the simulation dynamics.
– Multiple environments: GAMA is particularly powerful concerning the management of complex environments. It allows to define several environments that can have different topologies (grid, graph or continuous). Each GAMA agent has a shape that is a 3D simple vector geometry.
– Seamless GIS integration: A particularly interesting feature of GAMA is the possibility to create agents and to define their attributes (in particular their shape) from real data using shapefiles. In order to ease the manipulation of vector geometries, GAMA integrates many GIS operators that are directly available through the GAML language (geometry buffer, convex-hull, intersection, difference, etc.).
– Mathematical model integration: GAMA integrates a built-in numerical solver for ordinary differential equations. This allows to define agent behavior according to differential equations and study coupling (or simply compare) with agent-based models.
Advanced visualization: GAMA provides a high-level graphic library (based on OpenGL) that allows user to define their own custom multi-layer displays. Each of these displays can show different information and represent the agents in different ways.

GAMA has already been used in various large scale applications that share a strong focus on the interactions between agents and complex environments (e.g. Banos et al., 2012; Gaudou et al., 2014; Czura, 2015)

A demo video can be found at https://www.youtube.com/watch?v=6m_-UY8UBuk to illustrate both advanced features and existing applications.

The platform website (www.gama-platform.org) provides modelers with numerous tutorials and GAML language reference. It provides developers with guides on how to extend the platform with their own plugins (GAMA is under GPL) while the code is accessible on the project?s SVN. The GAMA executable for the 3 major OS can also be downloaded from this website.

The tutorial will illustrate most of the GAMA features through the construction of a simple model concerning the propagation of a disease in a small city. In particular, this tutorial shows how to define a GAMA model: the structure of a model, the definition of a species of agents and their display. In addition, this tutorial illustrates how to load GIS data, to agentify them and to use a network of polylines to constrain the movement of agents.

References
Banos, A., Marilleau, N. and MIRO team: Improving individual accessibility to the city: an agent-based modelling approach. Proc. of ECCS, Bruxelles. (2012)

Gaudou, B., Sibertin-Blanc, C., Therond, O., Amblard, F., Auda, Y., Arcangeli, J. P., … & Mazzega, P: The MAELIA multi-agent platform for integrated assessment of low-water management issues. In International Workshop on Multi-Agent-Based Simulation-MABS 2013 Vol. 8235, pp. pp-85. (2014)

North, M., Howe, T., Collier, N., Vos, J.: A declarative model assembly infrastructure for verification and validation. Proc. of Advancing Social Simulation: 1st World Congress. (2007)

Czura, G., Taillandier, P., Tranouez, P., Daud, ?.: MOSAIIC: City-Level Agent-Based Traffic Simulation Adapted to Emergency Situations. Proceedings of the International Conference on Social Modeling and Simulation, plus Econophysics Colloquium 2014, Springer International Publishing, 265-274. (2015)
Wilensky, U.: Netlogo. Technical report, Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL. (1999)

Authors

Patrick Taillandier Patrick Taillandier graduated in AI in 2005 and received his PhD degree in 2008 at the University Paris Est (COGIT lab - IGN). After working two years for the MSI research team (IFI - Hanoi, Vietnam) and one year for the SMAC research team (IRIT - Toulouse, France), he was recruited in 2011 as an associate professor by the University of Rouen. He works on agent-based modeling of complex systems and participates in the development of the GAMA platform.http://www.umr-idees.fr/?taillandier-patrick
Benoit Gaudou BENOIT GAUDOU is Associate Professor of Computer Science at University Toulouse 1 Capitole and associated researcher to the Institut de Recherche en Informatique de Toulouse (IRIT, UMR CNRS 5505) in the SMAC (Cooperative Multi-Agent Systems) team. He holds M.S. and Ph.D. degrees in Computer Science from University Paul Sabatier. His main research interests concern cognitive agents modelling and simulation, he is strongly involved in the development of the GAMA simulation platform.https://sites.google.com/site/benoitgaudou/
An Duc Vo Duc-An Vo is a lecturer of Computer Science at the University of Science and Technology of Da Nang. He holds a Ph.D degree in Computer Science from Paris 6 University. His main research interest includes agent-based modeling and simulation, multi-level agent-based modelling and generation of synthetic agent populations.
Arnaud Grignard After being graduated from ESCPE Lyon Engineering school in 2008, Arnaud Grignard has been working for two years at the Rhône Alpes Complex Systems Institute (IXXI). He is currently a PhD Candidate of the University of Paris 6 (UPMC). His thesis is part of the framework of the usage of complex and multi-scale models for environmental decisions support using modelling and simulation tools. It studies more especially the role of visualization and interaction in human-computer interface on the study of complex systems and more precisely in agent-based modeling.
Alexis Drogoul Alexis Drogoul graduated in AI in 1990 and received his PhD. degree from the Univ. of Paris 6 in 1993. Recruited in 1995 as associate professor, he became full professor in 2000 and joined the IRD as senior researcher in 2004. He works on agent-based simulation of complex systems, mainly by developing the GAMA platform. Since 2007, he is living and working in Vietnam, where his contribution has been oriented towards enhancing the research capacity of several Vietnamese institutions on the use of models and simulations in Environmental Decision-Support Systems.

Tutorials

Photos by : Derek K. Miller