Increasing the reliability of ecological models using modern software engineering techniques
نویسندگان
چکیده
© The Ecological Society of America www.frontiersinecology.org A its core, scientific knowledge is a collection of conceptual models that attempt to describe how the natural world works and that have resisted repeated attempts to find empirical data to contradict them. However, solutions to broad-scale and complex environmental challenges often lie beyond the domain of traditional experimental or empirical approaches. Ecological models provide powerful tools to demonstrate or test the consequences of assumptions and to conduct virtual experiments to gain insight into complex ecological systems. Ecological models (and by extension, any software tool used in ecological research) are typically developed as small, self-contained research projects. Beginning as relatively simple programs, many ecological models grow as funding opportunities arise, research needs evolve, and personnel change. This approach meets immediate research needs and produces quick (2–3 years) results. Over the past decade, however, there has been an increased demand for models capable of simulating multiple interacting processes and making ecological forecasts (Clark et al. 2001). Consequently, the scope and complexity of ecological models have increased. Because of the intellectual investment required to build complex tools, their longevity and distribution have also increased. Managing the long-term (> 5 years) growth of models – while maximizing their reliability – is becoming an important challenge. However, ecological models are typically built by ecologists, not computer scientists. Although many ecologists can write computer code, they typically lack software engineering literacy (Wilson 2006). As a result, ecologists often build or modify models in an ad hoc manner, neglecting essential softwarebuilding stages, such as testing and the documentation of the underlying architecture (the underlying internal design; Wilson 2006). The adoption of rigorous approaches to building (or “developing”) models also has the potential to substantially increase scientific rigor and confidence in the results. The scientific precision expected of models should equal that expected for any ecological research (Scholten and Udink ten Cate 1999). Furthermore, when models are used in decision making, model developers must minimize logical errors and maximize the reliability of the output. Our objective is to introduce ecologists to state-of-theart software development approaches. Ecologists cannot be expected to undertake the additional training necessary to become proficient in computer science. Instead, we hope that by highlighting some of the common shortcomings of model development, along with common solutions, the scientific value of ecological models can be improved. We also maintain that exposing ecologists to established processes for developing robust software can aid them as they manage complex software development projects. Finally, we relate these concepts to our own REVIEWS REVIEWS REVIEWS
منابع مشابه
Discrete and Continuous Time High-Order Markov Models for Software Reliability Assessment
Due to the critical challenges and complexity of modern software systems developed over the last decade, there has arisen an ever increasing attention to look for products with high reliability at reasonable costs. Software development process moves toward component-based design, and architecture based approach in software reliability modeling is widely used. However, in lots of models for soft...
متن کاملProposing an Efficient Software-Based Method for Enhancing the Reliability of Critical Application Robot
Robots play such remarkable roles in humans’ modern lives that performing many tasks without them isimpossible. Using robotic systems is gradually increasing the tasks allocated to them and they are becomingmore complex and critical. Software reliability is one of the most significant requirements of robots. Forenhancing reliability, systems should be inherently designed to be tolerable of soft...
متن کاملReliability analysis of repairable systems using system dynamics modeling and simulation
Repairable standby system’s study and analysis is an important topic in reliability. Analytical techniques become very complicated and unrealistic especially for modern complex systems. There have been attempts in the literature to evolve more realistic techniques using simulation approach for reliability analysis of systems. This paper proposes a hybrid approach called as Markov system ...
متن کاملExperimental Evaluation of Algorithmic Effort Estimation Models using Projects Clustering
One of the most important aspects of software project management is the estimation of cost and time required for running information system. Therefore, software managers try to carry estimation based on behavior, properties, and project restrictions. Software cost estimation refers to the process of development requirement prediction of software system. Various kinds of effort estimation patter...
متن کاملCoverage-based testing strategies and reliability modeling for fault-tolerant software systems
Software permeates our modern society, and its complexity and criticality is ever increasing. Thus the capability to tolerate software faults, particularly for critical applications, is evident. While fault-tolerant software is seen as a necessity, it also remains as a controversial technique and there is a lack of conclusive assessment about its effectiveness. This thesis aims at providing a q...
متن کامل