Проверяемый текст
Попов, Андрей Анатольевич. Оптимизационные методы формирования мультиверсионного программного обеспечения критичных по надежности систем управления (Диссертация 2002)
[стр. 28]

различных модулей с одинаковой спецификацией {мультиверсий одного модуля).
Моноверсионные модели обеспечения надежности в соответствии с их целью можно разбить на четыре группы [13]: предупреждение ошибок, обнаружение ошибок, исправление ошибок и обеспечение устойчивости к отказам.
К первой группе относятся методы, позволяющие минимизировать или вообще исключить ошибки.
Методы второй группы сосредоточивают внимание на функциях самого программного обеспечения, помогающих выявлять ошибки.
К третьей группе относятся
методы, предназначенные для исправления ошибок или их последствий.
Устойчивость к ошибкам — это
способность программного комплекса продолжать функционирование независимо от наличия ошибок.
Все мультиверсиоиные модели основаны на двух основных методологиях: модели восстанавливающихся блоков и мультиверсионном программировании.
Мультиверсии могут выполняться как последовательно, так и параллельно.
Они используются как альтернативы (с отдельными средствами обнаружения ошибок), в парах (для обнаружения ошибок путем сравнения реплик) или в больших группах (для обхода ошибок через голосование).
Использование множества версий имеет смысл только в том случае, когда такие версии существенно отличаются (разработаны разными разработчиками, работают по разным алгоритмам, созданы разными средствами разработки и т.д.) [14].
Такой подход дает гарантии того, что если один вариант даст сбой на некотором наборе данных, то хотя бы один из оставшихся альтернатив сможет вернуть приемлемый результат.
1.3.1.Моноверсионные модели Данная модель является основой реализации надежного программного обеспечения.
Использование свойств модульности, таких как ограничение распространения сбоев, является ключевым элементом разработки высоконадежных систем.
Л свойства структуры, такие как видимость 28
[стр. 43]

функционирования КП.
Возникает оптимизационная задача распределения ресурсов на отладку и па помехозащиту, обеспечивающих заданную надежность функционирования программ при минимальных суммарных затратах.
Таким образом, так же как в аппаратурных комплексах, заданной надежности можно достигнуть либо путем повышения надежности компонент (отладкой программ), либо путем введения избыточности для контроля и резервирования (контроль и помехозащита программ), либо совместным сбалансированным применением этих методов повышения надежности.
1.4.
М у л ь т и в е р с и о н н о е п р о г р а м м и р о в а н и е к а к м е т о д о л о г и я ПРОЕКТИРОВАНИЯ ОТКАЗОУСТОЙЧИВОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ Все принципы и методы обеспечения надежности в соответствии с их целью можно разбить на четыре группы [30]: предупреждение ошибок, обнаружение ошибок, исправление ошибок и обеспечение устойчивости к ошибкам.
К первой группе относятся методы, позволяющие минимизировать или вообще исключить ошибки.
Методы второй группы сосредоточивают внимание на функциях самого программного обеспечения, помогающих выявлять ошибки.
К третьей группе относятся
функции ПС, предназначенные для исправления ошибок или их последствий.
Устойчивость к ошибкам это
мера способности программного комплекса продолжать функционирование при наличии ошибок.
Концепция мультиверсионного программирования, как подход к реализации программной отказоустойчивости, была введена А.
Авижиенисом в 1977 году [59].
Употребляемый в литературе термин "N-версионное программирование" NVP (N-version programming) является эквивалентным и многократно фигурирует в сокращенных обозначениях рассматриваемой методологии.
А.
Авижиенис определил мультиверсионное программирование как независимую генерацию N >2 функционально эквивалентных программ в соответствии с идентичными исходными спецификациями на проектирование 43

[Back]