The Journal of Reliability Engineering Association of Japan
Online ISSN : 2424-2543
Print ISSN : 0919-2697
ISSN-L : 0919-2697
Design of N-Version Program Using Genetic Algorithm(<Special Survey>Reliability and Maintainability of Information Systems)
Yasuhiro TSUJIMURA
Author information
JOURNAL FREE ACCESS

2006 Volume 28 Issue 8 Pages 546-554

Details
Abstract

The N-version programming (NVP) approach is a kind of fault tolerant techniques and is a software system employing functionally equivalent, yet independently developed software components. It relies on the application of design diversity, i.e., program versions are independently designed to meet the same system requirements. A consistent set of inputs is supplied to all versions and all N versions are executed in parallel. A decision mechanism must gather the available results from N versions and determine the result to be delivered to the user. When constructing a large size software system with extreme high reliability, we must use much higher reliable components, however, it needs very much expense. But, such a large, highly reliable software system should be designed with as low cost as possible. Genetic algorithm (GA) is known as one of the most powerful optimizers or near-optimizers of combinatorial optimization problems. We introduce two genetic algorithms, one employs the Random-key representation, and the other employs the Binary representation for solving the N-version program design problem formulated as a 0-1 non-linear integer programming problem, respectively. Further, the efficiency of the proposed GAs will be ensured through some numerical experiments. Then the characteristics of each representation scheme are investigated and evaluated.

Content from these authors
© 2006 Reliability Engineering Association of Japan
Previous article Next article
feedback
Top