Экспоненциальная модель Шумана
Ярким примером поиска методов расчёта надежности является история создания ракетных комплексов Фау-1 и Фау-2 Вернером фон Брауном. В лаборатории Брауна работал немецкий математик Эрик Пьеружка (Eric Pieruschka), который доказал, что надёжность ракеты равна произведению надёжности всех компонент, а не надёжности самого ненадёжного элемента, как считал Браун. Позднее вместе c Брауном в середине… Читать ещё >
Экспоненциальная модель Шумана (реферат, курсовая, диплом, контрольная)
Экспоненциальная модель Шумана
Под надежностью ПО понимается, свойство ПО выполнять предписанные функции в соответствии с требованиями заказчика при определенных условиях функционирования в течение заданного времени и обусловленное корректностью и устойчивостью. Критерии надежности — это показатели, позволяющие оценивать предпочтительность тех или иных решений при создании и эксплуатации систем по степени достижения основных целей и с учетом затрат, при которых эти цели достигаются.
Необходимость расчёта надёжности технических устройств и систем существовала с момента использования их человеком. Например, в начале 1900;х годов существовала задача оценки среднего времени горения газовых фонарей, а в середине 1930;х, благодаря работам шведского ученого В. Вейбулла (Waloddi Weibull), получила известность задача описания среднего времени наработки электронной лампы до её выхода из строя (распределение Вейбулла).
Ярким примером поиска методов расчёта надежности является история создания ракетных комплексов Фау-1 и Фау-2 Вернером фон Брауном[2]. В лаборатории Брауна работал немецкий математик Эрик Пьеружка (Eric Pieruschka), который доказал, что надёжность ракеты равна произведению надёжности всех компонент, а не надёжности самого ненадёжного элемента, как считал Браун. Позднее вместе c Брауном в середине 50-х годов в США работал талантливый немецкий инженер Роберт Луссер (Robert Lusser), который сформулировал основные теоретические положения будущей теории надёжности. Его формула для расчета надёжности системы с последовательным соединением элементов стала известна как «Закон Луссера» (Lusser's law).
К первым работам по расчёту надёжности в Советском Союзе можно отнести статью инженера Якуба Б. М. «Показатели и методы расчета надёжности в энергетическом хозяйстве», опубликованную в журнале «Электричество», № 18, 1934 г., и статью профессора Сифорова В. И. «О методах расчёта надёжности работы систем, содержащих большое число элементов» (Известия Академии наук СССР. Отделение технических наук. № 6, 1954 г.) Независимо от закрытых работ немецких ученых, в указанных статьях надёжность систем с последовательным соединением рассчитывалась как произведение надёжности элементов.
Первая в СССР монография по теории и расчёту надёжности — книга И. М. Маликова, А. М. Половко, Н. А. Романова, П. А. Чукреева «Основы теории и расчёта надёжности» (Ленинград, Судпромгиз, 1959 г.).
При исследовании надежности основная цель состоит в разработке эффективных методов и обеспечении длительной работоспособности систем с заданными функциональными характеристиками. В настоящее время разработано достаточное количество модель которые оценивают надежность ПО по разным характеристикам, и создана классификация моделей надежности ПО.
Недостаточная надёжность. Самый сложный процесс — поиск и исправление ошибок в программах на ЭВМ. Поскольку число ошибок в программах заранее неизвестно, то заранее неизвестна и продолжительность отладки программ и отсутствие гарантий отсутствия ошибок в программах. Следует отметить, что привлечение доказательного подхода к проектированию ПО позволяет обнаружить ошибки в программе до её выполнения. В этом направлении много работали Кнут, Дейкстра и Вирт. Профессор Вирт при разработке Паскаля и Оберона за счет строгости их синтаксиса добился математической доказуемости завершаемости и правильности программ, написанной на этих языках.
Рассмотрим одну из распространённых динамических моделей надежности ПО — экспоненциальная модель или модель Шумана.
Модель Шумана относится к динамическим моделям дискретного времени, данные для которой собираются в процессе тестирования программного обеспечения в течение фиксированных или случайных интервалов времени. Каждый интервал — это стадия, на которой выполняется последовательность тестов и фиксируется некоторое число ошибок.
Экспоненциальная модель — это математическая модель надежности программного обеспечения, основанная на гипотезе, что количество ошибок, обнаруженных на некотором интервале времени, распределено по закону Пуассона. Модель базируется на предположениях, которые заключаются в следующем:
- 1. Любые ошибки в программе являются независимыми и проявляются в случайные моменты времени с постоянной средней интенсивностью.
- 2. Интенсивность проявления ошибок при реальном функционировании программ зависит от среднего быстродействия ЭВМ и практически не зависит от распределения типов команд на маршрутах обработки данных между ошибками.
- 3. Потенциальное множество тестов при отладке должно покрывать все множество реальных исходных данных при нормальном функционировании комплекса программ.
- 4. Ошибка, являющаяся причиной искажения результатов, фиксируется и исправляется после завершения тестирования либо вообще не обнаруживается.
- 5. Количество ошибок, появляющихся в некотором интервале времени, распределено по закону Пуассона.
- 6. Количество обнаруживаемых и исправляемых ошибок в единицу времени пропорционально их общему количеству в программе на данном интервале времени.
Исходные данные для модели Шумана, собираются в процессе тестирования ПС в течение фиксированных или случайных временных интервалов. Каждый интервал — это стадия, на которой выполняется последовательность тестов и фиксируется некоторое число ошибок.
В модели Шумана тестирование проводится в несколько этапов, для каждого этапа программа выполняется на полном комплексе разработанных тестовых данных. Выявленные ошибки регистрируются (собирается статистика об ошибках), но не исправляются. По завершении этапа на основе собранных данных о поведении ПС на очередном этапе тестирования может быть использована модель Шумана для расчета количественных показателей надежности. После этого исправляются ошибки, обнаруженные на предыдущем этапе, при необходимости корректируются тестовые наборы и проводится новый этап тестирования.
Модель основана на следующих допущениях:
- — общее число команд в программе на машинном языке постоянно;
- — в начале испытаний число ошибок равно некоторой постоянной величине и по мере исправления ошибок становится меньше;
- — в ходе исправления программы новые ошибки не вносятся;
- — интенсивность отказов программы пропорциональна числу остаточных дефектов.
О структуре программного модуля сделаны дополнительные допущения:
- — модуль содержит только один оператор цикла, в котором есть оператор ввода информации, операторы присваивания и операторы условной передачи управления вперед;
- — отсутствуют вложенные циклы, но может быть k параллельных путей, имеется k-1 оператор условной передачи управления.
При выполнении этих допущений вероятность безотказной работы находим по формуле:
(3.11).
E0 — число ошибок в начале отладки; I — число машинных команд в программе; и () и r () — число исправленных и оставшихся ошибок в расчете на одну команду; Т — средняя наработка на отказ; - время отладки; С — коэффициент пропорциональности.
Для оценки Е0 и С используют результаты отладки. Пусть из общего числа прогонов системных тестовых программ r — число успешных прогонов, n — число прогонов, прерванных ошибками. Тогда общее время n прогонов, интенсивность ошибок и наработку на ошибку находят по формулам:
(3.12).
Полагая H=1 и H=2, найдем:
(3.13).
где и — время тестирования на одну ошибку. Подставляя сюда (3.11) и решая систему уравнений, получим оценки параметров модели:
(3.14).
Для вычисления оценок необходимо по результатам отладки знать, , и (1) и и (2).
Некоторое обобщение результатов состоит в следующем. Пусть Т1 и Т2 — время работы системы, соответствующее времени отладки 1 и 2; n1 и n2 — число ошибок, обнаруженных в периодах 1 и 2. Тогда.
Отсюда.
(3.15).
Если Т1 и Т2 — только суммарное время отладки, то.
.
и формула (3.15) совпадает с (3.14).
Если в ходе отладки прогоняется k тестов в интервалах (0, 1), (0, 2), …, (0, k), где 1<2<�…
(3.16).
где: nj — число прогонов j-го теста, заканчивающихся отказами; Hj — время, затраченное на выполнение успешных и безуспешных прогонов j-го теста. При k=2 (3.16) сводится к предыдущему случаю и решение дает результат (3.15).
Асимптотическое значение дисперсии оценок (для больших значений nj) определяются выражениями [7]:
где.
Коэффициент корреляции оценок.
.
Асимптотическое значение дисперсии и коэффициента корреляции используются для определения доверительных интервалов значений Е0 и С на основе нормального распределения.
В работе [8] отмечается, что для модели Шумана используется экспоненциальная модель изменения количества ошибок при изменении длительности отладки.
где Е0 и 0 определяются из эксперимента. Тогда.
Средняя наработка на до отказа возрастает экспоненциально с увеличением длительности отладки:
Предполагается, что до начала тестирования имеется Et ошибок. В течение времени тестирования г обнаруживается ес ошибок в расчете на одну команду в машинном языке.
Таким образом, удельное число ошибок на одну машинную команду, оставшихся в системе после т времени тестирования, равно:
еr (ф) = Et/ It* еc (ф) (1.8).
где It — общее число машинных команд, которое предполагается постоянным в рамках этапа тестирования.
Предполагается, что значение функции частоты отказов Z (t) пропорционально числу ошибок, оставшихся в программе после израсходованного на тестирование времени т.
где С— некоторая постоянная.
t — время работы программы без отказов.
Тогда, если время работы программы без отказа t отсчитывается от точки t = 0, ат остается фиксированным, функция надежности, или вероятность безотказной работы на интервале от 0 до t, равна.
Нам необходимо найти начальное значение ошибок Et и коэффициент пропорциональности — С. В процессе тестирования собирается информация о времени и количестве ошибок на каждом прогоне, т. е. общее время тестирования т складывается из времени каждого прогона Предполагая, что интенсивность появления ошибок постоянна и равна Я, можно вычислить ее как число ошибок в единицу времени.
где Ai — количество ошибок на i — ом прогоне.
Имея данные для двух различных моментов тестирования та и ть, которые выбираются произвольно с учетом требования, чтобы еc (фb) > еc (фa), можно сопоставить уравнения (1.10) и (1.12) при фa и фb.
sНеизвестный параметр С (1.16) получается путем подстановки Et (1.15) в выражение (1.13).Вычисляя соотношения (1.13) и (1.14) получим.
Получив неизвестные Et и С, можно рассчитать надежность программы по формуле (1.9), проведем расчеты применительно к учебной программе.
Например, в программе имеется It = 4381 оператор. В процессе последовательных тестовых прогонов были получены следующие данные:
! N прогона 1 2АЗ 4 5 6 7 8 В 9 10.
Кол-во ошибок 1 211 111 211.
Время (м) 5 821 511 255.
Время тестирования на интервалах равно:
Рассчитаем интенсивности появления ошибок на двух интервалах:
Выберем две точки, исходя из требования, чтобы число ошибок, найденных на ин тервале, А *** В, и было больше, чем на интервале 0 + А. За точку, А возьмем 2 прогон, а за точку В —8 прогон. Тогда ошибки, найденные на этапах тестирования Тогда число имеющихся до начала тестирования ошибок равно.
Рассчитаем вероятность безотказной работы в течение времени t при ф = 35 мин.
R (t, 35) = exp.
Возьмем t = 60 мин.
R (60, 35) = exp.
Таким образом, надежность безотказной работы достаточно велика и вероятность сбоев и возникновения ошибок небольшая.