1 / 65

ВСТРОЕННЫЕ ИНФОРМАЦИОННО-УПРАВЛЯЮЩИЕ СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ Лекция 7: Расчёт надёжности ВИУС РВ

ВСТРОЕННЫЕ ИНФОРМАЦИОННО-УПРАВЛЯЮЩИЕ СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ Лекция 7: Расчёт надёжности ВИУС РВ. ВМиК МГУ им. М.В. Ломоносова, Кафедра АСВК, Лаборатория Вычислительных Комплексов, Ассистент Волканов Д.Ю. План лекции. Надёжность последовательных и параллельных систем

asher-lyons
Télécharger la présentation

ВСТРОЕННЫЕ ИНФОРМАЦИОННО-УПРАВЛЯЮЩИЕ СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ Лекция 7: Расчёт надёжности ВИУС РВ

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ВСТРОЕННЫЕ ИНФОРМАЦИОННО-УПРАВЛЯЮЩИЕ СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИЛекция 7:Расчёт надёжности ВИУС РВ ВМиК МГУ им. М.В. Ломоносова, Кафедра АСВК, Лаборатория Вычислительных Комплексов, Ассистент Волканов Д.Ю.

  2. План лекции Надёжность последовательных и параллельных систем Блок-схема расчёта надёжности Основные свойства МНПО Пуассоновские модели Марковские модели Байесовские модели Пример выбор модели оценки 2

  3. Эпиграф В жизни нет гарантий, существуют одни вероятности Том Клэнси

  4. Что такое надежность? • Надежность - вероятность того, что программная система будет работать по спецификации. • Неисправность – код, приводящий к ошибке. • Ошибка – проявление неисправности. • Ошибки приводят к отказам – неверной работе программы.

  5. Неисправность, ошибка, отказ

  6. Пример, поясняющий понятие отказа Program definitions; var s:integer; begin read(s); s:=s*2; {неисправность} L:{ошибка} s:=s mod 5; write(s);{отказ} end.

  7. Модели надёжности Граф надёжности (Reliability Graph) Дерево неисправностей (Fault Tree model) Блок-схема расчёта надёжности (Reliability Block Diagram) 7

  8. Системная Надёжность (1) Система состоит из модулей Модуль состоит из компонент Компоненты могут иметь Разную надёжность Разную зависимость между ними Надёжность системы – это функция надёжности компонентов и зависимости между компонентами 8

  9. Надежность последовательных систем Система состоит из n компонент, соединенных друг с другом Отказ каждого компонента приводит к отказу всей системы Надежность системы меньше надежности ее компонентов (т.к.Rk 1). ... R1/1 R2 /2 9

  10. Суммирование надежностей Надежность системы может быть выражена через надежности ее компонентов, если они отказывают независимо. Для систем из отдельных компонентов: Надежности компонентов (Rk) должны быть заданы в одном интервале. Qpчисло компонентов Rkнадежность компонента 10

  11. Суммирование надежностей Используя связь между надежностью и частотой ошибок Получаем: Т.е. общая частота есть сумма частот отдельных компонентов 11

  12. Пример системы Система из 4 независимых компонентов R1 = 0.95 R2 = 0.87 R3 = 0.82 R4 = 0.73 Rsystem = 0.95  0.87  0.82  0.73 = 0.4947 Надежность системы меньше надежности каждого из компонентов 12

  13. Надежность параллельных систем Система состоит из n компонентов, работающих параллельно Только отказ всех компонентов приводит к отказу всей системы. R1 R2 ... 13

  14. Пример параллельной системы Система состоит из 4 параллельно работающих компонентов R1 = 0.95 R2 = 0.87 R3 = 0.82 R4 = 0.73 Rsystem = 1 – ((1 – 0.95)  (1 – 0.87)  (1 – 0.82)  (1 – 0.73)) = 0.9996 Надежность системы больше, чем надежности отдельных компонентов. 14

  15. Параллельно-последовательные системы R11 R12 R1j R1n R21 R22 R2j R2n Ri1 Ri2 Rij Rin Rm1 Rm2 Rmj Rmn path 15

  16. Параллельно-последовательные системы R11 R12 R1j R1n R21 R22 R2j R2n Ri1 Ri2 Rij Rin Rm1 Rm2 Rmj Rmn subsystem 16

  17. Другие архитектуры Однополосный мост Двуполосный мост 17

  18. Горячее резервирование Использует параллельность. Все компоненты работают одновременно Каждый компонент достаточен для корректной работы Только один компонент необходим для корректной работы Каждый компонент удовлетворяет требованиям к надежности Система отказывает, если отказывают все компоненты. 18

  19. Система m – из – n Система из n компонентов Для корректной работы нужно не меньше m компонент (m  n). m=n: последовательная m=1: параллельная Например, самолет с 4 моторами может лететь при отказе двух моторов R1 R2 m/n Ri Rn Предположение: Все компоненты имеют одинаковую надежность 19

  20. Блок-схема надежности (RBD) RBD показывает, как соединены компоненты системы для обеспечения надежности Самые частые конфигурации – последовательные и параллельные компоненты. В последовательной конфигурации отказ каждого компонента приводит к отказу системы. Общая надежность меньше надежности отдельных компонентов. В параллельной конфигурации отказ всех компонентов приводит к отказу системы. Общая надежность больше надежности отдельных компонентов. Система содержит некую комбинацию этих конфигураций Анализ диаграмм необходим для вычисления надежности систем. 20

  21. RBD: пример /1 21

  22. RBD: пример /2 22

  23. RBD: когда и как? Когда использовать RBD? Когда нужно оценить надежность сложной системы и найти в системе уязвимые места Как использовать RBD? Нарисовать схему Найти надежность системы Вычислить другие характеристики (доступность, время работы etc) Есть автоматизированные средства создания и анализа диаграмм, интегрированные с другими методами, например, с FTA. 23

  24. RBD: плюсы и минусы RBD – самый простой метод визуализации характеристик надежности. Преимущества: Помогает найти цели по надежности Оценивает влияние отказа компонента на работу системы Позволяет простой анализ различных сценариев работы Подсчитывает MTBF системы Уменьшает стоимость исправления проблем в больших системах Позволяет анализировать разные конфигурации Указывает на потенциальные проблемы в системе Определяет чувствительность системы к отказам компонентов Недостаток в том, что сложные конфигурации (ожидание, ветвление, распределение нагрузки и.т.д.) не могут быть описаны RBD. 24

  25. Дерево неисправностей (FTA) Дерево неисправностей – графическое представление основных ошибок и отказов в системе, их причин и способов их устранения. Деревья позволяют находить уязвимые места при проектировании новой системы или анализе существующей. Они также помогают находить методы решения проблем. Дерево неисправностей можно рассматривать как графическую модель поведения системы, ведущего к нежелательному событию. Поведение определяется событиями и условиями и записывается логическим выражением. Анализ деревьев неисправностей полезен как при проектировании новых систем и программных продуктов, так и при поиске недостатков в существующих. Они помогают найти корень проблемы и исправить ее. 25

  26. Шаги в FTA FMEA определяет условия, приводящие к нежелательным событиям. Затем определяется, какие локальные ошибки могут привести к отказу системы. FMEA отвечает на вопрос, “Что может пойти не так?” даже если спецификация выполнена. Для работы FTA необходимо иметь FMEA. 26

  27. FTA: пример 27

  28. FTA: плюсы и минусы Плюсы: FTA дают осмысленные данные, позволяющие оценить и улучшить надежность системы. Они также дают оценку необходимости и эффективности резервирования. Минусы: Ограничение FTA в том, что нежелательное событие необходимо предвидеть и знать основные источники проблемы. Это может быть очень долго и дорого. Успех зависит от способностей аналитика, работающего над этой задачей. 28

  29. Эпиграф • Если отладка — процесс удаления ошибок, то программирование должно быть процессом их внесения. Эдсгер Дейкстра

  30. Оценка числа ошибок в программе • Задачи: • оценить число оставшихся дефектов в текущей версии программы. • оценить вероятность отказа компонента или системы • оценить среднее время до следующего отказа • Возможны два пути: • Статический анализ кода • Анализ статистики тестирования

  31. Пример статистики тестирования Наша задача – описать процесс обнаружения ошибок математической моделью

  32. Пример статистики тестирования (2) • Данные: • Время отказа • Интервал между отказами

  33. Пример статистики тестирования (3) • Данные: • Зависимые отказы к заданному времени • Отказы во временной интервал

  34. Модели надёжности • Конечная цель – оценить надежность программы, основываясь на данных, полученных при тестировании. • Суть моделей надёжности - подобрать адекватную модель, описывающую количество обнаруженных ошибок с помощью известных вероятностных распределений.

  35. Принцип применения моделей надёжности • Собрать данные об отказах • Проверить данные (выбрать вид распределения) • Выбрать модель • Оценить параметры модели • Настроить модель с выбранными параметрами • Проверка критерия согласия • Оценить требуемые параметры

  36. Надёжность аппаратуры

  37. Надёжность ПО

  38. Особенности оценки надёжности ПО • Оценка надёжности сложная проблема, так как не понятна природа ПО • Непонятно как измерять размер ПО

  39. Модели надёжности ПО • С 1970х годов предложено более 200 моделей но как определить надёжность ПО вопрос открытый • Одну модель нельзя использовать во всех ситуациях • Нет полной модели или даже более менее репрезентативной

  40. Модели надёжности ПО (2) • Предположения • Факторы • Математическая функция

  41. Виды моделей • Пуассоновские • Марковские • Байесовские • Комбинированные

  42. Модели надёжности ПО (3)

  43. Модели надёжности ПО (4)

  44. Модели надёжности ПО (5)

  45. Основная теорема о пуассоновском процессе • В каждый момент времени • то есть имеет распределение Пуассона. • Λ называется интенсивностью потока. В рассматриваемом случае интенсивность есть количество ошибок, найденных к данному моменту.

  46. Экспоненциальная модель • Наиболее простая из выпуклых моделей

  47. Оценка параметров: линейная регрессия • Происходит минимизация суммы квадратов расстояний до некой прямой.

  48. Ограничения для SRGM • Ошибки исправляются сразу после обнаружения • При исправлении новых ошибок не появляется • В период тестирования не появляется нового кода • Тестирование централизовано, то есть в каждый момент одна версия программы тестируется одной группой тестеров • Ошибки не зависят друг от друга

  49. Примеры усовершенствованных моделей • Данная модель позволяет избавиться от ограничения на зависимость ошибок друг от друга Параметр r есть отношение количества ошибок, которые можно обнаружить в текущий момент, к общему количеству ошибок. При r = 1 получаем стандартную экспоненциальную модель.

  50. Модель Yamada • Кривая становится S-изогнутой, и происходящее можно рассматривать как модель для тестирования, при котором умения тестера постепенно увеличиваются.

More Related