Towards reusable building blocks for agent-based modelling and theory development

Research output: Contribution to journalResearch articleContributedpeer-review


  • Uta Berger - , Chair of Forest Biometrics and Systems Analysis (Author)
  • Andrew Bell - (Author)
  • C. Michael Barton - (Author)
  • Emile Chappin - (Author)
  • Gunnar Dreßler - (Author)
  • Tatiana Filatova - (Author)
  • Thibault Fronville - (Author)
  • Allen Lee - (Author)
  • Emiel van Loon - (Author)
  • Iris Lorscheid - (Author)
  • Matthias Meyer - , Hamburg University of Technology (Author)
  • Birgit Müller - , Helmholtz Centre for Environmental Research, Brandenburg University of Technology, German Centre for Integrative Biodiversity Research (iDiv) Halle—Jena—Leipzig (Author)
  • Cyril Piou - (Author)
  • Viktoriia Radchuk - (Author)
  • Nicholas Roxburgh - (Author)
  • Lennart Schüler - (Author)
  • Christian Troost - (Author)
  • Nanda Wijermans - (Author)
  • Tim G. Williams - (Author)
  • Marie-Christin Wimmler - , Chair of Forest Biometrics and Systems Analysis (Author)
  • Volker Grimm - (Author)


Despite the increasing use of standards for documenting and testing agent-based models (ABMs) and sharing of open access code, most ABMs are still developed from scratch. This is not only inefficient, but also leads to ad hoc and often inconsistent implementations of the same theories in computational code and delays progress in the exploration of the functioning of complex social-ecological systems (SES). We argue that reusable building blocks (RBBs) known from professional software development can mitigate these issues. An RBB is a submodel that represents a particular mechanism or process that is relevant across many ABMs in an application domain, such as plant competition in vegetation models, or reinforcement learning in a behavioural model. RBBs need to be distinguished from modules, which represent entire subsystems and include more than one mechanism and process. While linking modules faces the same challenges as integrating different models in general, RBBs are “atomic” enough to be more easily re-used in different contexts. We describe and provide examples from different domains for how and why building blocks are used in software development, and the benefits of doing so for the ABM community and to individual modellers. We propose a template to guide the development and publication of RBBs and provide example RBBs that use this template. Most importantly, we propose and initiate a strategy for community-based development, sharing and use of RBBs. Individual modellers can have a much greater impact in their field with an RBB than with a single paper, while the community will benefit from increased coherence, facilitating the development of theory for both the behaviour of agents and the systems they form. We invite peers to upload and share their RBBs via our website - preferably referenced by a DOI (digital object identifier obtained e.g. via Zenodo). After a critical mass of candidate RBBs has accumulated, feedback and discussion can take place and both the template and the scope of the envisioned platform can be improved.


Original languageEnglish
Article number106003
JournalEnvironmental modelling & software
Publication statusPublished - Apr 2024

External IDs

ORCID /0000-0002-4542-6764/work/155840436
Scopus 85187198327
Mendeley 1dea3802-2a6c-3cc8-abd5-e7d651fe78a5



  • Best practices, Complex adaptive systems, Individual-based modelling, Software engineering, Theory development