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

Презентация:



Advertisements
Похожие презентации
Лекция 5. Модели надежности программного обеспечения Учебные вопросы: 1. Классификация моделей надежности 2. Аналитические модели надежности 3. Эмпирические.
Advertisements

1 Основы надежности ЛА Надежность сложных систем.
Теория статистики Корреляционно-регрессионный анализ: статистическое моделирование зависимостей Часть 1. 1.
Лекция 1 Введение.. Опр. эконометрика это наука, которая дает количественное выражение взаимосвязей экономических явлений и процессов.
Проверка статистических гипотез Основные понятия и терминология Что такое статистическая гипотеза? Лекция 6.
Применение генетических алгоритмов для генерации числовых последовательностей, описывающих движение, на примере шага вперед человекоподобного робота Ю.К.
Марковские процессы. Понятие случайного процесса Понятия: Cостояние Переход Дискретный случайный процесс Непрерывный случайный процесс.
1 Оглавление Способы задания случайных величин Числовые характеристики Основные дискретные распределения Основные непрерывные распределения Предельные.
6 ноября 2012 г.6 ноября 2012 г.6 ноября 2012 г.6 ноября 2012 г. Лекция 5. Сравнение двух выборок 5-1. Зависимые и независимые выборки 5-2.Гипотеза о равенстве.
МАТЕМАТИЧЕСКАЯ СТАТИСТИКА Предмет и методы Лекция 2.
1 Основы надежности ЛА Модели формирования параметрических отказов изделий АТ.
Оценка знаний. 1. Изучение предметной области 2. Поиск и изучение существующих систем 3. Выявление сильных и слабых сторон аналогов 4. Формулирование.
Количественные характеристики случайных переменных Математическое ожидание (среднее значение) Математическое ожидание (среднее значение) Дисперсия и среднее.
Построение гистограмм. Пример. Число срабатывания релейной защиты в текущем месяце составило : 20, 21, 31, 17, 13, 21, 16, 17, 26, 19, 15, 20, 17, 22,
ОДНОМЕРНЫЕ МАССИВЫ. РАБОТА С ЭЛЕМЕНТАМИ СТРУКТУРИРОВАННЫЕ ТИПЫ ДАННЫХ.
Разработка программного обеспечения (Software Engineering) Часть 2. Создание ПО.
1.Алгоритм – это 1. Правила выполнения определённых действий 2. Ориентированный граф, указывающий порядок выполнения некоторого набора команд 3. Описание.
Математические модели Динамические системы. Модели Математическое моделирование процессов отбора2.
3 Законы Кирхгофа справедливы для линейных и нелинейных цепей при постоянных и переменных напряжениях и токах.
Лекция 2 Часть I: Многомерное нормальное распределение, его свойства; условные распределения Часть II: Парная линейная регрессия, основные положения.
Транксрипт:

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

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

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

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

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

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

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

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

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

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

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

12 Пример системы Система из 4 независимых компонентов –R 1 = 0.95 –R 2 = 0.87 –R 3 = 0.82 –R 4 = 0.73 R system = = Надежность системы меньше надежности каждого из компонентов

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

14 Пример параллельной системы Система состоит из 4 параллельно работающих компонентов –R 1 = 0.95 –R 2 = 0.87 –R 3 = 0.82 –R 4 = 0.73 R system = 1 – ((1 – 0.95) (1 – 0.87) (1 – 0.82) (1 – 0.73)) = Надежность системы больше, чем надежности отдельных компонентов.

15 path Параллельно- последовательные системы R 11 R 12 R 1j R 1n R 21 R 22 R 2j R 2n R i1 R i2 R ij R in R m1 R m2 R mj R mn

16 subsystem Параллельно- последовательные системы R 1j R 2j R ij R mj R 1n R 2n R in R mn R 12 R 22 R i2 R m2 R 11 R 21 R i1 R m1

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

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

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

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

21 RBD: пример /1

22 RBD: пример /2

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

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

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

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

27 FTA: пример

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Модель Jelinski-Moranda Рассматриваем процесс тестирования как марковскую цепь с неизвестным начальным состоянием. Полагая, что надежность линейно зависит от количества ошибок, можно считать время между обнаружением двух ошибок случайной величиной с экспоненциальным распределением.

Модель Jelinski-Moranda Пусть в программе a ошибок, в начальный момент интенсивность равна a*b, где b – положительный параметр. Ti – время между появлением i-й и i-1 ошибок имеет показательное распределение с интенсивностью (a – i + 1)*b

Байесовский подход Байесовскими называют различные модели, учитывающие новые данные для корректировки существующих гипотез. Если в описанных выше моделях используются некоторые предположения о характере распределения a priori, то при использовании байесовских методов эти параметры меняются в зависимости от новых измерений.

Частота в LV-модели Частота – скорость изменения интенсивности, т.е. m'(t).

Открытый вопрос Не решена проблема выбора между существующими SRGM. Критерии применимости той или иной SRGM к конкретному проекту до конца не сформулированы

58 Пример входных данных

59 Интенсивность Две модели "basic execution time model и "logarithmic Poisson execution time model" (e.g. Musa et al. 1987).

60 Basic Execution Time Model –Интенсивность отказов λ(τ) за время τ: –где λ0 начальная интенсивность и ν0 ожидаемоеколичество отказов.

61 Logarithmic Poisson execution time model где μ(τ) среднее время между откзами к времени τ.

62 Пример (2) В этом случае Logarithmic- Poisson Model лучше приближает the Basic Execution Time Model. В некоторых других проектах BE model приближает лучше чем LP модель.

63 Выводы Нет универсальной модели Измерения очень важны для нахождения корректной модели Результаты тестирования необходимо использовать и не один раз Модели надёжности ПО не так просты как описаны здесь

64 Литература Birolini A. Reliability engineering. – Berlin : Springer, – Т. 5. (Глава 2 – Reliability Analysis During the Design Phase) Lyu M. R. et al. Handbook of software reliability engineering. – CA : IEEE computer society press, – Т (Глава 3 - Software Reliability Modeling Survey) ( hap_3.pdf) A.Wood Software Reliability Growth Models. Technical Report, 1996 ( pdf)

65 Спасибо за внимание!