
- •1. Введение в надежность
- •2. Надежность технических элементов
- •2.1. Основные понятия и определения
- •2.2. Функциональные показатели надежности элемента
- •Функция ненадежности элемента
- •2.3. Числовые показатели надежности
- •2.4. Основные законы распределения наработки до отказа
- •Распределение Вейбулла
- •Экспоненциальное распределение
- •Распределение Релея
- •Нормальное распределение
- •Усеченное нормальное распределение
- •Суперпозиции экспоненциальных распределений
- •2.5. Ремонтопригодность технических элементов
- •Функциональные показатели ремонтопригодности
- •Числовые показатели ремонтопригодности
- •Экспоненциальное распределение вероятности восстановления
- •Комплексные показатели ремонтопригодности
- •2.6. Определение показателей надежности элементов по результатам испытаний
- •Определительные испытания
- •Контрольные испытания
- •Лабораторные испытания элементов
- •3. Надежность технических систем
- •3.1. Надежность простых технических систем
- •3.2. Расчет надежности локальных технических систем
- •3.3. Надежностный синтез технических систем
- •4. Надежность программного обеспечения
- •4.1. Общие сведения о программном обеспечении
- •Жизненный цикл программного обеспечения
- •4.2. Показатели надежности программы и программного обеспечения
- •Понятие ошибки программы
- •Модель ошибки сертифицированного по
- •Модели поведения ошибок функционирующего по
- •Функциональные и числовые характеристики надежности по
- •4.3. Повышение надежности программного обеспечения
- •Повышение надежности по путем резервирования
- •Программное резервирование по предусматривает наличие двух (или более) алгоритмов , решения одной и той же задачи с одинаковыми исходными данными и двух по1 и по2 (рис. 4.13).
- •5. Литература
Функциональные и числовые характеристики надежности по
Надежность ПО или отдельной программы формально можно характеризовать такими же функциональными и числовыми показателями, как и при анализе надежности технических элементов. К основным показателям надежности ПО (или отдельной программы) можно отнести следующие:
- функция ненадежности (риска)
Q(t) = Вер { того, что отказ ПО возникнет до момента t };
- функция надежности
Р(t) = Вер { того, что отказ ПО возникнет после момента t };
-
плотность вероятности отказа
- функция интенсивности отказов
,
являющаяся условной вероятностью возникновения отказа ПО на отрезке (t, t+dt) при условии исправности всех программ до момента t;
- средняя наработка на отказ ПО
.
Основная
особенность характеристик надежности
ПО заключается в их зависимости от числа
ошибок N(0),
имеющихся в сертифицированных (сданных
в эксплуатацию) программах. Действительно,
если программа свободна от ошибок и
N(0)
= N0
= 0, то Р(τ)
1
(рис. 4.6).
Рис.4.6 – Зависимость функции надежности ПО от числа ошибок N
При
>0
и
>
вероятность безотказной работы ПО тем
быстрее стремится к нулю, чем больше
по сравнению с
,
что иллюстрируют графики Р(τ)
на рис. 4.6.
Таким
образом, функция надежности ПО фактически
превращается в семейство распределений
,
зависящих от числа скрытых ошибок N(0)
в сертифицированном ПО.
Относительно
поведения функции интенсивности отказов
во времени τ можно
сделать несколько гипотез. Первая из
них заключается в том, что
есть кусочно-постоянная функция с
разрывами первого рода в моментах
времени
,
j = 1, 2, …,
когда проявляется очередная ошибка,
возникает отказ программы и после
удаления этой ошибки ПО становится
надежнее, а
уменьшается (см. рис. 4.7, где для простоты
показано мгновенное восстановление
программ). При этом «ремонтник» не вносит
новых дефектов в программу, которая
рано или поздно станет абсолютно
надежной, а
.
Рис. 4.7 – Зависимость интенсивности отказа ПО от числа ошибок N
Понятно, что данная гипотеза аналогична первой модели поведения ошибки в сертифицированном ПО. Зависимость интенсивности отказов от τ и N описывается формулой:
,
<
,
j = 1, 2, …,
где
- параметр; N(0)
– число ошибок в ПО при τ
=0; j
– порядковый номер
обнаруженной ошибки в момент
,
j = 1, 2, ….
Соответствующая данной гипотезе функция надежности ПО имеет вид:
,
<
}
j = 1, 2, ….
Существуют
и другие гипотезы о поведении функции
интенсивности
при переменном числе ошибок в ПО. В
частности, предполагается возрастающий
кусочно-линейный характер
на отрезках
j = 1, 2, …,
где
- моменты проявления и мгновенного
удаления ошибки (рис. 4.8), или кусочно-линейный
ниспадающий вид (рис. 4.9).
Рис. 4.8 - Возрастающая интенсивность Рис. 4.9 – Ниспадающая интенсивность отказа ПО при переменном числе ошибок отказа ПО при убывающем числе ошибок
Следует
отметить слабую теоретическую
обоснованность всех гипотез о характере
функции
и крайне недостаточное экспериментальное
подтверждение их справедливости.
При проектировании АСУ РВ, не имеющих аналогов по программному обеспечению, чаще всего отсутствует какая-либо информация о характере зависимости . Если разрабатываемое ПО достаточно сложное (слабо структурировано, имеет много «опасных» операторов и операций типа прерывание, ввод-вывод, логический переход, взаимные связи с ТСА и т.п.), то в первом приближении на основании второй модели поведения ошибок в ПО допустимо принимать самый «тяжелый» экспоненциальный закон распределения наработки до отказа:
.
Для
практических расчетов используется
оценка
,
где
- наработки до отказа тестируемого ПО,
n – число отказов ПО
на этапе его динамического тестирования.