A fast embedded language for continuous-time agent-based simulation
A fast embedded language for continuous-time agent-based simulation
In agent-based simulation methods and applications, discrete timestep approaches prevail. To support continuous-time agent-based simulation, we analyze how methods for simulating population-based Con-tinu-ous-Time Markov Chains (CMTCs) can be adopted and derive implications for the concrete realization. To corroborate our findings, we develop an efficient internal domain-specific language (DSL) based on ML3, a modeling language for linked lives in demography. The design as an internal DSL, implemented within the Rust programming language, allows the modeler to exploit the complete feature set of the host language, such as data types and structures, when programming decision processes. A concise and expressive modeling of an agent's discrete decisions and behavior introducing exponentially distributed sojourn times can be supported by adapting the concept of guarded commands from population-based CTMCs. The execution of models relies on an optimized version of the direct method. This method is a variant of stochastic simulation algorithms, an established method for executing population-based CTMCs in other application areas, notably biochemistry. To efficiently handle the large set of possible transitions inherent to continuous-time agent-based models, we use a dependency graph whose updating scheme caters to the dynamic dependencies within agent-based models and the need for efficient implementation. The presented case studies include implementations of a continuous-time, agent-based migration model and a comparative performance study based on an extended SIR model of infection spread, allowing us to draw conclusions about the impact of different design choices on efficiency.
Agent-Based Models, Continuous-Time Marko Chains, Domain-Specific Language, Performance, Population-Based Models, Simulation
Köster, Till
2f516dbc-e7d2-4f66-b671-77498621b86f
Reinhardt, Oliver
8137d512-1d8e-45ef-9346-8a117ebdfd4b
Hinsch, Martin
660b9bb4-148f-4692-9014-8db1d751ae57
Bijak, Jakub
e33bf9d3-fca6-405f-844c-4b2decf93c66
Uhrmacher, Adelinde M.
4fa04994-ea2b-4a1a-bf1e-5e7897359d28
31 January 2024
Köster, Till
2f516dbc-e7d2-4f66-b671-77498621b86f
Reinhardt, Oliver
8137d512-1d8e-45ef-9346-8a117ebdfd4b
Hinsch, Martin
660b9bb4-148f-4692-9014-8db1d751ae57
Bijak, Jakub
e33bf9d3-fca6-405f-844c-4b2decf93c66
Uhrmacher, Adelinde M.
4fa04994-ea2b-4a1a-bf1e-5e7897359d28
Köster, Till, Reinhardt, Oliver, Hinsch, Martin, Bijak, Jakub and Uhrmacher, Adelinde M.
(2024)
A fast embedded language for continuous-time agent-based simulation.
Journal of Artificial Societies and Social Simulation, 27 (1), [10].
(doi:10.18564/jasss.5232).
Abstract
In agent-based simulation methods and applications, discrete timestep approaches prevail. To support continuous-time agent-based simulation, we analyze how methods for simulating population-based Con-tinu-ous-Time Markov Chains (CMTCs) can be adopted and derive implications for the concrete realization. To corroborate our findings, we develop an efficient internal domain-specific language (DSL) based on ML3, a modeling language for linked lives in demography. The design as an internal DSL, implemented within the Rust programming language, allows the modeler to exploit the complete feature set of the host language, such as data types and structures, when programming decision processes. A concise and expressive modeling of an agent's discrete decisions and behavior introducing exponentially distributed sojourn times can be supported by adapting the concept of guarded commands from population-based CTMCs. The execution of models relies on an optimized version of the direct method. This method is a variant of stochastic simulation algorithms, an established method for executing population-based CTMCs in other application areas, notably biochemistry. To efficiently handle the large set of possible transitions inherent to continuous-time agent-based models, we use a dependency graph whose updating scheme caters to the dynamic dependencies within agent-based models and the need for efficient implementation. The presented case studies include implementations of a continuous-time, agent-based migration model and a comparative performance study based on an extended SIR model of infection spread, allowing us to draw conclusions about the impact of different design choices on efficiency.
Text
10
- Version of Record
More information
Accepted/In Press date: 1 November 2023
Published date: 31 January 2024
Additional Information:
Publisher Copyright:
© 2024, University of Surrey. All rights reserved.
Keywords:
Agent-Based Models, Continuous-Time Marko Chains, Domain-Specific Language, Performance, Population-Based Models, Simulation
Identifiers
Local EPrints ID: 487752
URI: http://eprints.soton.ac.uk/id/eprint/487752
ISSN: 1460-7425
PURE UUID: 98b221ac-13c1-40e3-952d-79c91774a873
Catalogue record
Date deposited: 04 Mar 2024 17:52
Last modified: 06 Jun 2024 02:03
Export record
Altmetrics
Contributors
Author:
Till Köster
Author:
Oliver Reinhardt
Author:
Martin Hinsch
Author:
Adelinde M. Uhrmacher
Download statistics
Downloads from ePrints over the past year. Other digital versions may also be available to download e.g. from the publisher's website.
View more statistics