+7 (495) 987 43 74 ext. 3304
Join us -              
Рус   |   Eng

Authors

Sorokin D.

Degree
Master’s Degree in Applied Mathematics
E-mail
david.sorokin@gmail.com
Location
the city of Yoshkar-Ola
Articles

Distributed simulation with Aivika

The Aivika simulation framework is represented in this article, where a distributed module implementing the Time Warp method is considered in detail. It is shown that main discrete event simulation paradigms including the process-oriented one can be used in the distributed simulation. Also it is represented how a GPSS-like embedded domain-specific language can be used in simulation. The important details of the implementation are des
Read more...

DVCompute Simulator for discrete event simulation

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. Read more...

DVCompute++ Simulator: decomposition for discrete event simulation

The decomposition method of discrete event simulation models is represented based on the author’s own work DVCompute++ Simulator, which is a collection of general-purpose programming libraries in C++ for creating and running simulation models. The aim of the research was to find an approach based on which arbitrary models could be divided into parts, then these parts of the model could be divided into less components and so on, where the result would be a hierarchy of nested sub-models that could be considered in isolation as independent entities. Now such sub-models can be created in C++ code, but, in the future, they can be created graphically as diagrams or as some text written in the specialized modeling language, where the sub-models can be used repeatedly, which makes them similar to library units from GPSS STUDIO. The mentioned ways of creating sub-models can be combined in any order on any level of nested hierarchy, where this work can be performed by different people with different skills. Moreover, it is shown in the article that the considered decomposition method can be applied to the case of distributed simulation, which is supported by DVCompute++ Simulator too. All this is possible due to the fact that the author applied functional programming techniques, where the simulation model is considered as a composition of computations. Then the model decomposition is the splitting of computations into parts, which can be connected to each other like constructor. There are two basic computations: blocks similar to the GPSS language and discrete signal computations similar to reactive programming. The diagrams of sub-models and the corresponding C++ code are provided in the article, based on which the suggested author’s method of decomposing the discrete event simulation models is illustrated. Read more...