TY - JOUR
T1 - Towards reusable building blocks for agent-based modelling and theory development
AU - Berger, Uta
AU - Bell, Andrew
AU - Barton, C. Michael
AU - Chappin, Emile
AU - Dreßler, Gunnar
AU - Filatova, Tatiana
AU - Fronville, Thibault
AU - Lee, Allen
AU - van Loon, Emiel
AU - Lorscheid, Iris
AU - Meyer, Matthias
AU - Müller, Birgit
AU - Piou, Cyril
AU - Radchuk, Viktoriia
AU - Roxburgh, Nicholas
AU - Schüler, Lennart
AU - Troost, Christian
AU - Wijermans, Nanda
AU - Williams, Tim G.
AU - Wimmler, Marie Christin
AU - Grimm, Volker
PY - 2024
Y1 - 2024
N2 - 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.
AB - 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.
KW - Best practices
KW - Complex adaptive systems
KW - Individual-based modelling
KW - Software engineering
KW - Theory development
UR - http://www.scopus.com/inward/record.url?scp=85187198327&partnerID=8YFLogxK
U2 - 10.1016/j.envsoft.2024.106003
DO - 10.1016/j.envsoft.2024.106003
M3 - Article
AN - SCOPUS:85187198327
SN - 1364-8152
VL - 175
JO - Environmental Modelling and Software
JF - Environmental Modelling and Software
M1 - 106003
ER -