Research Article

A Proposed System for Real Time Adaptive N Version Programming

by  Pooja Yadav, Shilpa Singh, Ajay More
journal cover
International Journal of Computer Applications
Foundation of Computer Science (FCS), NY, USA
Volume 136 - Issue 4
Published: February 2016
Authors: Pooja Yadav, Shilpa Singh, Ajay More
10.5120/ijca2016908435
PDF

Pooja Yadav, Shilpa Singh, Ajay More . A Proposed System for Real Time Adaptive N Version Programming. International Journal of Computer Applications. 136, 4 (February 2016), 28-32. DOI=10.5120/ijca2016908435

                        @article{ 10.5120/ijca2016908435,
                        author  = { Pooja Yadav,Shilpa Singh,Ajay More },
                        title   = { A Proposed System for Real Time Adaptive N Version Programming },
                        journal = { International Journal of Computer Applications },
                        year    = { 2016 },
                        volume  = { 136 },
                        number  = { 4 },
                        pages   = { 28-32 },
                        doi     = { 10.5120/ijca2016908435 },
                        publisher = { Foundation of Computer Science (FCS), NY, USA }
                        }
                        %0 Journal Article
                        %D 2016
                        %A Pooja Yadav
                        %A Shilpa Singh
                        %A Ajay More
                        %T A Proposed System for Real Time Adaptive N Version Programming%T 
                        %J International Journal of Computer Applications
                        %V 136
                        %N 4
                        %P 28-32
                        %R 10.5120/ijca2016908435
                        %I Foundation of Computer Science (FCS), NY, USA
Abstract

N-version programming is a fault tolerance technique that depends on a generic decision algorithm to determine a consensus result from the results delivered by two or more member versions of the software. In N-version programming, N teams of developers work independently on N unique but equivalent implementations of the same program. The major objectives of the NVP process are to maximize the independence of version development and to employ design diversity in order to minimize the probability that two or more member versions will produce similar erroneous results that coincide in time for a decision (consensus) action. But this fault-tolerance technique has been criticized for its statistical assumptions and high cost. A solution is proposed in which there are N versions of the software out of which t versions implement only a subset of the entire functionality which is highly critical while (N – t) versions implement the entire functionality. One of the biggest hurdles in using N version programming for fault tolerance is its high implementation cost. This proposed technique minimizes the cost of implementation while improving the efficiency and reliability of the system.

References
  • L. Chen and A. Avizienis, ‘‘N-version programming: A fault-tolerance approach to reliability of software operation,’’ Digest of Papers FTCS-8: Eighth Annual International Conference on Fault Tolerant Computing, Toulouse, France, pp. 3-9, June 1978.
  • A. A. Aviˇzienis. The Methodology of N-Version Programming, chapter 2. John Wiley and Sons, 1995.
  • Jeff Tian, Software Quality Engineering: Testing, Quality Assurance, and Quantifiable Improvement, John Wiley and Sons, 2005, pp. 272-275.
  • A. Aviˇzienis and L. Chen. “On the implementation of N-version programming for software fault tolerance during execution”. In Proc. IEEE COMPSAC 77, pages 149–155, November 1977.
  • K.H. Kim, ‘‘Distributed Execution of Recovery Blocks: An Approach to Uniform Treatment of Hardware and Software Faults,’’ in Proceedings IEEE 4th International Conference on Distributed Computing Systems, pp. 526-532, San Francisco, California, May 1984.
  • J.-C. Laprie, ‘‘Hardware-and-Software Dependability Evaluation,’’ in Proceedings 11th World IFIP Congress, pp. 109-114, San Francisco, California, September 1989.
  • J. Lala, L. Alger, S. Friend, G. Greeley, S. Sacco, and S. Adams, ‘‘Study of A Unified Hardware and Software Fault Tolerant Architecture,’’ Report No. 181759, NASA Contract No. NAS1-18061, January 1989.
  • Michael R. Lyu, Algirdas Avižienis, “Assuring Design Diversity in N-Version Software: A Design Paradigm for N-Version Programming”, in Chapter Dependable Computing for Critical Applications 2 Volume 6 of the series Dependable Computing and Fault-Tolerant Systems pp 197-218, 1992.
  • Romeu, J.L. Reliability Estimations for Exponential Life, RAC START, Volume 10, Number 7.
  • Hoyland, A. and M. Rausand, System Reliability Theory: Models and Statistical Methods, Wiley, NY, 1994.
Index Terms
Computer Science
Information Sciences
No index terms available.
Keywords

N version programming fault tolerance reliability real time systems

Powered by PhDFocusTM