Developer(s) | IRD |
---|---|
Initial release | October 2009 . [1] |
Stable release | 1.9.1 / April 25, 2023 [2] |
Repository | https://github.com/gama-platform/gama |
Written in | Java |
Operating system | Windows, macOS, Linux |
Platform | x86-64 |
Size | 100 ~ 275 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 building spatially explicit agent-based simulations. [5] [6]
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]
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).
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]
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]
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]
The developers maintain a community-sourced list of scientific projects that use GAMA. [25]
Some of the larger efforts include:
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]
NetLogo is a programming language and integrated development environment (IDE) for agent-based modeling.
A multi-agent system is a computerized system composed of multiple interacting intelligent agents. Multi-agent systems can solve problems that are difficult or impossible for an individual agent or a monolithic system to solve. Intelligence may include methodic, functional, procedural approaches, algorithmic search or reinforcement learning.
An agent-based model (ABM) is a computational model for simulating the actions and interactions of autonomous agents in order to understand the behavior of a system and what governs its outcomes. It combines elements of game theory, complex systems, emergence, computational sociology, multi-agent systems, and evolutionary programming. Monte Carlo methods are used to understand the stochasticity of these models. Particularly within ecology, ABMs are also called individual-based models (IBMs). A review of recent literature on individual-based models, agent-based models, and multiagent systems shows that ABMs are used in many scientific domains including biology, ecology and social science. Agent-based modeling is related to, but distinct from, the concept of multi-agent systems or multi-agent simulation in that the goal of ABM is to search for explanatory insight into the collective behavior of agents obeying simple rules, typically in natural systems, rather than in designing agents or solving specific practical or engineering problems.
NASA WorldWind is an open-source virtual globe. According to the website, "WorldWind is an open source virtual globe API. WorldWind allows developers to quickly and easily create interactive visualizations of 3D globe, map and geographical information. Organizations around the world use WorldWind to monitor weather patterns, visualize cities and terrain, track vehicle movement, analyze geospatial data and educate humanity about the Earth." It was first developed by NASA in 2003 for use on personal computers and then further developed in concert with the open source community since 2004. As of 2017, a web-based version of WorldWind is available online. An Android version is also available.
The actor model in computer science is a mathematical model of concurrent computation that treats an actor as the basic building block of concurrent computation. In response to a message it receives, an actor can: make local decisions, create more actors, send more messages, and determine how to respond to the next message received. Actors may modify their own private state, but can only affect each other indirectly through messaging.
Microsimulation is a category of computerized analytical tools that perform analysis of activities such as highway traffic flowing through an intersection, financial transactions, or pathogens spreading disease through a population on the granularity level of individuals. Synonyms include microanalytic simulation and microscopic simulation. Microsimulation, with its emphasis on stochastic or rule-based structures, should not be confused with the similar complementary technique of multi-agent simulation, which focuses more on the behaviour of individuals.
JTS Topology Suite is an open-source Java software library that provides an object model for Euclidean planar linear geometry together with a set of fundamental geometric functions. JTS is primarily intended to be used as a core component of vector-based geomatics software such as geographical information systems. It can also be used as a general-purpose library providing algorithms in computational geometry.
Box2D is a free open source 2-dimensional physics simulator engine written in C++ by Erin Catto and published under the MIT license. It has been used in Crayon Physics Deluxe, Limbo, Rolando, Incredibots, Angry Birds, Tiny Wings, Shovel Knight, Transformice, Happy Wheels, and many online Flash games, as well as iPhone, iPad and Android games using the Cocos2d or Moscrif game engine and Corona framework.
In the last few years, the agent-based modeling (ABM) community has developed several practical agent based modeling toolkits that enable individuals to develop agent-based applications. More and more such toolkits are coming into existence, and each toolkit has a variety of characteristics. Several individuals have made attempts to compare toolkits to each other. Below is a chart intended to capture many of the features that are important to ABM toolkit users.
Web-based simulation (WBS) is the invocation of computer simulation services over the World Wide Web, specifically through a web browser. Increasingly, the web is being looked upon as an environment for providing modeling and simulation applications, and as such, is an emerging area of investigation within the simulation community.
Agent-based social simulation consists of social simulations that are based on agent-based modeling, and implemented using artificial agent technologies. Agent-based social simulation is a scientific discipline concerned with simulation of social phenomena, using computer-based multiagent models. In these simulations, persons or group of persons are represented by agents. MABSS is a combination of social science, multiagent simulation and computer simulation.
JACK Intelligent Agents is a framework in Java for multi-agent system development. JACK Intelligent Agents was built by Agent Oriented Software Pty. Ltd. (AOS) and is a third generation agent platform building on the experiences of the Procedural Reasoning System (PRS) and Distributed Multi-Agent Reasoning System (dMARS). JACK is one of the few multi-agent systems that uses the BDI software model and provides its own Java-based plan language and graphical planning tools.
UrbanSim is an open source urban simulation system designed by Paul Waddell of the University of California, Berkeley and developed with numerous collaborators to support metropolitan land use, transportation, and environmental planning. It has been distributed on the web since 1998, with regular revisions and updates, from www.urbansim.org. Synthicity Inc coordinates the development of UrbanSim and provides professional services to support its application. The development of UrbanSim has been funded by several grants from the National Science Foundation, the U.S. Environmental Protection Agency, the Federal Highway Administration, as well as support from states, metropolitan planning agencies and research councils in Europe and South Africa. Reviews of UrbanSim and comparison to other urban modeling platforms may be found in references.
Probabilistic programming (PP) is a programming paradigm in which probabilistic models are specified and inference for these models is performed automatically. It represents an attempt to unify probabilistic modeling and traditional general purpose programming in order to make the former easier and more widely applicable. It can be used to create systems that help make decisions in the face of uncertainty.
MASON is a multi-agent simulation environment developed in Java.
Julia is a high-level, general-purpose dynamic programming language. Its features are well suited for numerical analysis and computational science.
Model order reduction (MOR) is a technique for reducing the computational complexity of mathematical models in numerical simulations. As such it is closely related to the concept of metamodeling, with applications in all areas of mathematical modelling.
In computer science, a code property graph (CPG) is a computer program representation that captures syntactic structure, control flow, and data dependencies in a property graph. The concept was originally introduced to identify security vulnerabilities in C and C++ system code, but has since been employed to analyze web applications, cloud deployments, and smart contracts. Beyond vulnerability discovery, code property graphs find applications in code clone detection, attack-surface detection, exploit generation, measuring code testability, and backporting of security patches.