| 
 | ||||||||||
| 
 | 
 M. V. Saramud, Engineer, e-mail: msaramud@gmail.com, I. V. Kovalev, Professor, e-mail: kovalev.fsu@mail.ru, In  the article considered technique which makes it possible to compare the main  methodologies for increasing fault tolerance with the introduction of software  redundancy: N-version programming (with majority and fuzzy voting algorithms),  N self-checking programming, recovery blocks, consensus recovery blocks, and  t/(n — 1)-version programming. The software implementation of this technique  allowed to compare them under the same conditions, with the specified system  characteristics and the probabilities of correct operation of all components,  to obtain system characteristics using these methodologies based on the  simulation results. The results of modeling in the proposed environment are  analyzed. A non-trivial methodology of t/(n — 1)-Variant Programming based on t/(n — 1)-diagnosability is considered in detail. The results of it's work are  compared with classical methodologies. This simplifies the choice of  methodology for implementing the software under development. A software  implementation with real algorithms allows you to select the best optimization  algorithm for a given set of functions and the amount of allowable deviation.  Also it shows the working capacity of the proposed toolkit on a real applied  task, where the system no longer knows the correct output, but works in real  conditions, rather than with simulation versions. | |||||||||