
- •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. Литература
4.3. Повышение надежности программного обеспечения
Повышение надежности программ
Программное обеспечение состоит из большого числа программ, подпрограмм и модулей, находящихся под управлением операционной системы или программы-диспетчера. Выполнение этих программ осуществляется последовательно во времени на одном и том же процессоре ЭВМ. Если выполняемые программы предназначены для получения одного результата y (или выполнения одной функции АСУ), то в надежностном отношении программный комплекс представляет собой простую систему без избыточности и вероятность его безотказной работы равна произведению вероятностей безотказного функционирования каждой программы Пi
,
где m – число программ в ПО (рис. 4.10)
Рис. 4.10 –
Схема решения задачи
с помощью ПО на однопроцессорной ЭВМ
Надежность
такого ПО определяется интенсивностью
отказов самой ненадежной программы с
наименьшей функцией Рi(t)
или с наибольшим значением
,
.
Отсюда следует последовательность
действий по повышению надежности ПО:
-
определяются самые «ненадежные»
программы ПО, имеющие наименьшие оценки
,
где
-
наработки до отказа i-
й программы на этапе динамического
тестирования,
- «ненадежные» программы подвергаются дополнительному, более жесткому тестированию (реже – статическому, чаще - динамическому), где используются другие тесты и, в том числе, те задачи, для решения которых создается ПО;
-
если при дополнительном тестировании
выявлено и удалено достаточно много
ошибок и значения
стали
близки к аналогичным величинам для
более «надежных» программ, то все m
программ стали почти
равнонадежными и надежность всего ПО
возможно стала удовлетворять предъявляемым
к нему требованиям;
- если при дополнительном тестировании выявлено мало ошибок и соответствующие значения не возросли, то такие «ненадежные» программы переписываются заново. При этом может быть принят другой алгоритм решения задачи, использован более структурированный язык программирования высокого уровня, в программы включены хорошо изученные программные модули и библиотечные подпрограммы, наконец, привлечен более квалифицированный программист.
Повышение надежности по путем резервирования
Другой перспективный путь повышения надежности ПО (и особенно ПО РВ) связан с созданием в программной системе некоторой избыточности. Применительно к ПО РВ различают четыре вида резервирования: временное, информационное, программное, программно-техническое.
Временное резервирование ПО заключается в многократном прогоне одного и того же программного комплекса с неизменными исходными данными и последующего анализа полученных результатов y (рис. 4.11 а).
Рис. 4.11 а – Схема временного резервирования ПО (нагруженный вариант “два из трех”)
Подобное нагруженное
резервирование позволяет устранять
программные сбои и выявлять случайные
устойчивые отказы, требующие восстановления
программ. Анализ результатов
-
номер прогона ПО, на предмет выявления
«неразумных» решений
осуществляет
эксперт (группа экспертов) или, реже
специальная программа-анализатор
(последнее возможно для тех хорошо
изученных задач, для которых известны
границы Г(у)
множества
).
Выбор правильного результата из ряда
«разумных», но различающихся
осуществляется по мажоритарному правилу
«два из трех» или, реже, «три из пяти».
Временное резервирование реализуется достаточно просто, однако требует заметного l-кратного увеличения затрат машинного времени на получение решения у или повышения быстродействия ЭВМ (последнее существенно удорожает вычислительную систему).
С
позиции экономии ресурсов ЭВМ более
предпочтительно ненагруженное временное
резервирование, когда повторные прогоны
ПО выполняют только при появлении
«неразумного» или «подозрительного»
решения
.
Однако для реализации такого способа
резервирования ПО РВ необходимо наличие
программы-анализатора, которая
автоматически идентифицирует и реализует
с помощью ключа К режим повторного
прогона (рис. 4.11 б).
Рис. 4.11 б – Схема временного резервирования ПО (ненагруженный вариант)
Кроме того, ненагруженное временное резервирование ПО РВ предъявляет повышенные требования к быстродействию ЭВМ, правда в сравнительно редких случаях отказов программ.
Информационное
резервирование основано
на дублировании исходной информации
и двукратном последовательном решении
(одним и тем же ПО) задачи
и
с данными
и эквивалентными им данными
(рис. 4.12). Если
,
то ПО работоспособно, при
имеет место устойчивый отказ какой-либо
из программ ПО, при
наблюдается сбой ПО и требуется еще
раз решить задачу с данными
и
,
и с помощью правила «два из трех» выбрать
правильный результат. Функции анализатора
АН выполняют эксперты или, при известных
границах множества «разумных» решений
,
специальные программы-идентификаторы
(рис. 4.12).
Рис. 4.12- Схема нагруженного информационного резервирования ПО
Информационное резервирование допускает нагруженный и/или ненагруженный режимы работы. Основной трудностью при реализации информационного резервирования ПО РВ является получение второго набора исходных данных , количественно и семантически эквивалентных данным .