当前位置: X-MOL 学术Methods Ecol. Evol. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Dealing with software complexity in individual-based models
Methods in Ecology and Evolution ( IF 6.3 ) Pub Date : 2021-09-06 , DOI: 10.1111/2041-210x.13716
Daniel Vedder 1 , Markus Ankenbrand 2 , Juliano Sarmento Cabral 1
Affiliation  

  1. Individual-based models are doubly complex: as well as representing complex ecological systems, the software that implements them is complex in itself. Both forms of complexity must be managed to create reliable models. However, the ecological modelling literature to date has focussed almost exclusively on the biological complexity. Here, we discuss methods for containing software complexity.
  2. Strategies for containing complexity include avoiding, subdividing, documenting and reviewing it. Computer science has long-established techniques for all of these strategies. We present some of these techniques and set them in the context of IBM development, giving examples from published models.
  3. Techniques for avoiding software complexity are following best practices for coding style, choosing suitable programming languages and file formats and setting up an automated workflow. Complex software systems can be made more tractable by encapsulating individual subsystems. Good documentation needs to take into account the perspectives of scientists, users and developers. Code reviews are an effective way to check for errors, and can be used together with manual or automated unit and integration tests.
  4. Ecological modellers can learn from computer scientists how to deal with complex software systems. Many techniques are readily available, but must be disseminated among modellers. There is a need for further work to adapt software development techniques to the requirements of academic research groups and individual-based modelling.


中文翻译:

处理基于个体的模型中的软件复杂性

  1. 基于个体的模型加倍复杂:除了代表复杂的生态系统外,实现它们的软件本身也很复杂。必须管理这两种形式的复杂性才能创建可靠的模型。然而,迄今为止的生态建模文献几乎完全专注于生物复杂性。在这里,我们讨论控制软件复杂性的方法。
  2. 控制复杂性的策略包括避免、细分、记录和审查它。计算机科学已经为所有这些策略建立了长期的技术。我们展示了其中的一些技术并将它们设置在 IBM 开发的上下文中,并给出了来自已发布模型的示例。
  3. 避免软件复杂性的技术是遵循编码风格的最佳实践、选择合适的编程语言和文件格式以及设置自动化工作流程。通过封装单个子系统,可以使复杂的软件系统更易于处理。好的文档需要考虑科学家、用户和开发人员的观点。代码审查是检查错误的有效方法,可以与手动或自动单元和集成测试一起使用。
  4. 生态建模者可以向计算机科学家学习如何处理复杂的软件系统。许多技术是现成的,但必须在建模者之间传播。需要进一步努力使软件开发技术适应学术研究小组和基于个人的建模的要求。
更新日期:2021-09-06
down
wechat
bug