- •Е.Л. Кон, м.М. Кулагина надежность и диагностика компонентов инфокоммуникационных и информационно-управляющих систем
- •Оглавление
- •1. Основные теоретические сведения 9
- •2. Надежность аппаратурного обеспечения 31
- •3. Создание надежного программного обеспечения 130
- •4. Диагностика состояния сложных технических систем 205
- •Введение
- •1. Основные теоретические сведения
- •1.1. Информационно-управляющие и инфокоммуникационные системы
- •1.2. Основные определения теории надежности
- •1.2.1. Надежность и ее частные стороны
- •1.2.2. Виды надежности
- •1.2.3. Отказы
- •1.2.4. Эффективность
- •1.2.5. Восстановление
- •1.3. Понятие случайных событий и случайных величин
- •1.3.1. Надежность систем при основном (последовательном) и параллельном соединении элементов
- •1.3.2. Основное соединение элементов
- •1.3.3. Параллельное соединение элементов
- •1.4. Элементы теории нечетких множеств
- •1.4.1. Понятие принадлежности и основные операции для четких подмножеств
- •1.4.2. Понятие принадлежности и основные операции для нечетких подмножеств
- •1.4.3. Отношение доминирования
- •1.4.4. Простейшие операции над нечеткими множествами
- •1.4.5. Расстояние Хэмминга
- •Вопросы и задания
- •Список литературы
- •2. Надежность аппаратурного обеспечения
- •2.1. Надежность невосстанавливаемых систем без резервирования
- •2.1.1. Показатели надежности невосстанавливаемых объектов
- •2.1.2. Законы распределения случайных величин, используемые в теории надежности
- •Показательное (экспоненциальное) распределение
- •Усеченное нормальное распределение
- •Распределение Вейбулла
- •Гамма-распределение
- •Практическая область применения законов распределения времени безотказной работы
- •2.1.3. Использованиеи-характеристик для решения практических задач
- •2.1.4. Особенности расчета надежности при проектировании различных систем
- •2.1.5. Расчет надежности по блок-схеме системы
- •2.1.6. Расчет надежности при подборе элементов системы
- •2.1.7. Расчет надежности системы с учетом режимов работы элементов
- •2.1.8. Учет цикличности работы аппаратуры
- •2.2. Надежность невосстанавливаемых систем с резервированием
- •2.2.1. Пути повышения надежности
- •2.2.2. Методы резервирования
- •2.2.3. Расчет надежности сложных систем при постоянно включенном резерве
- •2.2.4. Расчет надежности системы при резервировании замещением
- •2.2.5. Резервирование замещением в случае нагруженного резерва
- •2.2.6. Резервирование замещением в случае облегченного резерва
- •2.2.7. Резервирование замещением в случае ненагруженного резерва
- •2.2.8. Расчет надежности систем с функциональным резервированием
- •2.3. Расчет надежности восстанавливаемых систем
- •2.3.1. Критерий надежности систем с восстановлением
- •Характеристики потока отказов
- •Характеристики потока восстановления
- •Комплексные характеристики надежности систем с восстановлением
- •2.3.2. Расчет надежности по графу работоспособности объекта
- •2.3.3. Определение среднего времени наработки на отказ системы с восстановлением
- •2.3.4. Расчет надежности систем с восстановлением при основном (последовательном) и параллельном соединении элементов
- •2.3.5. Расчет надежности сложных инфокоммуникационных систем
- •Структура и функции стс
- •Определение надежностных характеристик блоков стс
- •Составление структурно-логической схемы надежности и графа состояний
- •2.3.5.4. Расчет коэффициента готовности стс
- •Определение надежностных характеристик блоков аиис
- •Составление структурно-логической схемы надежности и графа переходов
- •Расчет коэффициента готовности аиис «Алтайэнерго»
- •Расчет коэффициента готовности аиис
- •2.4. Расчет надежности восстанавливаемых систем при наличии системы контроля
- •2.4.1. Система встроенного контроля абсолютно надежна
- •2.4.2. Система встроенного контроля самопроверяемая, и ее отказ обнаруживается сразу же
- •2.4.3. Система встроенного самоконтроля несамопроверяемая
- •2.5. Расчет надежности в условиях нечетко заданных исходных данных
- •2.5.1. Выбор оптимального варианта для невосстанавливаемых систем
- •2.5.2. Выбор оптимального варианта для восстанавливаемых систем
- •2.6. Расчет надежности систем на этапе эксплуатации
- •2.6.1. Планирование и расчет периодов профилактик
- •2.6.2. Планирование и расчет числа запасных изделий
- •Вопросы и задания
- •Список литературы
- •3. Создание надежного программного обеспечения
- •3.1. Надежность программного обеспечения
- •3.1.1. Ошибки в по и их типы
- •Типы ошибок в программном обеспечении
- •3.1.2. Причины появления ошибок в программном обеспечении
- •3.1.3. Отношения с пользователем (заказчиком)
- •3.1.4. Принципы и методы обеспечения надежности
- •3.1.5. Последовательность выполнения процессов разработки программного обеспечения
- •3.1.6. Сравнение надежности аппаратуры и программного обеспечения
- •3.2. Основные этапы проектирования программного обеспечения
- •3.2.1. Правильность проектирования и планирование изменений
- •3.2.2. Требования к по
- •3.2.3. Цели программного обеспечения
- •Цели продукта
- •Цели проекта
- •Общие правила постановки целей
- •Оценка целей
- •3.2.4. Внешнее проектирование
- •Проектирование взаимодействия с пользователем
- •Подготовка внешних спецификаций
- •Проверка правильности внешних спецификаций
- •3.2.5. Проектирование архитектуры программы
- •Независимость модулей
- •Прочность модулей
- •Сцепление модулей
- •3.2.6. Методы непосредственного повышения надежности модулей
- •Пассивное обнаружение ошибок
- •Активное обнаружение ошибок
- •Исправление ошибок и устойчивость к ошибкам
- •Изоляция ошибок
- •Обработка сбоев аппаратуры
- •3.2.7. Проектирование и программирование модуля
- •Внешнее проектирование модуля
- •Проектирование логики модуля
- •Пошаговая детализация
- •3.2.8. Стиль программирования
- •Ясность программирования
- •Использование языка
- •Микроэффективность
- •Комментарии
- •Определения данных
- •Структура модуля
- •3.3. Тестирование и верификация программ
- •3.3.1. Проблемы тестирования программ
- •3.3.2. Технологии тестирования программ
- •3.3.3. Принципы тестирования
- •3.4. Модели надежности по
- •3.4.1. Модель роста надежности
- •3.4.2. Другие вероятностные модели
- •3.4.3. Статистическая модель Миллса
- •3.4.4. Простые интуитивные модели
- •3.4.5. Объединение показателей надежности
- •Вопросы и задания
- •Список литературы
- •4. Диагностика состояния сложных технических систем
- •4.1. Предмет, задачи и модели технической диагностики
- •4.1.1. Предмет технической диагностики
- •4.1.2. Основные аспекты, задачи и модели технической диагностики
- •4.1.3. Классификация диагностических процедур и их краткая характеристика
- •4.2. Построение тестов
- •4.2.1. Построение тестового набора методом активизации существенного пути
- •4.2.2. Алгоритм построения тестового набора для комбинационной схемы методом активизации существенного пути
- •4.2.3. Построение тестов для схем с памятью
- •Комбинационная модель последовательностной схемы
- •Построение тестовой последовательности по комбинационной модели последовательностной схемы
- •4.3. Функциональный контроль и диагностирование сложных технических систем
- •4.3.1. Полностью самопроверяемые цифровые устройства
- •4.3.2. Схемы встроенного контроля
- •4.3.3. Схемы сжатия
- •4.3.4. Микропроцессор как объект функционального контроля
- •4.3.5. Модель мп с точки зрения функционального контроля
- •4.3.6. Диагностическая модель уу мп системы
- •4.3.7. Критерии оценки методов контроля механизмов выборки, хранения и дешифрации команд
- •4.3.8. Встроенный функциональный контроль механизмов хранения и дешифрации команд
- •Методы пошагового контроля правильности хода программ
- •Методы контроля, реализующие раскраску команд
- •Метод контроля, использующий раскраску без учета структуры команд
- •Преобразованная программа приведена ниже:
- •Цвет Четность Цвет гса
- •Метод контроля команд, реализующий раскраску с учетом структуры команды
- •Раскраска без внесения в команду избыточных разрядов
- •Методы контроля механизмов дешифрации и хранения команд с помощью веса перехода
- •Метод контроля с помощью алгебраических кодов
- •Методы блокового контроля правильности хода программ
- •Блоковый контроль программ по методу разбиения программы на фазы (блоки)
- •Блоковый контроль правильности хода программ с помощью сигнатур
- •Метод контроля программ на основе полиноминальной интерпретации схем алгоритмов (программ)
- •Сравнительный анализ свк, реализующих методы блокового и пошагового контроля
- •4.4. Экспертные системы диагностирования сложных технических систем
- •4.4.1. Обучение и его модели. Самообучение
- •4.4.2. Экспертные системы и принципы их построения
- •4.4.3. Проблема разделения в самообучаемых экспертных системах
- •4.4.4. Алгоритмы обучения экспертных систем
- •Частота события находится по следующей формуле:
- •4.4.5. Асу «интеллектуальным зданием»
- •4.4.6. Система, принимающая решения по максимальной вероятности
- •4.4.7. Система, принимающая решения по наименьшему расстоянию
- •4.4.8. Повышение достоверности решений экспертной системы
- •4.4.9. Прогнозирование технического состояния узлов
- •Вопросы и задания
- •Список литературы
- •Приложение Интенсивность отказов компонентов иус
- •Кон Ефим Львович, Кулагина Марина Михайловна надежность и диагностика компонентов инфокоммуникационных и информационно-управляющих систем
2.2.3. Расчет надежности сложных систем при постоянно включенном резерве
В данном параграфе будет изложена методика расчета сложных систем при постоянно включенном резерве с использованием структурно-логических схем надежности (СЛСН) и структурно-логических функций надежности (СЛФН), которые строятся по структурной или структурно-функциональной схеме системы. В конце раздела будет показано, как использовать марковские цепи для построения СЛФН системы.
В расчетах будет допускаться, что элементы системы в смысле надежности независимы, т.е. отказы одних элементов не изменяют надежности других. Однако, в общем случае, это довольно грубое допущение, так как на самом деле элементы в системе обычно зависимы. Например, отказ одного из двух элементов, включенных параллельно, может изменить надежность оставшегося, так как последний вследствие этого может оказаться более нагруженным.
Чтобы учесть зависимость между элементами, надо при расчете надежности исходить не из абсолютных значений надежности составляющих элементов, а из условных надежностей, вычисленных при различных условиях отказа того или иного числа элементов системы. Однако это приводит к резкому усложнению методики, и в данном учебном пособии такой подход не используется.
Методику расчета сложных систем с постоянно включенным резервом удобнее всего изложить, используя конкретные примеры. Рассмотрим, как одну из возможных, структурную схему технической системы, приведенную на рис. 2.12.
Это вариант системы с функциональным резервированием. Собственно система состоит из сервера и удаленного персонального компьютера. Для повышения надежности сервер задублирован (блоки С3 и С4 на рис. 2.12), персональный компьютер также (блоки ПК1 и ПК2 на рис. 2.12). Кроме того, благодаря коммутатору К5 возможен доступ от любого персонального компьютера к параллельно подключенному варианту сервера. Покажем, как для данной системы использовать логико-вероятностный метод расчета надежности.

Рис. 2.12. Структура системы с функциональным резервированием
Алгоритм будет выглядеть следующим образом:
1. На первом этапе строим СЛСН. Она приведена на рис. 2.13. Основными являются блоки 1 и 3. Блоки 2 и 4 их дублируют. Блок 5 одновременно резервирует часть функций блоков 3 и 4. Получается мостиковая схема, в которой нет возможности выделить параллельное и последовательное соединение.

Рис. 2.13. Структурно-логическая схема надежности
2. На втором этапе по СЛСН строим СЛФН. Введем понятие истока (точка, в которой сигнал поступает в схему) и стока (точка выхода сигнала из схемы). Для построения СЛФН необходимо включить в нее все возможные пути от истока до стока. Для рассматриваемой схемы (см. рис. 2.13) словесная формулировка работоспособности будет записана следующим образом: объект работоспособен, если исправны блоки 1 и 3 или блоки 2 и 4, или блоки 1, 5 и 4, или блоки 2, 5 и 3.
3. Записываем структурно-логическую функцию надежности:
(2.32)
4. Минимизация логической функции. Минимизация логической функции проводится любыми известными из теории логической алгебры способами. После минимизации функция примет вид
![]()
5. Упрощение логической функции. Функцию стараются привести к такому виду, чтобы в каждую функцию входило не больше двух членов. Для этого можно воспользоваться разложением функции по какой-либо переменной на две части. Данное разложение в общем виде выглядит следующим образом [2]:
(2.33)
Используем (2.33) для преобразования полученной на втором этапе СЛФН:

6. Арифметизация булевой функции. Правила арифметической функции следующие:
(2.34)
a & b = ab, (2.35)
=
1 – a, (2.36)
Fa = a5[a1 + a2 – a2 a1)(a3 + a4 – a3 a4)] + (1 – a5)(a1 a3 + a2 a4 –
– a1 a3 a2 a4) – a5(1 – a5)(a1 + a2 – a2 a1)(a3 + a1 – a3 a4)(a1 a3 +
+ a2 a4 – a1 a2 a3 a4). (2.37)
7. Замена событий их вероятностями:
Pc = P5(P1 + P2 – P1 P2) + (1 + P5)(P1 P3 + P2 P4 –
– P1 P3 P2 P4) – P5(1 – P5)(P1 + P2 – P2 P1)(P1 P3 +
+ P2 P4 – P1 P2 P3 P4). (2.38)
8. Расчет надежности.
Пусть Р1 = Р2 = 0,9; Р3 = Р4 = Р5 = 0,8; Рс = 0,8(0,9 + 0,9 +
+ 0,64) + 0,1(0,9 0,8 + 0,9 0,8 – 0,64 0,81) – 0,8 0,1(0,9 + 0,9 –
– 0,64)(0,8 + 0,8 – 0,64)(0,72 + 0,72 – 0,64 0,81) = 0,938. (2.39)
Если СЛСН системы можно свести только к последовательному и параллельному соединению участков, то расчет надежности можно упростить.
Рассмотрим СЛСН, приведенную на рис. 2.14.

Рис. 2.14. Структурно-логическая схема надежности
1. Словесная формулировка условий работоспособности объекта. Для приведенной схемы: объект исправен, если исправны блоки 1, 3 и 4 или блоки 2, 3 и 4.
2. Составление структурно-логической функции надежности:
.
(2.40)
3. Минимизация и упрощение логической функции:
(2.41)
4. Арифметизация булевой функции:
(2.42)
5. Замена событий их вероятностями:
(2.43)
Однако
(2.44)
т.е. мы видим, что для блоков 1 и 2, соединенных параллельно, мы пришли к формуле расчета надежности при параллельном соединении (1.20) (подразд. 1.2.3), а для последовательного соединения: параллельный участок (блок 1–блок 2), блок 3, блок 4 мы пришли к формуле расчета надежности при последовательном соединении (1.17) (подразд. 1.2.2).
Таким образом, задача расчета надежности свелась к поэтапному выделению последовательных и параллельных участков и применению формул (1.20) и (1.17). Покажем применение этого упрощенного метода на примере СЛСН, приведенной на рис. 2.15.

Рис. 2.15. Структурно-логическая схема надежности
Здесь основными являются блоки 1, 3, 4, 8. Блок 1 является самым ненадежным и резервируется однотипным ему блоком 2. Подсистема блоков 1, 2, 3, 4 также не является достаточно надежной и потому функционально резервируется подсистемой блоков 5, 6, 7, в которой блоки 5 и 6 – однотипные с низкими надежностными показателями. Блок 8 является высоконадежным и не требует резервирования.
Пусть
Р1 = Р2 = 0,8, Р3 = 0,9, Р4 = 0,9,
Р5 = Р6 = 0,82, Р7 = 0,85, Р8 = 0,99.
Обозначим выделенные участки римскими цифрами:
(2.45)
(2.46)
(2.47)
(2.48)
(2.49)
(2.50)
Сравним полученную надежность с надежностью нерезервированной системы:
(2.51)
Следует учесть, что построить СЛСН для сложных систем, особенно при наличии функционального резервирования, не всегда просто. Желательно иметь формальный алгоритм для построения СЛФН, использующий другие методы и структуры. Такой алгоритм будет использовать в качестве математического аппарата марковские цепи [2]. Покажем, как строится марковская цепь для технической системы, приведенной на рис. 2.12.
Сначала выпишем все возможные состояния системы:
0 – все блоки исправны, система работоспособна;
1 – блок 1 неисправен, система работоспособна;
2 – блок 2 неисправен, система работоспособна;
…
5 – блок 5 неисправен, система работоспособна;
6 – блоки 1 и 2 неисправны, система неработоспособна:
7 – блоки 1 и 3 неисправны, система неработоспособна;
…
32 – все блоки неисправны, система неработоспособна.
Будем считать, что два события одновременно произойти не могут, т.е. из состояния 0 мы можем попасть в состояние с одним отказавшим блоком (состояния 1–5), но не с двумя или больше. Марковская цепь для рассматриваемой системы приведена на рис. 2.16. Внутри каждого состояния проставлены неисправные блоки, каждое состояние помечено либо как «р» (работоспособное), либо как «н/р» (неработоспособное).
1 р р р р р р 1 5 р р р р р р р н/р р 1, 2 1, 3 1, 4 1, 5 2, 3 2, 4 2, 5 3, 4 3, 5 4, 5 н/р н/р н/р н/р н/р р р н/р н/р н/р н/р 1, 2, 3 1, 2, 4 1, 2, 5 1, 3, 4 1, 3, 5 2, 3, 4 2, 3, 5 1, 4, 5 2, 4, 5 3, 4, 5 н/р н/р н/р н/р н/р 1, 2, 3 1, 2, 3 1, 3, 4 1, 2, 4 2, 3, 4 1, 2, 3,
4 0






Рис. 2.16. Марковская цепь для системы с функциональным резервированием
Теперь по этой марковской цепи можно непосредственно записать минимизированную СЛФН. Очевидно, что в СЛФН могут войти только состояния, в которых система работоспособна.
Начиная от конца схемы, просматриваем состояния, пока не найдем состояние, помеченное как работоспособное. По нашей цепи это состояние с неисправными блоками 1, 3 и 5, т.е. с исправными блоками 2 и 4. Вносим в СЛНФ терм a2a4. Затем вычеркиваем из кандидатов на внесение в СЛФН предшественников выбранного нами состояния (т.е. состояний, из которых мы могли попасть в данное состояние) вплоть до состояния 0. Для рассматриваемого состояний это будут: состояние с неисправными блоками 1 и 3, состояние с неисправными блоками 1 и 5, состояние с неисправными блоками 3 и 5, состояние с неисправным блоком 1, состояние с неисправным блоком 3, состояние с неисправным блоком 5 и состояние со всеми исправными блоками.
Процесс повторяем до тех пор, пока все состояния, в которых система работоспособна, либо войдут в СЛФН, либо будут вычеркнуты.
Легко увидеть, что по завершении работы алгоритма мы получим:
![]()
т.е. ту же функцию, что при составлении СЛФН по СЛСН.
Недостаток метода – большая размерность марковской цепи, однако при использовании данного алгоритма мы гарантированно получаем правильную минимизированную СЛФН.
