Reproducibility in Modeling: Methods implemented in the ABM Simulation Framework FAME

Reproducibility of modelling results is one of the most important pillars of the scientific process. Still, reproducibility is not an easy achievement. Scientists need to consider several aspects during model design, versioning, and execution. In the design phase, non-deterministic behaviour must be ruled out by, e.g., avoiding race conditions, and controlling pseudo-random number generation. The latter is of special relevance if multiple random number generators are employed in parallel processes. Different versions of model components need to be identifiable using, e.g., semantic versioning, and findable, e.g. on repositories or package indices. Furthermore, model users need to store the model, linked libraries, input data, and corresponding metadata along with the model results to guarantee their reproducibility. The open framework FAME helps to create agent-based simulations. Agent logic is written in Java by extending framework classes from FAME-Core. Configurations are provided in YAML and CSV files and converted to a compressed binary format using the Python tool FAME-Io. A schema file describing the Java model allows FAME-Io to check input file consistency ahead of simulations. These can be executed on one or multiple processes using MPI. The modelling workflow is shown in Figure 1. Figure 1: Modelling workflow and FAME framework components. FAME employs multiple techniques to achieve result reproducibility. A central service provides reproducible random numbers based on configurable seeds and independent of the number of computing processes involved. The execution order of methods is implicitly derived from the configuration which helps to avoid race conditions. Strict memory separation of model components avoids accidental interference between agents. All FAME components are versioned with semantic versioning and frequently released to package indices. FAME models are typically packaged as a single executable Java archive, including all framework code, model code, and their dependencies in a single file. Model input, model output, and accompanying metadata are also stored in a single file. Thus, scientists need to store exactly two files to achieve full reproducibility – regardless of the model complexity.

Authors

Institutions

Publication Details

Journal
elib (German Aerospace Center)
Published
2026-02-27
DOI
https://doi.org/10.5281/zenodo.18801142
Primary Topic
Scientific Computing and Data Management
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Reproducibility in Modeling: Methods implemented in the ABM Simulation Framework FAME

Christoph Schimeczek, Felix Nitsch
elib (German Aerospace Center)
Scientific Computing and Data Management
article

Reproducibility in Modeling: Methods implemented in the ABM Simulation Framework FAME

Christoph Schimeczek, Felix Nitsch
article en

Abstract

Reproducibility of modelling results is one of the most important pillars of the scientific process. Still, reproducibility is not an easy achievement. Scientists need to consider several aspects during model design, versioning, and execution. In the design phase, non-deterministic behaviour must be ruled out by, e.g., avoiding race conditions, and controlling pseudo-random number generation. The latter is of special relevance if multiple random number generators are employed in parallel processes. Different versions of model components need to be identifiable using, e.g., semantic versioning, and findable, e.g. on repositories or package indices. Furthermore, model users need to store the model, linked libraries, input data, and corresponding metadata along with the model results to guarantee their reproducibility. The open framework FAME helps to create agent-based simulations. Agent logic is written in Java by extending framework classes from FAME-Core. Configurations are provided in YAML and CSV files and converted to a compressed binary format using the Python tool FAME-Io. A schema file describing the Java model allows FAME-Io to check input file consistency ahead of simulations. These can be executed on one or multiple processes using MPI. The modelling workflow is shown in Figure 1. Figure 1: Modelling workflow and FAME framework components. FAME employs multiple techniques to achieve result reproducibility. A central service provides reproducible random numbers based on configurable seeds and independent of the number of computing processes involved. The execution order of methods is implicitly derived from the configuration which helps to avoid race conditions. Strict memory separation of model components avoids accidental interference between agents. All FAME components are versioned with semantic versioning and frequently released to package indices. FAME models are typically packaged as a single executable Java archive, including all framework code, model code, and their dependencies in a single file. Model input, model output, and accompanying metadata are also stored in a single file. Thus, scientists need to store exactly two files to achieve full reproducibility – regardless of the model complexity.

elib (German Aerospace Center)
Deutsches Zentrum für Luft- und Raumfahrt e. V. (DLR) (DE)
Openalex Percentile: Top 43%
Scientific Computing and Data Management
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.