With dozens of agent frameworks currently existing, we have several requirements in mind to let MARS stand out against the masses. These demands shall serve as guidelines to develop a “next-gen” multi-agent simulation framework for today’s simulation needs.
Our main principles are listed below:
The MARS DSL modelling language is a high-level agent-based modelling language. It provides general concepts for individual based modelling in context of multi agent systems and abstracts from dealing with technical aspects like reactivity, simulation execution, autonomy, concurrency and interactions. The MARS DSL is platform independent, but compiles to the MARS runtime environment with their data centric layer approach.
It provides a set of agent-oriented first-class abstractions directly at the language level (look into our handbook for more details). An important feature of the MARS DSL is its native support for the consistent spatial agent environment with movement actions, explorations, spawning and the integration of spatial and temporal data for further spatiotemporal actions in a concise way.
Full GIS integration
The GIS integration allows the usage of standardized geospatial data formats as input for simulations. This enables you to use your existing files without the need of converting them into a custom file format.
The in-memory capabilities allow parallel read and write operation from millions of agents.
The GIS, which are currently supported are: shapefiles, geoJSON, geoTIFF and ESRI AsciiGrid. The tested use-cases include movement limitation by obstacles, finding closest features of a desired type, consuming regrowing ressources like biomass and time-series data.
Motivated by the idea of Visual Analytics, a web-based extendable visualisation dashboard is build up on the cloud infrastructure enabling decision makers to evaluate different simulation scenarios. It provides a straightforward overview of the simulation output and allows the model developer to explore the dataset through interactively linked views. It offers an environment to process their own analytical tasks written either in their favourite programming language or by viable Spark-based SQL-queries and compute it on distributed nodes.
With MARS claiming to be a massive multi agent platform, large numbers of agents (hundred thousand tomillions) should be no problem per design. Instead, a nearly linear #agents-to-runtime ratio is desired, allowing horizontal scaling across multiple computation nodes. Also, an agent’s reasoning can be arbitrarily complex – ranging from simple, cell-like behavior to complex, cognitive goal-finding mechanisms. For these reasons, proper scaling is imperative.