Partial evaluation via code generation for static stochastic reaction network models

Köster, Till and Warnke, Tom and Uhrmacher, Adelinde M. (2020) Partial evaluation via code generation for static stochastic reaction network models. In: ACM SIGSIM Conference on Principles of Advanced Discrete Simulation (PADS 2020), 15-17 Jun 2020, Miami, Florida, USA. Proceedings, published by ACM, New York, USA, pp. 159-170.

Full text not available from this repository.
Official URL:


Succinct, declarative, and domain-specific modeling languages have many advantages when creating simulation models. However, it is often challenging to efficiently execute models defined in such languages. We use code generation for model-specific simulators. Code generation has been successfully applied for high-performance algorithms in many application domains. By generating tailored simulators for specific simulation models defined in a domain-specific language, we get the best of both worlds: a succinct, declarative and formal presentation of the model and an efficient execution. We illustrate this based on a simple domain-specific language for biochemical reaction networks as well as on the network representation of the established BioNetGen language. We implement two approaches adopting the same simulation algorithms: one generic simulator that parses models at runtime and one generator that produces a simulator specialized to a given model based on partial evaluation and code generation. Akin to profile-guided optimization we also use dynamic execution of the model to further optimize the simulators. The performance of the approaches is carefully benchmarked using representative models of small to mid-sized biochemical reaction networks. The generic simulator achieves a performance similar to state of the art simulators in the domain, whereas the specialized simulator outperforms established simulation algorithms with a speedup of more than an order of magnitude. Both implementations are available online to the community under a permissive open-source license.

Item Type: Conference or Workshop Item (Paper)
Projects: ESCeMMo