VG

Volker Grimm

info

Please Note

2 records found

A Community Platform for Sharing, Comparing, and Improving Reusable Building Blocks for (Agent-Based) Models

Journal article (2025) - Tatiana Filatova, Liz Verbeek, Nicholas R. Magliocca, Thorid Wagenblast, Martijn Warnier, Amineh Ghorbani, Igor Nikolic, Volker Grimm, Uta Berger, Michael Barton, Andrew Bell, Allen Lee
Agent-based modeling proliferates across applications and scientific disciplines. The downsides of this success are the plurality of code implementations and redundant solutions to recurring modeling tasks. It is especially critical for simulations concerned with modeling human behavior and social institutions. Reusable building blocks (RBBs) are seen as a solution due to their potential to foster standardization grounded in best practices, integration of domain knowledge (including qualitative social sciences) in code, and efficient model design. RBBs are compact code components representing mechanisms or processes useful across models and applications. RBBs have been extensively discussed in the agent-based community, with little progress in implementation. Here, we present an open-access online community platform – AGENTBLOCKS – designed to facilitate the sharing, comparison, review, reuse, and improvement of RBBs. As an international community effort, AGENTBLOCKS leverages lessons from past RBBs discussions and principles from other modeling communities that successfully apply modular, reusable code practices. The paper introduces the interface and structure of this repository, presents templates for RBBs documentation, provides tips to support aspiring users, and first examples. We highlight the need for alternative RBB implementations that share the same generic description. We also acknowledge that RBBs might represent different levels of interactions, starting from decisions concerning a single agent to interactions between multiple agents or agents and their environment. While initially designed to assist agent-based community, the platform can be utilized by other modelers (e.g. system dynamics, integrated assessment, equilibrium) who seek to improve the representation of human behavior, micro-level processes, heterogeneity, interactions, learning, and other complex dynamics. Naturally, the platform is only one element in the chain towards a successful adoption of best software development practices like RBBs. Future work should focus on populating the repository, refining review processes, and systematizing the variety of RBBs’ implementations including engagement with domain experts. Following this initial phase, we hope to further support technical improvements of the platform and widen its impact in and beyond the agent-based community. ...
Journal article (2024) - Uta Berger, Andrew Bell, Matthias Meyer, Birgit Müller, Cyril Piou, Viktoriia Radchuk, Nicholas Roxburgh, Lennart Schüler, Christian Troost, Nanda Wijermans, Tim G. Williams, Marie Christin Wimmler, C. Michael Barton, Volker Grimm, Emile Chappin, Gunnar Dreßler, Tatiana Filatova, Thibault Fronville, Allen Lee, Emiel van Loon, Iris Lorscheid
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. ...