The University of Southampton
University of Southampton Institutional Repository

A fast embedded language for continuous-time agent-based simulation

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
1460-7425
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
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).

Record type: Article

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
Available under License Creative Commons Attribution.
Download (1MB)

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
ORCID for Martin Hinsch: ORCID iD orcid.org/0000-0002-7059-7266
ORCID for Jakub Bijak: ORCID iD orcid.org/0000-0002-2563-5040

Catalogue record

Date deposited: 04 Mar 2024 17:52
Last modified: 20 Apr 2024 02:05

Export record

Altmetrics

Contributors

Author: Till Köster
Author: Oliver Reinhardt
Author: Martin Hinsch ORCID iD
Author: Jakub Bijak ORCID iD
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

Atom RSS 1.0 RSS 2.0

Contact ePrints Soton: eprints@soton.ac.uk

ePrints Soton supports OAI 2.0 with a base URL of http://eprints.soton.ac.uk/cgi/oai2

This repository has been built using EPrints software, developed at the University of Southampton, but available to everyone to use.

We use cookies to ensure that we give you the best experience on our website. If you continue without changing your settings, we will assume that you are happy to receive cookies on the University of Southampton website.

×