|
Document: GLE-3-26-5
Software engineering in agent-based ecological modeling. ROPELLA, G.E.*
The Swarm Corporation, Santa Fe, NM 87501 USA 1
Abstract: Software Engineering (SE) has demonstrably improved software quality in many domains and can be applied to ecological modeling to improve both model efficiency and efficacy. As ecologists continue to build software tools and develop more complex models, software management can become an obstacle to good science, as has happened in other domains. Further, the use of agent-based models (ABMs) exacerbates the problems computational ecologists face, because the same characteristics of ABMs that make them good tools for modeling ecosystems present problems to the software developer. The emergent phenomena and openness of ecosystems present the ecological modeler with 1) the difficulty in capturing emergence with an engineered model, and 2) the difficulty of having to develop models that incorporate many different modeling styles. ABMs, through their capability for closely approximating ecosystems, inherit these two difficulties. This creates a need for a process, over and above the actual modeling, to provide a stable context for the software developer. Ecological software development can become more disciplined and produce fewer obstacles if such practices as release management, multiple model representation, using a widespread toolchain, reviews, testing, and validation are followed. Thinking about software development as an evolutionary process can provide the basis for an intuitive and persistent software process for ecologists.
Keywords: Individual-based modeling, software, release management, multiple representation, testing, validation
|







This abstract is being presented at: 8:40 AM in session: Symposium # 27: Advancing the Individual-Based Modeling Approach: New Tools and Concepts. |