#events #discrete #block #computation #sequential #facility


Discrete event simulation library (support of GPSS-like DSL language for sequential simulation)

3 stable releases

1.3.5 Jan 7, 2022
1.3.4 Jan 6, 2022
1.3.3 Jan 5, 2022

#391 in Simulation

Download history 6/week @ 2024-02-14 38/week @ 2024-02-21 8/week @ 2024-02-28 2/week @ 2024-03-06 7/week @ 2024-03-13 1/week @ 2024-03-20 36/week @ 2024-03-27 45/week @ 2024-04-03

81 downloads per month
Used in 2 crates (via dvcompute_results)

MPL-2.0 license



This crate is a part of discrete event simulation framework DVCompute Simulator (registration number 2021660590 of Rospatent). The dvcompute_gpss crate defines a GPSS-like DSL for sequential simulation, but the same code base is shared by the dvcompute_gpss_cons crate destined for conservative distributed simulation.

The DSL language implements analogs of the following blocks: PREEMPT, RETURN, ASSEMBLE, GATHER, SPLIT, TRANSFER and others. The SELECT block is naturally expressed as a composition of computations. There are analogs of the facility and storage entities.

In general, there are the following main crates: dvcompute (for sequential simulation), dvcompute_dist (for optimistic distributed simulation - from multicore computers till supercomputers), dvcompute_cons (for conservative distributed simulation - from multicore computers till supercomputers) and dvcompute_branch (for nested simulation - theory of games, estimation of the optimal strategy). All four crates are very close. They are based on the same method.


You can find examples in the author's repository.



  • Sorokin David. DVCompute Simulator for discrete event simulation. Prikladnaya informatika=Journal of Applied Informatics, 2021, vol.16, no.3, pp.93-108 (in Russian). DOI: 10.37791/2687-0649-2021-16-3-93-108


Copyright 2020-2022 David Sorokin david.sorokin@gmail.com, based in Yoshkar-Ola, Russia

This software is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.