- •Содержание
- •Введение
- •1 Надёжность электронной аппаратуры
- •1.1 Основные определения стандартов надежности
- •1.2 Обеспечение надёжности электронной аппаратуры на этапах проектирования
- •1.2.1 Этап аванпроекта
- •1.2.2 Этап эскизного проектирования
- •1.2.3 Этап технического проектирования
- •1.2.4 Этап изготовления опытных комплектов
- •1.2.5 Этап эксплуатации
- •1.2.6 Контрольные вопросы и задания
- •2 Основные показатели надежности
- •2.1.1 Интенсивность отказов
- •2.1.2 Частота отказов
- •2.1.3 Среднее время наработки на отказ
- •2.1.4 Среднее время между отказами
- •2.1.5 Вероятностные показатели надежности
- •2.1.5.1 Вероятность безотказной работы
- •2.1.5.2 Экспоненциальная модель вероятности безотказной работы
- •2.1.5.3 Модель вбр Вейбулла-Гнеденко
- •2.1.5.4 Модель Пуассона
- •2.1.5.5 Вероятность отказа изделия в работе
- •2.1.6 Поток отказов
- •2.1.7 Коэффициент готовности
- •2.1.7.1 Стационарный коэффициент готовности
- •2.1.7.2 Коэффициент оперативной готовности
- •2.1.8 Погрешность оценки показателей надежности
- •2.1.8.1 Погрешность оценки показателей
- •2.2 Применение показателей надежности
- •2.3 Надёжность невосстанавливаемых систем
- •2.4 Надежность дискретных элементов
- •2.5 Пример расчёта надёжности нерезервированных схем
- •3 Надежность резервированных вычислительных систем
- •3.1 Резервирование изделий
- •3.1.1 Резервирование на уровне эвм
- •3.1.2 Резервирование на уровне устройств
- •3.1.3 Резервирование с использованием к-кодов
- •3.1.4 Резервирование в специализированных эвм
- •3.2 Представление резервированных объектов
- •3.3 Параметры НаДёжносТи при нагруженном резерве
- •3.3.1 Расчет показателя безотказной работы
- •3.3.2 Определение средней наработки на отказ
- •3.4 Параметры надёжносТи при ненагруженном резерве.
- •3.5 Надёжность при сложной структуРе резервирования.
- •3.5.1 Скользящий нагруженный резерв
- •3.6 Скользящий ненагруженный резерв
- •4 Метод минимальных путей и минимальных сечений
- •4.1 Примерный расчет надежности методом мп & мс
- •5 Применение сложных структур резерва
- •5.1 Методы избыточного кодирования
- •5.2 Логика с переплетением
- •5.3 Мажоритарное резервирование
- •6 Надежность компьютерных сетей
- •6.1. Расчёт надёжности компьютерных систем
- •7 Надежность систем массового обслуживания
- •8. Контроль и диагностика систем
- •8.1 Основные положения
- •8.2 Контроль по модулю
- •8.3 Построение контрольных тестов
- •8.4 Системы с программным контролем
- •8.5 Встроенный оперативный контроль
- •8.5.1 Встроенный контроль счетчика
- •8.5.2 Встроенный контроль дешифратора
- •8.5.3 Показатели встроенного контроля
- •8.6 Методы диагностирования
- •8.6.1 Основные положения
- •8.6.2 Методы построения диагностических тестов
- •8.6.2.1 Квазиоптимальные тесты шеннона-фано
- •8.6.3 Метод декомпозиции диагностируемой системы
- •8.7 Системы диагностики при эксплуатации
- •8.7.1 Обнаружение отказов при эксплуатации
- •8.7.2 Диагностика периферийных устройств
- •8.7.3 Диагностика многопроцессорных систем
- •9 Надежность программного обеспечения
- •9.1 Классификация ошибок программирования
- •9.2 Способы повышения надежности по
- •9.3 Основные модели надежности по
- •9.3.1 Модель Литтлвуда - Вералла
- •9.3.2 Модель джелинского - моранды
- •9.3.3 Модель шумана
- •9.3.4 Модель шика-вольвертона
- •9.4 Прогнозирование надежности по
- •9.5 Методы структурной избыточности по
- •9.6 Избыточность операционной системы
- •9.7 Метод контрольных функций
- •9.8 Методы тестирования программ
- •9.9 Функциональные методы тестирования
- •10 Отказоустойчивые компьютерные системы
- •11 Обслуживание систем в эксплуатации
- •11.1 Элементы теории восстановления систем
- •11.2 Оптимальные правила предупредительных замен
- •11.3 Оптимальные правила проверок
- •Список литературы
9.1 Классификация ошибок программирования
В настоящее время имеется достаточная статистика об ошибках в ПО, приводящих к отказам. В таблице 9.1 приведены основные причины отказов [21]. Эти данные являются основой для построения математических моделей надежностипрограмм, с целью ее оценки и прогнозирования, а также определения путей повышения безотказной работы.
Таблица 9.1
ПРИЧИНА ОШИБКИ |
Частота % |
Неполное или ошибочное задание |
28 |
Отклонение от задания |
12 |
Пренебрежение правилами программирования |
10 |
Ошибочная выборка данных |
10 |
Ошибочная логика или последовательность операций |
12 |
Ошибочные арифметические операции |
9 |
Нехватка времени для решения |
4 |
Неправильная обработка прерываний |
4 |
Неправильные const или исходные данные |
3 |
Неточная запись |
8 |
9.2 Способы повышения надежности по
Способы повышения надежности ПО разделены на следующие:
-усовершенствование языков и технологии;
-выбор алгоритмов, не чувствительных к нарушению вычислительных процессов;
-использование широкого класса библиотек готовых подпрограмм с признаком профессиональной пригодности;
- резервирование подпрограмм на различных иерархических уровнях;
- контроль и испытание программ с последующей коррекцией.
Первый способ не дает количественных показателей, но эффект от применения новых ЯВУ очевиден. Значительно сокращается время программирования, уменьшается количество случайных ошибок, снижается сложность программ, а следовательно упрощается их анализ.
Выбор алгоритмов, не чувствительных к нарушениям вычислительного процесса, основан на численном анализе их чувствительности.
Мерой чувствительности являются погрешности, вызванные:
-погрешностью исходных данных;
-округлениями;
-методическими погрешностями;
-отказами, сбоями и ошибками.
Мерой чувствительности может служить мера погрешности, определяемаявеличиной расстояния , где у - точный результат, у* искаженныйнарушениями результат.
где компоненты n-мерных векторов евклидового пространствапараметров [5].
9.3 Основные модели надежности по
Надежность программ оценивается на основе математических моделей надежности программ(МНП) [16].
9.3.1 Модель Литтлвуда - Вералла
Рассмотрим МНП, предложеную Б. Литтлвудом и Дж. Вераллом [11], и более простые модели, нашедшие применение в практике.
Представим временную ось рисунка 9.1, на которой нанесены номера отказов и интервалы времени между отказами программы.
Рисунок. 9.1- Ось отказов ПО
Допустим, программа работает исправно,интервал t1,до первого отказа. Затем программа корректируется и снова работает исправно t2до второго отказа и т.д. Случайное время tiмежду i-тым и (i+1)-м отказом имеет функцию плотности распределения f(t/λi), где параметр λi- интенсивность отказов. Чем меньше интенсивность λi, тем лучше программа. Разработчик стремится уменьшить λi, т.е. добиться λi< λi-1для всех i.
Рассмотрим λiкак случайную величину. Пусть gi(λ/α) - функция плотности распределения λi, где α - параметр. Тогда, условие стремления разработчика улучшить программу запишется, как вероятность событий:
Р(λi< λ) > Р(λi-1< λi), для всех i.
Обозначим функцию распределения λiчерез
G(λ/α) = Р(λi< λ) = ∫ gi(λ/α) dλ Если λi- интенсивность отказов → 0, то gi(λ/α) также → 0, т.е. gi(λ/α) = 0 для - ∞ < λ < 0. В модели предполагается, что t восстановления по отношению к интервалу работы мало.
После ряда преобразований получают выражение для интенсивности отказов в момент времени tn, т.е. прогноз по модели предложенной Б. Литтлвудом и Дж. Вераллом:
где ψ(i) выбирается в виде ψ(i) = exp(β0+ βi), где β0, βi - коэффициенты, определяемые по экспериментальным данным, например, методом максимума правдоподобия.
На рисунке 9.2 приведена зависимость λ(t) для некоторого участка эксплуатации ПО.
Рисунок 9 .2- График λ(t) для ПО
1,2 - моменты первого и второго отказов.
Модель хорошо аппроксимирует процесс отказов ПО, но для расчетов очень сложна.