The author of this article represents his own work DVCompute Simulator, which is a collection of general-purpose programming libraries for discrete event simulation. The aim of the research was to create a set of simulators in the Rust language, efficient in terms of speed of execution, based on a unified approach and destined for different simulation modes. The simulators implement such modes as ordinary sequential simulation, nested simulation and distributed simulation. The article describes that nested simulation is related to Theory of Games, while distributed simulation can be used for running large-scale simulation models on supercomputers. It is shown how these different simulation modes can be implemented based on the single approach that combines many paradigms: the event-oriented paradigm, the process-oriented one, blocks similar to the GPSS language and even partially agent-based modeling. The author's approach is based on using the functional programming techniques, where the simulation model is defined as a composition of computations. The results of testing two modules are provided, where the modules support both the optimistic and conservative methods of distributed simulation.
Key words
discrete event simulation, distributed simulation, nested simulation, optimistic Time Warp method, conservative method, GPSS modeling language, discontinuous processes