Dealing with software complexity in individual‐based models. Issue 12 (18th September 2021)
- Record Type:
- Journal Article
- Title:
- Dealing with software complexity in individual‐based models. Issue 12 (18th September 2021)
- Main Title:
- Dealing with software complexity in individual‐based models
- Authors:
- Vedder, Daniel
Ankenbrand, Markus
Sarmento Cabral, Juliano - Abstract:
- Abstract: 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. 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. 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. 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 ofAbstract: 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. 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. 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. 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. … (more)
- Is Part Of:
- Methods in ecology and evolution. Volume 12:Issue 12(2021)
- Journal:
- Methods in ecology and evolution
- Issue:
- Volume 12:Issue 12(2021)
- Issue Display:
- Volume 12, Issue 12 (2021)
- Year:
- 2021
- Volume:
- 12
- Issue:
- 12
- Issue Sort Value:
- 2021-0012-0012-0000
- Page Start:
- 2324
- Page End:
- 2333
- Publication Date:
- 2021-09-18
- Subjects:
- ecological modelling -- individual‐based models -- model complexity -- research software engineering -- software complexity -- software development
Ecology -- Periodicals
Evolution -- Periodicals
577 - Journal URLs:
- http://onlinelibrary.wiley.com/journal/10.1111/(ISSN)2041-210X ↗
http://onlinelibrary.wiley.com/ ↗ - DOI:
- 10.1111/2041-210X.13716 ↗
- Languages:
- English
- ISSNs:
- 2041-210X
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library DSC - BLDSS-3PM
British Library HMNTS - ELD Digital store - Ingest File:
- 19999.xml