Содержание к диссертации
Введение
Глава I. Методы аналюа гарантоспособности вычислительных систем 12
1.1Анализ гарантоспособности вычислительных систем 12
1.1.1 Угрозы гарантоспособности вычислительных систем 12
1.1.2. Атрибуты гарантоспособности вычислительных систем » 16
1.1.З. Способы достижения гарйнтоспособности вычнслительных систем 17
2. Оценка надежности вычислительных систем 26
1.2.1 Сравнительные оценки надежности вычислительных систем 27
1.2.2. Вероятностные оценки надежности вычислительных систем 28
1.2.3. Внесение неисправностей 29
1.3- Математическая модель оценки надежности вычислительных систем 30
1.4. Выводы , 35
Глава 2, Комплексные модели отказоустойчивости ВС 37
2.1. Выбор числа процессоров 37
2.2. Метедьі, ишольз)тощие пртіраммную и аш 41
2.3. Интегрированные модели надежности мультипроцессорной ВС с несколькими версиями программ 48
2.3.1. Описание модели 48
2.3.2. Оценка надежности различных вариантов построения системы 53
2.3.3. Анализ влияния сбоев на надежностные характеристики систем 54
2.3.4. Влияние программной избыточности на поведения системы 56
2.3.5. Зависимость надежности системы от интенсивностей ошибок ПО и отказов аппаратуры, 58
2-3,6. Зависимость надежности системы от вероятности обнаружения сбоев второго элемента трех элементной системы 60
2.4-Выводы 66
Глава 3. Алгоритмы голосования и модели построения решающих блоков , 67
З.1 Учет характеристик средств контроля в случае резервирования 67
3.2. Методы голосования 68
3.3. Исследование характеристик решающих блоков — 77
3-3.1. Возможности реализации рассмотренных алгоритмов 84
3.4. Выводы 86
Глава 4. Анализ методов обеспечения отказоустойчивости ВС
4,1 Методы обеспечения устойчивости к программным сбоям 88
4,1.1 Блоки восстановления 88
4 1.2. N-вариантное программирование - 91
4.1,3. N-самопроверяемое программирование 92
4.2. Анализ методов обеспечения отказоустойчивости 93
4.2.1. Анализ блоков восстановления 94
4.2.2. Анализ N-самопроеряемого программирования 97
4.2.3. Анализ N-вариантного программирования 100
4.2.4. Сравнение вариантов программ БВ, 1ЧВП и ЫСПП 102
4.3. Анализ надежности отказоустойчивых систем 105
4.3 1- Критерии структурирования отказоустойчивых систем 105
4.4. Выводы 110
Общие выводы 112
Список литературы 114
- Атрибуты гарантоспособности вычислительных систем »
- Интегрированные модели надежности мультипроцессорной ВС с несколькими версиями программ
- Исследование характеристик решающих блоков
- Анализ методов обеспечения отказоустойчивости
Введение к работе
ГЛАВА I. МЕТОДЫ АНАЛЮА ГАРАНТОСПОСОБНОСТИ ВЫЧИСЛИТЕЛЬНЫХ
СИСТЕМ 12
1.1* Анализ гарантоспособности вычислительных систем 12
1.1 Л* Угрозы гарантоспособности вычислительных систем 12
1.1.2. Атрибуты гарантоспособности вычислительных систем » 16
1Д.З. Способы достижения гарйнтоспособности вычнслительных систем 17
\2. Оценка надежности вычислительных систем « 26
1.2Л, Сравнительные оценки надежности вычислительных систем 27
Вероятностные оценки надежности вычислительных систем 28
Внесение неисправностей 29
1.3- Математическая модель оценки надежности вычислительных систем 30
1.4. Выводы , 35
Атрибуты гарантоспособности вычислительных систем »
По области отказа различают динамические и диапазонные отказы. Диапазонный отказ возникает в результате превышения результата вычисле ния заранее заданного диапазона значений- Динамический отказ возникает при наличии задержки в выдаче результатов вы 1 исиения.
Система, которая спроектирована и реализована таким образом, что она допускает определенные виды отказов, называется отказоуправляемой системой (fail-controlled system) [28,32 3536].
По восприятию пользователей системы различают непротиворечивые отказы, т.е. пользователи имеют одно и то же восприятие об отказах и противоречивые отказы когда пользователи имеют разные восприятия об одном и том же отказе.
Отказы в разной степени оказывают влияние на работоспособность программ. Можно выделять два вида отказов: 1) неопасный отказ (например, в отказобезопасной системе) (fail-safe); 2) катастрофический отказ, последствие которого намного больше стоимости системы- Диапазонный отказ и динамический отказ могут привести к останову процессора.
Бесперебойность функционирования обеспечивается применением блоков восстановления, вариантного программирования и N-самопроверяемого программирование NClliL.
Под атрибутами гарантоспособности понимается готовность, надежность, безопасность, конфиденциальность,, целостность и ремонтопригодность [11,28,37,38]. В зависимости от назначения системы внимание акцентируется на каком-то одном из атрибутов.
Надежность является одним из важнейших свойств, характеризующим качество системы. Она отражает способность сохранять во времени в установленных пределах значения параметров технического состояния системы в различных условиях эксплуатации; (надежность является вероятностью того, что система, за определенное время, удовлетворительно выполняет свои функции в заданных условиях эксплуатации). Надежность является комплексным свойством. В зависимости от назначения системы и условий экс плуатации она может включать в себя безотказность, долговечность, ремонтопригодность и сохраняемость или определенные сочетания этих свойств. Готовность в зависимости от применения системы особенно актуально тогда, когда, интересна связь между рабочим и нерабочим состояниями, а также временем пребывания системы в этих состояниях [28,38].
Проектирование гарантоспособных систем требует совместного использования четырех методов обеспечения надежности: предотвращения неисправностей, обеспечения отказоустойчивости, устранения неисправностей, прогнозирование неисправностей.
Предотвращение неисправностей Предотвращение неисправностей достигается методами управления качеством на этапе разработки и изготовления. Эта процедура включает в себя обнаружение и устранение причин неисправностей. Основные этапы предотвращения неисправностей: L Выбор формальных методов и языков (структурное программирование, защита информации, модульность и т.д.). Предотвращение физических неисправностей реализуется экранированием, повышением стойкости к воздействию радиации. Эти решения охватывают все этапы разработки системы. Брандмауэры (firewalls) и подобные программные средства защиты, предназначены предотвращать преднамеренные неисправности- Выполняются также инспектирование программ и оценка проекта (design review),
Управление проектом и верификация программы. Рациональная организация проекта уменьшает возможность возникновения случайных неисправностей, вызванных неправильным пониманием между заказчиком и разработчиком. Кроме того, особое значение уделяется системному тестированию. К сожалению, системное тестирование никогда не может быть исчерпывающим. В частности, существует следующие проблемы: - Тестирование может использоваться только для обнаружения места неисправностей, а не их отсутствия; - Тестировать не всегда возможно в реальных условиях эксплуатации системы. Поэтому используют методы моделирования, хотя это и не гарантирует от возможных ошибок при построении моделей; - Ошибки в определении технических требований к системе, введенные на этапе ее разработки, моїуг не проявляться до тех пор, пока система не начнет функционировать [35] Обеспечение отказоустойчивости
Вследствие неизбежных ограничений, накладываемых на методы предотвращения неисправностей, разработчики встроенных ВС должны рассматривать методы обеспечения отказоустойчивости. Методы обеспечения отказоустойчивости применяются для защиты ОУВС не только от аппаратурных отказов, но и от аппаратурных и программных ошибок и дефектов проектирования- Обеспечение отказоустойчивости ПО связано с внесением и управлением различными видами избыточности в исходные тексты программ. Система может обеспечивать разные степени отказоустойчивости такие как: 1. Полная отказоустойчивость. Система сохраняет работоспособность при отказе отдельных ее элементов, хотя бы на ограниченный период времени, без значительной потери функциональных возможностей или ухудшения рабочих характеристик; 2. Частичная отказоустойчивость. Постоянное ухудшение характеристик системы (fail soft)- Имеется возможность продолжить работу системы при наличии ошибок, допуская при этом частичное уменьшение функциональных возможностей или качества функционирования; 3- Прогнозируемая отказоустойчивость. Система продолжает работать без потерь или повреждений данных, т.е_ сохраняет свою целостность- При этом она может выходить из строя безопасным образом или без опасных последствий (fail safe).
Требуемая степень отказоустойчивости зависит от применения. Хотя теоретически почти все рассматриваемые системы требуют полной отказоустойчивости, на практике многие довольствуются постоянным ухудшением характеристик, так как полная отказоустойчивость практически недостижима. В частности те системы, которые подвержены физическим повреждениям такие, например, как боевой самолет, могут обеспечивать несколько степеней постепенного ухудшения отказоустойчивости- Так Федеральное управление гражданской авиацией США предполагает три степени отказоустойчивости для своего компьютера: полные функциональные возможности (full functionality), минимальные функциональные возможности, которые требуются для управления воздушным движением и аварийные функциональные возможности (emergency functionality). Отказоустойчивость системы обеспечивается двумя процессами: обработкой неисправностей (или сбойных ситуаций) и обработкой ошибок.
Интегрированные модели надежности мультипроцессорной ВС с несколькими версиями программ
Рассматривается наиболее общий случай ОУВС - система с голосованием, состоящая из трех процессоров, (п=3), причем в каждом процессоре работают, три версии программ (пт=3). Такую систему обозначим символом {3/3} \ Аналитическая модель работы системы представляется в виде марковской модели древовидной структуры с непрерывным временем, описываемой системой обыкновенных дифференциальных уравнений [49,67,68]. Рассмотрим варианты конфигурации отказоустойчивых вычислительных систем, состоящих нз нескольких процессоров и программных версий. На рис. 2,8 изображен граф состояний такой системы (граф нарисован для общего случая п и т). Через "О" обозначено состояние нормальной работы (система {3/3}, через "F" - состояние отказа системы. Модель учитывает следующие показатели системы X, у и , где %- интенсивность отказов одного процессора; у- интенсивность сбоев процессора; - интенсивность ошибок программы.
Из состояния "О" система может перейти в состояние "Г , когда откажет один из трех процессоров. Суммарная интенсивность перехода при этом, равно пА, [15,69], Из состояния "1" (система {2/3} система может перейти в состояние "11", когда откажет один из двух оставшихся процессоров с сум Если после этого следует отказ или сбой последнего процессора с суммарной интенсивностью %+у, то тогда следует отказ системы. При переходе в состояние "11" необходимо правильно определить» какой из двух продолжающих работать в состоянии "I5 процессоров отказал или допустил сбой. Правильно работающий процессор определяется путем сравнения меяеду собой версий программы.
Если результаты двух версий, полученные на каком-либо процессоре, совпадают, то это означает, что процессор работает правильно. Полагаем, что правильное сравнение результатов осуществляется с вероятностью с. Следовательно, из состояния П" система попадает в состояние отказа "F", в случае отказа или сбоя третьего процессора с интенсивностью X+yt а в случае отказа одной из трех версий программы система попадает в состояние "111" с интенсивностью т, а возвращается обратно с интенсивностью спонтанного восстановления работы программы г. Если за время пребывания системы в состоянии "111" следует отказ еще одной из двух версии программы с интенсивностью (т-1) и с вероятностью с система попадает в состояние "1111" и возвращается опуда в состояние "111" с интенсивностью т\. В случае отказа или сбоя третьего процессора или отказа последней версии следует отказ системы.
Судить о правильности результатов версии можно путем приемочных тестов каждой версии. Отказ системы следует также в случае, когда описанный выше механизм не срабатывает с вероятностью (1-е). Тогда система попадает сразу в состояние отказа "F", с интенсивностью (п-1)А.(1-с).
Аналогичная картина имеет место также в случае, когда после перехода в состояние "1" следует сбой с интенсивностью (п-1)у одного из работающих процессоров- Однако, здесь возможен возврат из состояния "12" в состояние "1" с интенсивностью восстановления работы процессора после аппаратного сбоя Р В случае, когда после отказа одного процессора (состояние "1") следу ет отказ программы с интенсивностью т, система попадает в состояние "13" (система {2/2} и возвращается обратно в состояние "Г с интенсивностью ц. Если во время нахождения системы в состоянии "13" следует отказ процессора, то тогда система переходит в состояние "131" с интенсивностью (п-1)Лс. Из последнего состояния система переходит в состояние "1311" с интенсивностью (т-1)с- Здесь возможен возврат из состояния "1311" в состояние "131" с интенсивностью ЦІ Из состояния "131" система переходит в состояние системного отказа при отказе или сбое последнего процессора или когда сравнение результатов версий дает неправильный результат, что произойдет с вероятностью (1-е). В случае отказа или сбоя третьего процессора или отказа последней версии следует отказ системы.
Если происходит сбой процессора, то тогда система переходит в состояние "132" с интенсивностью (п-1) ус и возвращается обратно в состояние "13" с интенсивностью прекращения сбоя р. Система имеет одно и тоже поведение в состояниях "131" и "132", В случае отказа программы система переходит в состояние "133". Система попадает из состояния "13" в состояние "F" также в случае, когда сравнение результатов версий дает неправильный результат, что произойдет с вероятностью (1-е).
В случае возникновения сбоя одного из процессоров система переходит в состояние "2" (система {2/3} на рис, 2.9) с ограниченной продолжительностью пребывания, которое определяется интенсивностью прекращения сбоя р. В остальном процессы соответствуют случаю, когда система сначала переходит в состояние "1".
В случае, когда первой откажет версия программы, система попадает в состояние "3" с интенсивностью т на время, определяемое интенсивностью спонтанного восстановления работы программы т). Если после этого откажет один из процессоров с интенсивностью тЛ, то система попадает в состояние "31". В остальном процессы соответствуют случаю, когда система сначала переходит в состояние "13". То же самое происходит в случае перехода сие темы в состояние "32 , Система попадает в состояние "33 , в случае отказа второй версии. Если следует отказ одного процессора из трех с интенсивностью пк, тогда система попадает в состояние ЭЗГ\ В состояния "331" и "3322", система попадает с интенсивностями (п-1)Аг и (п-1)ус соответственно, а в состояние отказа РЯ с интенсивностью k+7+J;. Системный отказ следует тогда также в случае отказа третьей версии с интенсивностью ;.
Данный наиболее сложный граф состояний отвечает случаю, когда имеется три процессора, и в каждом процессоре по три версии программы. Граф может быть использован и в более общем случае, когда п 3 и т 3.
Когда перерывы в работе системы недопустимы» вычисляют условную вероятность безотказной работы Pfatj) в течение заданного времени выполнения задачи при условии, что в начальный момент времени все элементы системы работоспособны- При вычислении P(tbtj) учитывается восстановление отказавших элементов. Оценка P(tbtj) производится при допущении о показательном характере распределения времени безотказной работы и времени восстановления элементов. В рассматриваемом случае неработоспособные состояния являются поглощающими и необходимо решать полную систему дифференциальных уравнений (ДУ) при соответствующих начальных условиях /Ц0)-1, / 0) = (0) = -/ (0) = 0
Исследование характеристик решающих блоков
Задачей решающих блоков (РБ) является формирование правильні результата на основе результатов многоканальной обработаем, когда некоторая доля из этих результатов содержи! ошибки. Полагаем, что голосование їїроизводитея помощью тех же процессоров, которые используются для решения основных задач. В таком случае необходимо учитывать влияние отказов этих процессоров ш результаты голосований, так как это оказываег значительное влияние на надежность системы, обусловленной собственно
Решающие блоки могут быть реализованы аппаратными ИЛИ аппаратно-программными средствами. Надежность схемы аппаратного голосования явжятся фактором, ограннчившощим общую надежность системы. Имеется предел при котором уменьшение надежности из-за схемы аппаратного голосования превышает увеличение надежности путем резервирования- Поэтому интерес предеташшгот аппаратко-программные средства реализации решающих блоков. Они отличаются, прежде втего, числом шншиж обработки пш-шых щ следовательно числом процессоров, а также нсисидим допустимых от ії слуаде двухпроцессорной системы алгоритм реализации решаю Едока изображен в виде блок-схемы рнс, ЗЛО, где обозначение {а=Ь)а ет сравнение результатов процессоров а и b средствами процессора а, а обозначение [х означает выдачу результатов процессора х. Пусть далее q обозначает вероятность отказа процессора, ад-- вероятность того, что отказавший процессор выдает сигнал о том, что сравниваемые этим отказавшим процессором (например, а) результаты работы двух процессоров, например, а и Ь, отличаются друг от друга.
Допустим, что выдача отказавшим процессором сигнала о расхождении результатов обработки двух процессоров - это случайное событие, не зависящее от фактического состояния сравниваемых процессоров. Вероятностные характеристики РБ двухпроцессорной системы показанной на рис. ЗЛО приведены в таблице 6,
Вероятность безотказной работы системы, состоящей из двух параллельных процессоров записывается формулой где с вероятность обнаружения отказа одного из двух процессоров. Неравенство Рсы Р2ц справедливо в случае c ,QJ и я-= 0.5,
Блок-схема этой, системы. была реализована в научно-исследовательском центре (SSRC - Сирия), Результат работы показывал» что ее ВБР превышает ВБР двух параллельных процессоров на 10-15%, В случае трехпроцессорной системы возможны различные решения, зависящие от того, проверяется ли работа двух процессоров путем сравнения их результатов одним из этих двух процессоров, или третьим процессором.
Кроме того, результаты работы системы зависят от того, результаты каких процессоров сравниваются и в какой последовательности, а также от числа сравнений- На рис- ЗЛіа, 3.116, ЗЛІв, ЗЛІг, ЗЛІд приведен ряд вариантов блок-схем алгоритмов решающего блока. Блок-схема алгоритмов РБ на Рис, ЗЛ 1а ограничивается одним сравнением, ЗЛ16 и ЗЛІв - двумя сравнениями, а. в случае ЗЛІг и ЗЛІд предусмотрено три сравнения, В случае блок-схем рис. ЗЛіа, ЗЛІб и ЗЛІг сравнение производится одним из сравниваемых процессоров (т.е. (а=Ь)а% в случае блок-схем рис. ЗЛІв и ЗЛІд - с помощью третьего процессора (т.е.. (я Ч/ в таблице 7 приведены вероятностные характеристики рассмотренных выше блок-схем. Сравнивая различные блок-схемы алгоритмов, можно сделать вывод о том, что схема на рис. ЗЛ 1а наиболее простая.
Другие схемы более сложные по сравнению со схемой на рис, ЗЛіа и уступают ей по вероятности безотказной работы системы, поскольку могут выдавать неправильный результат даже при отказе одного процессора Как следует из полученной формулы, результирующая вероятность безотказной работы не зависит от поведения отказавшего процессора, характеризуемого вероятностью ж.
Вероятность безотказной работы троированной мажоритарной системы (2 из 3) определяется следующей формулой
Вероятность отказа системы имеет порядок #2, т.е. одиночные отказы процессоров не влекут за собой отказ системы. Обозначим через Рс\\б РсМв Рс\\ги Л;1 id, соответственно, ВБР систем нарис. ЗЛ1б,ЗЛ1в, ЗЛІги 3.11д. Зависимости ВБР Pci\at Рс\\6 рсНв рс\Ъ и рсШ т я показаны на рис. 3,12. ИЗ приведенных графиков следует, что система рис. ЗЛІг имеет наибольшую ВБР Из анализа графиков следует» что сравнение целесообразно выполнять на одном из двух процессоров (т.е. (а=Ь)а% а не с помощью третьего процессора как в случае блок-схем на рис. ЗЛ 1в и 3.1 Ід, где ВБР решающего блока меньше Ртмс? при условии п » 0.5.
В случае, если число процессоров больше трех, задачей РБ является обеспечение получения правильного результата в случае отказа не более заданного числа процессоров. В теории этот вопрос решается путем определения dO — днагностируемости, которая определяется как возможность однозначно определить отказавшие процессоры в мультипроцессорной системе на основе взаимных проверок, при условии, что число отказавших процессоров не больше dO [6,81].
В настоящее время исследованы с точки сти кольцевые струаоуры с диагоналями. В показано в [6]t можно уверенно обнаружить до di} - диагноетируемо-шеста процессоров, как двух отказавших ироце&со
Промрга производится по схеме, изображенной та процессор изображен в виде вершины графа, а каждая ляет собой сравнение результатов обработкой, процессор, от которого исходит дуга на графе, а д&т дуга графа. Утверждается, что некоторый процессор я&яяется только тогда, когда его проверка двувд другими процессорами состояние отказа а проверка этих дву проверяющих указывает на еще од 83 ним процессором указывает на их работоспособное состояние. Например, как указано на рис, 3-13, если процессоры 2 и 3 показывают неработоспособность процессора 4, а процессор I показывает работоспособность процессоров 2 и 3, то можно с уверенностью сказать, что процессор 4 отказал.
Действительно, если процессор 4 не отказал, то тогда его неработоспособность могли бы подтвердить только неисправные процессоры 2 и 3, но больше неисправных процессоров в системе не должно быть, согласно исходной постановке. Во всяком случае, если отказавших процессоров больше, система не обязана их правильно распознавать. Тогда и 1-й процессор работоспособен и не может подтвердить работоспособность процессоров 2 и 3, и 4-й процессор тоже работоспособный. Если же на неработоспособность процессора 4 указывает один из процессоров, т.е. если 2-й или 3-й, то он неисправный, а это должен подтвердить 1-й процессор- Если этого не произошло, то это означает, что неисправные процессоры 1-й и 2-й или 3-й, следовательно, 4-й должен быть исправным. Таким образом, попытки доказать неработоспособность процессора 4 при других комбинациях результатов, чем та комбинация, которая указана на рис. 3.13, приводят к логическому противоречию. В терминах алгебры логики это записывается следующим образом XlZ9XU9XMtXM - переменные, равные нулю, если проверка работоспособности первым процессором второго, первым - третьего, вторым - четвертого и третьем - четвертого подтвердила работоспособность. В противном случае эти переменные равны единице. В общем случае:
Анализ методов обеспечения отказоустойчивости
Хотя все четыре версии ПО В{ {Ї-i,...,4) выполняются одновременно, только один СПК подключен к выходу системы н является действующим или управляющим, а другой СГЖ находится в режиме горячего резерва. Два сом таратора и выходной переключатель образуют решающий блок вариант программы NCH1L При отказе управляющего компонента его функции выполняет резервный компонент. Метод позволяет оценивать динамическое поведение программы. На практике, бшіьшинство реальных систем базируются на основе самоорокряемьш лршраьш Например, система управления ішле-том самолета АігЬш А-320 базируется на /рух с&модронермемых компонентах, каждый из ютгарык базируется на параллельном выполнении двух вер-сий ПО и сравнении из результатов В таблице В приведены основные зшрактерйсти&ж этих методов. значим через/ степень отказоустойчивости системы.
Из классов неисправностей, ошибок и отказов будем рассматривать здесь независимые и связанные неисправности. Последние возникают в ре зультате либо ошибок в ТЗ (общее для всех версий), либо из-за корреляций отдельных разработок и реализаций. Известно, что связанные неисправности между версиями ПО проявляются в виде подобных ошибок (similar errors), тогда как независимые неисправности версий обычно приводят к различным ошибкам, хотя получается, что независимые неисправности могут быть причиной подобных ошибок.
Источниками отказов являются независимые и связанные неисправности как в версиях ПО, так и в решающем блоке. Предположим, что неисправность только одного класса (независимые или связанные неисправности) могут проявиться и привести к ошибке при выполнении программы. Отказы будем классифицировать по двум признакам: 1. По виду неисправностей - различимые отказы и отказы общего характера. Выделим два вида связанных неисправностей: связанные неисправности между самыми версиями ПО и связанные неисправности между версиями ПО и решающим блоком. 2. По способу обнаружения - обнаруженные и необнаруженные отказы. При этом полагаем, что вероятность появления неисправности одна и та же для всех рассмотренных версий ПО.
В таблице 10 показаны комбинации независимых или связанных неисправностей, которые могут влиять на структуру блока восстановления. БВ состоит из двух алгоритмов - первичного (Р) и вторичного (S) и приемочного теста ПТ [13]. В таблице 10 также приведены вероятности появления неисправности и конечный вид отказов (обнаруженный или необнаруженный) когда неисправности не допустимые, где q,vx, $юхш ве" роятность, соответственно, появления независимой неисправности в одном компоненте или в решающем блоке варианта программ X, где X е [БВ, NBB, NCCJ7]. qRyD,x вероятность появления связанных неисправно Появление одной неисправности допустимо (комбинация 1). Появление двух или более независимых неисправностей обнаружено (комбинация 2,3, и 4).
Комбинация неисправностей номер 3 охватывает все ситуации, когда появляется независимая неисправность решающего блока (приемочного теста) варианта программ БВ, которые имеют одну вероятность qiDtEB. Полагаем, что приемочный тест поступает единообразно по отношению к каждой версий (нет компенсации ошибок). Таким образом, при появлении независимой неисправности ПТ, отказ обнаруживается, так как необнаруженные отказы, вызванные появлением неисправности ПТ, обусловливаются появлением неисправности, связанной между версиями ПО и ПТ (комбинация неисправностей 5). В случае комбинации неисправностей номер 4 связанная вероятность появления, обозначена w- , соответствует неисправности, связанной между двумя версиями ПО варианта программ БВ. Вероятность « охва тьшшзт все ситуации поз№іени$ СЙЙЗ&ШОЙ неисправности между версиями ПО варианта программ БВ (комбинация ветшрашюетей 5). Это единственная комбинация неисправностей, которая оршадах к в шбвдруж&н нону отказу варишга проіра&ш ВВ. #, - вероятность появления сшшннш; неисправностей среди і версии ПО варианта программ х, Источники различных неисправностей возникающих в процессе разработки блока восстановления с двумя версиями ПО и приемочным тестом показаны на рис. 4.6,
Как видно m рис, 4.6. в соответствии с общей спецификацией разрабатываются дж версий ПО и приемочный тест. .Этим обусловлена значительная ральз&внеиьхых неисправностей медду версиями ПО и нр иемоя&дам тестом.
Граф состояний блоков восстановления ішИЗражсн на рис. 4,7, где символами PXP.S ш й\ о&вначады следующие операции; выполнение 1-го ш Е І -оритшг, \ іршм очної ч теста і гошш взш і ол неп т я І га алгоритма, 2-го алгоритма и приемочного теста после тжолиттж 2-ГО алгоритма, а сизиволамїі ї -состояние нормальної работы ВВ; Я - шетошие? в котором обнаружен отказ и F - состояние отіша.
Для графа, изобретенного га рна 4Л справедливы следующие зависимости восстановления приемочный тест обычно менее СЛОЖ і полагая, что вероятность отказа верств ПО зависит ел сложности ее решшзшри тогда еправедтаво
В таблице 11 приведены комбинации независимых и связанных неисправностей варианта программ КСГЩ сопутствующие вероятности их возникновения ш виды отказов. Полагаем» что блоки сравнения одинаковые с точки зрения вероятности отказа. возникновение независимой неисправности блока сравнения х&ракте ризуется комбинацией неисправностей 6, которая приводит к обнаруженному отказу,- Единственная комбинация связанной неисправности между версиями ПО и блоками сравнения определяется комбинацией неисправностей 12,
Хотя комбинации неисправностей 7 и 9 соответствуют связанной неисправности между двумя версиями ПО, комбинация 7 допустимая, а номер 9 обнаруженная.
Комбинации неисправностей (3— 9) приводят к обнаруженным отказам, а остальные комбинации неисправностей приводят к необнаруженным отказам.
При зтхда вдзникшот следующие щды неисправностей; независимая неисправность одной или двух версий ПО одшго СПК с вероятностью #,, связанная неисправность между двумя версиями ПО, орихшддежащяши ре-СПК, с вероятностью q75 независимые неисправности трех или версий ПО, принадлежащих различным СІЖ, с вероятностью #, неза-неисправности четырех версий ПО с вероятностью дл, связанные неиенраввост двух версий ПО, принадлежащих действующему СТІК с se-роятнікпью gi4 связшшьш неисправное двух версий ПО, принадіеж&нрх или четырех версий ПО с вероятностью q1 и связанная неисправность между четырьмя версиями ПО и блоком сравнения с вероятностью q%. Эта вероятности определяются следующей системой уравнений,
Обозначим Чоюлп Чаг +Яін +?р тогда вероятность отказа системы записывается следующей формулой
N-вариантное программирование состоит из трех версий ПО и блока сравнения (БС). Каждый версии содержат как критические, так и некритические функции. В таблице 12 показаны комбинации независимых или связанных неисправностей варианта программ МВП, сопутствующие вероятности их возникновения и конечные отказы (если неисправности недопустимые).
Видно, что обнаруженными являются все комбинации многократных независимых неисправностей и также независимая неисправность решающего блока (комбинации неисправностей 2, 3, 4)- Видно также, что все комбинации связанных неисправностей приводят к необнаруженным отказам (комбинации неисправностей 5,6,7).