DiMAS: A Micro-service based Approach to Create Distributed Agent-based Simulations

Authors
School of Computer Engineering, Iran University of Science and Technology, Tehran, Iran
Abstract
An agent-based simulation is an efficient approach to simulate real-world entities that naturally can be mapped to
agents and their interactions. This approach compared to the traditional approaches is more flexible and extendable.
A lot of centralized simulation toolkits and frameworks exist in which we can create autonomous, self-contained, and
self-directed agents interacting with each other as well as their environment. But, besides their numerous advantages,
they usually face a serious challenge in simulating large-scale models. In other words, these frameworks cannot
provide timely responses to users when the number of agents and their interactions is massive. Also, centralized
simulation frameworks cannot execute the simulation scenarios in a distributed form. In this paper, we have designed
and implemented a distributed agent-based simulation framework (DiMAS) leveraging the principles of micro-service
design. In the proposed framework, we have implemented every agent in the simulation as a micro-service. This will
allow the users of the framework to create and execute flexible, reusable, extendable, and large-scale models by easily
distributing them to multiple nodes and migrating them later on if it is required. We have performed several evaluation
scenarios and the results of these evaluations conclude that models that are simulated by DiMAS are more extendable
with more fault tolerance. Also, the simulation is very robust against the existence of a massive number of agents

Keywords