Abstract

N-version programming is one of the most common techniques which is used to improve the reliability of software by building in fault tolerance, redundancy and decreasing common cause failures. N different equivalent software versions are developed by N different and isolated workgroups by considering the same software specifications. The versions solve the same task and return results that have to be compared to determine the correct result. Decisions of N different versions are evaluated by a voting algorithm or the so-called voter. In this paper, two of the most commonly used software voting algorithms such as the majority voting algorithm and the consensus voting algorithm are studied. The distinctive features of Nversion programming with majority voting and N-version programming with consensus voting are described. These two algorithms make a decision about the correct result on the base of the agreement matrix. However, if the equivalence relation on the agreement matrix is not satisfied it is impossible to make a decision. It is shown that the agreement matrix can be transformed into an appropriate form by using the Boolean compositions when the equivalence relation is satisfied.

Highlights

  • N-version programming provides a high level of reliability and fault tolerance for software and prevents the software from getting into fatal failures [1]

  • Distinctive features of the voting algorithms The distinctive features of N-version programming with majority voting and N-version programming with consensus voting are as follows

  • To satisfy the equivalence relation (2)-(4) on agreement matrix R, it is necessary to have the consequent implementation of Boolean compositions of R with itself based on the following principle: E R1 R2 R3

Read more

Summary

Introduction

N-version programming provides a high level of reliability and fault tolerance for software and prevents the software from getting into fatal failures [1]. It is obvious that the decision of the voting algorithm determines the result of N-version software. Equivalence relation on agreement matrix R should be satisfied. If the equivalence ratio (2)-(4) is not satisfied, the Boolean compositions must be applied to the agreement matrix [19].

Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call