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:
Ease of Use
The entire simulation process – from project creation and data import to modelling stage and actual execution – shall take place in a web suite. Users can log in from anywhere, collaborating in groups and performing work on a shared project. MARS aims to offer a complete toolchain for all development phases, with various access levels. The modelling stage, for example, allows a three-tiered abstraction ranging from a visual editor for domain experts over a toolbox with predefined submodules (rapid development) to direct code access (software engineers).
Modularity and Reusability
Many simulation domains consist of multiple, tightly coupled systems (e.g. ecosystems or societies), resulting in a model hard to design and maintain. The subdivision in different modules is a long-established principle in software engineering, which leverages simulation design. This simplifies work-sharing and allows the exchange of particular model parts, what is useful for re-engineering or testing of contradictory hypotheses. It also facilitates the integration of existing models with each other, even though this will still be a difficult task.
Input data are invaluable for any simulation. Unfortunately, the data collected often varies in terms of temporal and spatial resolution, reference formats and completeness or error margins and hence has to be integrated. MARS will allow various input formats for geographic and time series data and takes care of conversion and alignment.
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.
Apart from graphs and data output like CSV, the visualization of a simulation run can be of great use to model developers. A 3D view on the agents and landscape (if applicable) helps to visual validate the agents behavior and to get impressions of the ongoing interactions.