Title :
A taxonomy for software voting algorithms used in safety-critical systems
Author :
Latif-Shabgahi, G. ; Bass, Julian M. ; Bennett, Stuart
Author_Institution :
Telematics Dept., Open Univ., Milton Keynes, UK
Abstract :
Voting algorithms are used to provide an error masking capability in a wide range of highly dependable commercial & research applications. These applications include N-Modular Redundant hardware systems and diversely designed software systems based on N-Version Programming. The most sophisticated & complex algorithms can even tolerate malicious (or Byzantine) subsystem errors. The algorithms can be implemented in hardware or software depending on the characteristics of the application, and the type of voter selected. Many voting algorithms have been defined in the literature, each with particular strengths and weaknesses. Having surveyed more than 70 references from the literature, a functional classification is used in this paper to provide taxonomy of those voting algorithms used in safety-critical applications. We classify voters into three categories: generic, hybrid, and purpose-built voters. Selected algorithms of each category are described, for illustrative purposes, and application areas proposed. Approaches to the comparison of algorithm behavior are also surveyed. These approaches compare the acceptability of voter behavior based on either statistical considerations (e.g., number of successes, number of benign or catastrophic results), or probabilistic computations (e.g., probability of choosing correct value in each voting cycle or average mean square error) during q voting cycles.
Keywords :
computational complexity; consecutive system reliability; fault tolerant computing; probability; redundancy; safety-critical software; N-modular redundant hardware system; N-version programming; average mean square error; complex algorithm; error masking capability; functional classification; generic voters; hybrid voters; probabilistic computation; purpose-built voter; result amalgamation; result selection; safety-critical system; software voting algorithms taxonomy; statistical consideration; subsystem error; triple modular redundancy; voting cycle; Application software; Hardware; Mean square error methods; Probability; Software algorithms; Software design; Software safety; Software systems; Taxonomy; Voting; Result amalgamation; result selection; safety-critical system; triple modular redundancy;
Journal_Title :
Reliability, IEEE Transactions on
DOI :
10.1109/TR.2004.832819