N-version Programming for Railway Interlocking Systems: Synchronization and Voting Strategy

Abstract The main issue in controlling safety-critical systems such as nuclear power reactors or railway signalization systems where risk ratio is at the highest level because small errors might result in hazardous accidents (e.g. death or injury of several people) is to satisfy safety-related standards and provide high-safety with high-reliability. In order to improve reliability and safety of such systems to the required level by decreasing common-cause failures at the same time, diverse programming (or N-version programming) technique where N-different independently designed modules run in parallel on the same input output specifications can be used. In this study, a new bitwise voting strategy based on safe-states of variables is proposed and possible critical races between modules those run in a parallel manner are determined. Solutions for critical races are also explained.

[1]  R. Bell,et al.  IEC 61508: functional safety of electrical/electronic/ programme electronic safety-related systems: overview , 1999 .

[2]  Algirdas Avizienis,et al.  The N-Version Approach to Fault-Tolerant Software , 1985, IEEE Transactions on Software Engineering.

[3]  Edward J. McCluskey,et al.  Word-voter: a new voter design for triple modular redundant systems , 2000, Proceedings 18th IEEE VLSI Test Symposium.

[4]  J. von Neumann,et al.  Probabilistic Logic and the Synthesis of Reliable Organisms from Unreliable Components , 1956 .

[5]  Robert E. Lyons,et al.  The Use of Triple-Modular Redundancy to Improve Computer Reliability , 1962, IBM J. Res. Dev..

[6]  Stuart Bennett,et al.  A taxonomy for software voting algorithms used in safety-critical systems , 2004, IEEE Transactions on Reliability.

[7]  Stuart Bennett,et al.  Smoothing voter: a novel voting algorithm for handling multiple errors in fault-tolerant control systems , 2003, Microprocess. Microsystems.

[8]  Seetharamaiah Panchumarthy,et al.  A Novel History based Weighted Voting Algorithm for Safety Critical Systems , 2011 .

[9]  Gholamreza Latif Shabgahi,et al.  A fuzzy voting scheme for hardware and software fault tolerant systems , 2005, Fuzzy Sets Syst..

[10]  Aviziens Fault-Tolerant Systems , 1976, IEEE Transactions on Computers.

[11]  J.L. Gersting,et al.  A comparison of voting algorithms for n-version programming , 1991, Proceedings of the Twenty-Fourth Annual Hawaii International Conference on System Sciences.

[12]  B. Parhami Voting algorithms , 1994 .

[13]  Arthur E. Cooper,et al.  Development of On-Board Space Computer Systems , 1976, IBM J. Res. Dev..

[14]  G. R. Latif-Shabgahi,et al.  A novel algorithm for weighted average voting used in fault tolerant computing systems , 2004, Microprocess. Microsystems.