Title
Towards reusable building blocks for agent-based modelling and theory development
Author
Berger, Uta (Technische Universität Dresden)
Bell, Andrew (Boston University)
Barton, C. Michael (Arizona State University)
Chappin, E.J.L. (TU Delft Energie and Industrie)
Dreßler, Gunnar (Helmholtz Centre for Environmental Research - UFZ)
Filatova, T. (TU Delft Policy Analysis)
Fronville, Thibault
Lee, Allen (Arizona State University)
van Loon, Emiel (Universiteit van Amsterdam)
Lorscheid, Iris
Meyer, Matthias (Hamburg University of Technology)
Müller, Birgit (Helmholtz Centre for Environmental Research - UFZ; BTU Cottbus-Senftenberg)
Piou, Cyril (CIRAD)
Radchuk, Viktoriia (Leibniz Institute for Zoo and Wildlife Research)
Roxburgh, Nicholas (The James Hutton Institute)
Schüler, Lennart (Helmholtz Centre for Environmental Research - UFZ)
Troost, Christian (University of Hohenheim)
Wijermans, Nanda (Stockholm University)
Williams, Tim G. (Vrije Universiteit Amsterdam)
Wimmler, Marie Christin (Technische Universität Dresden)
Grimm, Volker (Helmholtz Centre for Environmental Research - UFZ)
Date
2024
Abstract
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.
Subject
Best practices
Complex adaptive systems
Individual-based modelling
Software engineering
Theory development
To reference this document use:
http://resolver.tudelft.nl/uuid:96b17a56-bc51-47f5-aece-4d1774482d5c
DOI
https://doi.org/10.1016/j.envsoft.2024.106003
ISSN
1364-8152
Source
Environmental Modelling & Software, 175
Part of collection
Institutional Repository
Document type
journal article
Rights
© 2024 Uta Berger, Andrew Bell, C. Michael Barton, E.J.L. Chappin, Gunnar Dreßler, T. Filatova, Thibault Fronville, Allen Lee, Emiel van Loon, Iris Lorscheid, Matthias Meyer, Birgit Müller, Cyril Piou, Viktoriia Radchuk, Nicholas Roxburgh, Lennart Schüler, Christian Troost, Nanda Wijermans, Tim G. Williams, Marie Christin Wimmler, Volker Grimm