main| new issue| archive| editorial board| for the authors| publishing house|
Ðóññêèé
Main page
New issue
Archive of articles
Editorial board
For the authors
Publishing house

 

 


ABSTRACTS OF ARTICLES OF THE JOURNAL "INFORMATION TECHNOLOGIES".
No. 1. Vol. 25. 2019

DOI: 10.17587/it.25.20-25

M. V. Saramud, Engineer, e-mail: msaramud@gmail.com, I. V. Kovalev, Professor, e-mail: kovalev.fsu@mail.ru,
V. V. Losev, Assistant Professor, e-mail: basilos@mail.ru, M. O. Petrosyan, Postgraduate Student, e-mail: mopetrosyan@gmail.com, A. O. Kalinin, Postgraduate Student, e-mail: andrey.kalinin@phkp.ru, Reshetnev Siberian State University of Science and Technology, Krasnoyarsk, 660014, Russian Federation

Comparison of Methodologies for Increasing Software Fault Tolerance in a Simulation Execution Environment

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.
Keywords: multi-version programming, software redundancy, reliability, recovery blocks, execution environment, related software fault, t/(n — 1)-diagnosability, consensus recovery blocks, optimization, simulation

To the contents