Надёжность ПО (All in one) (2014) (1158540), страница 8
Текст из файла (страница 8)
Rk 1).8Суммированиенадежностей• Надежность системы может быть выраженачерез надежности ее компонентов, еслиони отказывают независимо.• Для систем из отдельных компонентов:QpQp число компонентовk 1Rk надежность компонентаR Rk• Надежности компонентов (Rk) должныбыть заданы в одном интервале.9Суммированиенадежностей• Используя связь между надежностью ичастотой ошибок ln R• Получаем:orR e Qp kk 1• Т.е. общая частота есть сумма частототдельных компонентов10Пример системы• Система из 4 независимыхкомпонентов– R1– R2– R3– R4= 0.95= 0.87= 0.82= 0.73Rsystem = 0.95 0.87 0.82 0.73 =0.4947• Надежность системы меньшенадежности каждого из компонентов 11Надежностьпараллельных систем• Система состоит из n компонентов,работающих параллельно• Только отказ всех компонентовприводит к отказу всей системы.R1nUnreliability Fp(t) Fi(t)i1ni1i1Reliabilit y Rp(t) 1 Fi(t) 1 (1 - Ri(t))R2...n12Пример параллельнойсистемы• Система состоит из 4 параллельноработающих компонентов––––R1 = 0.95R2 = 0.87R3 = 0.82R4 = 0.73Rsystem = 1 – ((1 – 0.95) (1 – 0.87) (1 – 0.82) (1 – 0.73)) =0.9996• Надежность системы больше, чемнадежности отдельных компонентов.13Параллельнопоследовательные системыR11R12R1jR1nR21R22R2jR2nRi1Ri2RijRinRm1Rm2RmjRmnpathnPath reliabilit y Ri Rijj1mmni1i1j1Systemreliabilit y R 1 (1 - Ri) 1 (1 -Rij)14Параллельнопоследовательные системыR11R12R1jR1nR21R22R2jR2nRi1Ri2RijRinRm1Rm2RmjRmnsubsystemmSubsystemreliabilit y Rj 1 (1 - Rij )i1mSystemreliabilit y R R j 1 (1 - Rij)j1j1 i1nn15Другие архитектуры• Однополосный мост• Двуполосный мост16Горячее резервирование• Использует параллельность.• Все компоненты работают одновременно• Каждый компонент достаточен длякорректной работы• Только один компонент необходим длякорректной работы• Каждый компонент удовлетворяеттребованиям к надежности• Система отказывает, если отказывают всекомпоненты.17Система m – из – n• Система из n компонентов• Для корректной работынужно не меньше mкомпонент (m n).– m=n: последовательная– m=1: параллельная• Например, самолет с 4моторами может лететьпри отказе двух моторовm1R1R2m/nRiRnniniR(t)(1R(t)) i Предположение:R sys (t) 1 Все компонентыi 0имеютодинаковую надежностьnn! i i! (n i)!18Блок-схема надежности(RBD)• RBD показывает, как соединены компоненты системы дляобеспечения надежности• Самые частые конфигурации – последовательные ипараллельные компоненты.• В последовательной конфигурации отказ каждогокомпонента приводит к отказу системы.
Общая надежностьменьше надежности отдельных компонентов.• В параллельной конфигурации отказ всех компонентовприводит к отказу системы. Общая надежность большенадежности отдельных компонентов.• Система содержит некую комбинацию этих конфигураций• Анализ диаграмм необходим для вычисления надежностисистем.19RBD: пример /120RBD: пример /221RBD: когда и как?• Когда использовать RBD?– Когда нужно оценить надежность сложнойсистемы и найти в системе уязвимые места• Как использовать RBD?– Нарисовать схему– Найти надежность системы– Вычислить другие характеристики(доступность, время работы etc)• Есть автоматизированные средствасоздания и анализа диаграмм,интегрированные с другими методами,например, с FTA.22RBD: плюсы и минусы• RBD – самый простой метод визуализации характеристикнадежности.• Преимущества:–––––Помогает найти цели по надежностиОценивает влияние отказа компонента на работу системыПозволяет простой анализ различных сценариев работыПодсчитывает MTBF системыУменьшает стоимость исправления проблем в большихсистемах– Позволяет анализировать разные конфигурации– Указывает на потенциальные проблемы в системе– Определяет чувствительность системы к отказам компонентов• Недостаток в том, что сложные конфигурации (ожидание,ветвление, распределение нагрузки и.т.д.) не могут бытьописаны RBD.23Дерево неисправностей(FTA)• Дерево неисправностей – графическое представлениеосновных ошибок и отказов в системе, их причин и способових устранения.
Деревья позволяют находить уязвимые местапри проектировании новой системы или анализесуществующей. Они также помогают находить методырешения проблем.• Дерево неисправностей можно рассматривать какграфическую модель поведения системы, ведущего кнежелательному событию. Поведение определяетсясобытиями и условиями и записывается логическимвыражением.• Анализ деревьев неисправностей полезен как припроектировании новых систем и программных продуктов,так и при поиске недостатков в существующих. Онипомогают найти корень проблемы и исправить ее.24Шаги в FTA• FMEA определяет условия, приводящие к нежелательнымсобытиям. Затем определяется, какие локальные ошибки могутпривести к отказу системы.
FMEA отвечает на вопрос, “Чтоможет пойти не так?” даже если спецификация выполнена.Для работы FTA необходимо иметь FMEA.25FTA: пример26FTA: плюсы и минусы• Плюсы: FTA дают осмысленные данные,позволяющие оценить и улучшитьнадежность системы. Они также даютоценку необходимости и эффективностирезервирования.• Минусы: Ограничение FTA в том, чтонежелательное событие необходимопредвидеть и знать основные источникипроблемы.
Это может быть очень долго идорого. Успех зависит от способностейаналитика, работающего над этой задачей.27Спасибо за внимание!28НАДЁЖНОСТЬ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯЛекция 9:Модели надёжности ПООптимизация надёжности ВСВМиК МГУ им. М.В. Ломоносова,Кафедра АСВК, Лаборатория Вычислительных КомплексовАссистент Волканов Д.Ю.План лекции•••••••Основные свойства МНПОПуассоновские моделиМарковские моделиБайесовские моделиПример выбор модели оценкиЗадача оптимизации надёжности ВСМетоды обеспеченияотказоустойчивостиЭпиграфЕсли отладка — процесс удаленияошибок, то программирование должнобыть процессом их внесения.Эдсгер ДейкстраЛитература• Birolini A. Reliability engineering.
– Berlin : Springer,2007. – Т. 5. (Глава 2 – Reliability Analysis During theDesign Phase)• Lyu M. R. et al. Handbook of software reliabilityengineering. – CA : IEEE computer society press, 1996.– Т. 222.(Глава 3 - Software Reliability Modeling Survey)(http://www.cse.cuhk.edu.hk/~lyu/book/reliability/pdf/Chap_3.pdf)• A.Wood Software Reliability Growth Models. TechnicalReport, 1996(http://www.hpl.hp.com/techreports/tandem/TR96.1.pdf)Литература (2)• Kuo W., Wan R. Recent advances in optimalreliability allocation //ComputationalIntelligence in Reliability Engineering. –Springer Berlin Heidelberg, 2007.
– С. 1-36.(http://content.schweitzeronline.de/static/content/catalog/newbooks/978/354/037/9783540373674/9783540373674_Excerpt_001.pdf)• Pullum L. L. Software fault tolerancetechniques and implementation. – ArtechHouse, 2001.НадёжностьаппаратурыНадёжность ПООсобенности оценкинадёжности ПО• Оценка надёжности сложная проблема,так как не понятна природа ПО• Непонятно как измерять размер ПООценка числа ошибок впрограммеЗадачи:оценить число оставшихся дефектов в текущейверсии программы.оценить вероятность отказа компонента илисистемыоценить среднее время до следующего отказаВозможны два пути:Статический анализ кодаАнализ статистики тестированияПример статистикитестированияНеделя Проект 1 Проект 2 Проект 3 Проект 41613161813262721128404131948615442757846953260958163610490739112968411179994210010Наша задача – описать процесс обнаружения ошибокматематической модельюПример статистикитестирования (2)Данные:Время отказаИнтервал между отказамиПример статистикитестирования (3)Данные:Зависимые отказы кзаданному времениОтказы во временнойинтервалМодели надёжностиКонечная цель – оценить надежностьпрограммы, основываясь на данных,полученных при тестировании.Суть моделей надёжности - подобратьадекватную модель, описывающуюколичество обнаруженных ошибок спомощью известных вероятностныхраспределений.Принцип применениямоделей надёжностиСобрать данные об отказахПроверить данные (выбрать видраспределения)Выбрать модельОценить параметры моделиНастроить модель с выбраннымипараметрамиПроверка критерия согласияОценить требуемые параметрыМодели надёжности ПО• С 1970х годов предложено более 200моделей но как определить надёжностьПО вопрос открытый• Одну модель нельзя использовать вовсех ситуациях• Нет полной модели или даже болееменее репрезентативнойМодели надёжности ПО (2)• Предположения• Факторы• Математическая функцияВиды моделейПуассоновскиеМарковскиеБайесовскиеКомбинированныеМодели надёжности ПО (3)Модели надёжности ПО (4)Модели надёжности ПО (5)Основная теорема опуассоновском процессеВ каждый момент временито есть имеет распределение Пуассона.Λ называется интенсивностью потока.
Врассматриваемом случае интенсивностьесть количество ошибок, найденных кданному моменту.Экспоненциальная модельНаиболее простаяиз выпуклыхмоделейm(t ) a(1 e bt)Оценка параметров:линейная регрессияПроисходитминимизациясуммыквадратоврасстояний донекой прямой.Ограничения для SRGMОшибки исправляются сразу послеобнаруженияПри исправлении новых ошибок непоявляетсяВ период тестирования не появляетсянового кодаТестирование централизовано, то есть вкаждый момент одна версия программытестируется одной группой тестеров.Ошибки не зависят друг от друга.ПримерыусовершенствованныхмоделейДанная модельпозволяет избавитьсяот ограничения назависимость ошибокдруг от друга1 r (r ) r(1 e bt )m(t ) a *1 (r )e btПараметр r есть отношение количестваошибок, которые можно обнаружить втекущий момент, к общему количествуошибок. При r = 1 получаемстандартную экспоненциальнуюмодель.Модель YamadaКривая становится S-изогнутой, и происходящееможно рассматривать как модель для тестирования,при котором умения тестера постепенноувеличиваются.m(t ) a(1 (1 bt)e bt )Обзор остальных моделейМодель Вейбулла – учитываеткачество тестированияМодель Парето – учитывает, чтоболее серьезные ошибкиисправляются раньше...Особенностипуассоновских моделейПо пуассоновским моделям многоработ, их применяли в разныхпроектах множество раз, и получалиадекватные результаты. Возможность исследовать несколькопараллельных независимыхисточников ошибок Изначально, пуассоновские процессыиспользовались для моделированияотказов оборудования.Модель Jelinski-MorandaРассматриваем процесс тестирования какмарковскую цепь с неизвестным начальнымсостоянием.
Полагая, что надежностьлинейно зависит от количества ошибок,можно считать время между обнаружениемдвух ошибок случайной величиной сэкспоненциальным распределением.Модель Jelinski-MorandaПусть в программе a ошибок, вначальный момент интенсивностьравна a*b, где b – положительныйпараметр. Ti – время междупоявлением i-й и i-1 ошибок имеетпоказательное распределение синтенсивностью (a – i + 1)*bБайесовский подходБайесовскими называют различныемодели, учитывающие новые данные длякорректировки существующих гипотез.Если в описанных выше моделяхиспользуются некоторые предположения охарактере распределения a priori, то прииспользовании байесовских методов этипараметры меняются в зависимости отновых измерений.Частота в LV-моделиЧастота – скорость изменения интенсивности, т.е.