В случае безотказной работы результаты процессов О и П д. совпадать, что определяется устройством сравнения М2. В случае, когда результаты не совпадают М2 выдает сигнал об ошибке н.
Метод позволяет выявлять только сбои и отказы аппаратуры: если процессы О и П осуществляются по одной и той же программе; если они осуществляются по разным, но функционально эквивалентным программам (1) позволяет выявлять ошибки в программах.
«-»(1): - большая трата аппаратных средств; - она м.б.
, если О и П выполняются последовательно на одной и той же аппаратуре. Здесь контроль б. выявлять только сбои, а не отказы аппаратуры; - за счет точности.Для некоторых задач, которые характеризуются взаимно однозначным соответствием м/ исходными данными и результатом, эффективнее применять (2).
При (2) //-ый процесс П1, с исходными данными y и результатом x, осуществляет обратное преобразование результата контролируемого процесса О.
«-»(2): кроме ограниченности класса решаемых задач и в том, что время, затраченное на получение контролируемого решения, даже в случае применения дополнительной аппаратуры будет не ниже суммарного времени выполнения процессов О и П.
В отдельных случаях целесообразно применять смешанный контроль
При (3) исходные данные x и результаты y основного вычислительного процесса подвергаются преобразованиям П2 и П3, которые в случае безотказной работы дают сопоставимые результаты.
Все методы контроля имеют свои недостатки,
используются комбинации.Надежность систем с контролем зависит от достоверности контроля. Она м.б. оценена через вероятности ошибок контроля, которые м.б. Iи II рода.
Iрода: отклонение правильной гипотезы
II рода: принятие ложной гипотезы
Пусть F – наличие неисправностей в контролируемом объекте
- отсутствие неисправностейD – сигнал о наличие неисправности
- отсутствие сигналаИмеется 4 сложных события:
Эти события образуют полную группу событий,
их вероятности удовлетворяют условию: Р(DF) + Р(D ) + Р( F) + Р( ) = 1Т.о. любая из 4 вероятностей м.б. найдена при условии, что 3 остальных известны. Вероятности событий м.б. оценены следующим образом: рассматривая множество состояний 6 контролируемого объекта, предполагая, что контролирующее устройство находится в исправном состоянии, можно 6 разбить на 4 подмножества GDF, GD , G
F, G .Т.к. все события несовместимы по правилу сложения вероятностей имеем:
pX – вероятность состояния x контролируемого объекта. Оно определяется множеством отказов, которые произошли в данном объекте. Допустим, что эти отказы произойдут независимо друг от друга по правилу умножения вероятностей:
pX= ПpiП(1 – lj) i
НX, j НXpi – вероятность того, что в объекте произошел i-ый отказ
НX – множество номеров отказов, соответствующих состоянию x объекта
Надежность ПО (программного обеспечения)
- м.б. определена как свойство программы, которое выражается в выполнении заданных функций в заданных условиях и на заданной вычислительной машине. Отказ ПО обусловлен несоответствием ПО поставленным задачам. Несоответствие может возникнуть по 2 причинам:
1. разработчиком нарушена спецификация
2. спецификация является неточной
Т.к. не всегда возможно составить точную спецификацию, предполагается классифицировать программы по степени точности:
1) программы, функции которых полностью определяются спецификацией
2) программы, функции которых характеризуются сопоставлением вычислительных и измеренных результатов: моделирующие программы (реализуют математическую модель физического объекта)
3) программы, действующие в постоянно изменяющейся среде (ОС-ы)
Теория надежности аппаратуры частично применима к проблеме надежности ПО. Учитывая следующие различия м/ надежностью аппаратуры и ПО:
– элементы ПО не стареют из-за износа или усталости
– для контроля ПО имеется намного больше способов, чем для аппаратуры
– в ПО имеется на много больше объектов для контроля
– в аппаратуре исполнение стандартных элементов распространено намного шире, чем в системе ПО
– количество документации на ПО >> количества документации на аппаратуру.
Ошибки программ м.б. разделены на ошибки, обусловленные ограниченными возможностями программы и на логические ошибки. Наиболее часто встречающиеся делятся на:
1) ошибки в числовых значениях
2) недостаточные требования к точности
3) ошибочные символы (знаки)
4) ошибки оформления
5) основы разработки программ неполные или неточные
6) двусмысленность требования
1. усовершенствование технологии программирования
2. выбор алгоритмов, нечувствительных к различного рода нарушениям вычислительного процесса
3. резервирование программ:
- инверсионное программирование
- дуальное программирование
и другие методы введения структурной избыточности
4. контроль и тестирование программ с последующей коррекцией
Выбор алгоритмов, нечувствительных к нарушениям вычислительного процесса, основан на исследовании их чувствительности. Мерой чувствительности являются погрешности, вызванные вышеназванными нарушениями.
Результаты вычислений могут искажаться погрешностями:
- исходных данных
- округлением
- методическими программами
- обусловленными отказами, сбоями и ошибками в программе
Основана на следующих допущениях:
· общее число команд в программе на машинном языке постоянно
· в начале компоновочных испытаний число ошибок = некоторой постоянной величине и по мере не исправления ошибок их становится меньше
· в ходе испытания программы новые ошибки не вносятся
· ошибки изначально различимы. По суммарному числу исправленных ошибок можно судить об оставшихся
· интенсивность отказов программы
числу оставшихся ошибокНа основе данных допущений получим:
er(x) = e(0) – ec(x) (1)
x – продолжительность отладки программы
e(0) – отношение числа ошибок Е0, имеющихся в программе в момент времени x = 0 к общему числу команд на машинном языке I.
e(0) = Е0/I
ec(x) – число остаточных ошибок в момент времени x, отнесенное к общему числу команд I.
lS(t) = kS.er(x) (2)
t – время работы системы
kS – коэффициент пропорциональности
lS(t) – интенсивность отказов в течении интервала времени t
Определив l программы (частоту появления ошибок) найдем выражение для вероятности безотказной работы
P(t) = exp[–
lS(t)dx] = exp[– kS.er(x)dx] (3)Т.к. в данной модели частота появления ошибок считается независимой от t, она принимается постоянной,
среднее время безотказной работы программы =:Т0 = 1/lS(t) = 1/(kS.er(x)) (4)
Оценивание параметров модели:
Подставляя (1) в (4) получим следующее выражение для среднего времени безотказной работы:
Т0 =
(5)(5) содержит 2 неизвестных параметра: kS - коэффициент пропорциональности и Е0, которые можно оценить, используя метод согласования моментов.
Если рассматривать 2 периода отладки программы x1 и x2 такие, что x1 < x2, получаем: