当前位置: X-MOL 学术Environ. Model. Softw. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Towards reusable building blocks for agent-based modelling and theory development
Environmental Modelling & Software ( IF 4.9 ) Pub Date : 2024-03-03 , DOI: 10.1016/j.envsoft.2024.106003
Uta Berger , Andrew Bell , C. Michael Barton , Emile Chappin , Gunnar Dreßler , Tatiana 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

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 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 (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.

中文翻译:

面向基于代理的建模和理论开发的可重用构建块

尽管越来越多地使用记录和测试基于代理的模型 (ABM) 以及共享开放访问代码的标准,但大多数 ABM 仍然是从头开始开发的。这不仅效率低下,而且还导致相同理论在计算代码中的实现常常不一致,并延迟了复杂社会生态系统(SES)功能探索的进展。我们认为,专业软件开发中已知的可重用构建块(RBB)可以缓解这些问题。RBB 是一个子模型,代表与应用领域中的许多 ABM 相关的特定机制或过程,例如植被模型中的植物竞争或行为模型中的强化学习。RBB 需要与模块区分开来,模块代表整个子系统并包含不止一种机制和流程。虽然链接模块通常面临与集成不同模型相同的挑战,但 RBB 具有足够的“原子性”,可以更轻松地在不同的上下文中重用。我们描述并提供了来自不同领域的示例,说明如何以及为何在软件开发中使用构建块,以及这样做对 ABM 社区和个人建模者的好处。我们提出了一个模板来指导 RBB 的开发和发布,并提供使用该模板的 RBB 示例。最重要的是,我们提出并启动了基于社区的 RBB 开发、共享和使用战略。与单篇论文相比,单个建模者可以通过 RBB 在其领域产生更大的影响,而社区将受益于一致性的增强,促进代理行为及其形成的系统理论的发展。我们邀请同行通过我们的网站上传和共享他们的 RBB - 最好由(例如通过 Zenodo 获得的数字对象标识符)引用。在积累了一定数量的候选 RBB 后,就可以进行反馈和讨论,并且可以改进设想平台的模板和范围。
更新日期:2024-03-03
down
wechat
bug