4.1 Динамические модели надежности
4.1.1 Модель Шумана
Исходными данными для модели Шумана, которая относится к динамическим моделям дискретного времени, собираются в процессе тестирования АСОД в течение фиксированных или случайных временных интервалов. Каждый энтервал - это стадия, на котором выполняется последовательность тестов и фиксируется некоторое число ошибок.
Модель Шумана может быть использована при определенным образом организованной процедуре тестирования. Использование модели Шумана предполагает, что тестирование поводиться в несколько этапов. Каждый этап представляет собой выполнение на полном комплексе разработанных тестовых данных. Выявление ошибки регистрируется, но не исправляются. По завершении этапа на основе собранных данных о поведении АСОД на очередном этапе тестирования может быть использована модель Шумана для расчета количественных показателей надежности. При использовании модели Шумана предполагается, что исходное количество ошибок в программе постоянно, и в процессе тестирования может уменьшаться по мере того, как ошибки выявляются и исправляются.
Предполагается, что до начала тестирования в АСОД имеется Et ошибок. В течении времени тестирования t1 в системе обнаруживается Ec ошибок в расчете на комманду в машинном языке.
Таким образом, удельное число ошибок на одну машинную команду, оставшуюся в системе после t1 времени тестирования, равно:
где It – общее число машинных команд, которое предполагается в рамках этапа тестирования.
Предполагаем, что значение функции частоты отказов Z(t) пропорционально числу ошибок, оставшихся в АСОД после израсходованного на тестирование времени t.
|
где С- некоторая константа,
t – время работы АСОД без отказа, ч.
Тогда, если время работы АСОД без отказа t отсчитывается от точки t = 0, а t1 остается фиксированным, функция надежности, или вероятность безотказной работы на интервале времени от 0 до t, равна:
Из величин, входящих в формулы (4.2) и (4.3),не известны начальное значение ошибок в АСОД (Et) и коэффициент пропорциональности – С. Для их определения прибегают к следующим рассуждениям. В процессе тестирования собирается информация о времени и количестве ошибок на каждом прогоне, т.е общее время тестирования t1 складывается из времени каждого прогона:
t1 = t1 + t2 + t3 + …. + tn (4.5)
Предполагая, что интенсивность появления ошибок постоянна и равна c, можно вычислить её как число ошибок в единицу времени:
где Аi – количество ошибок на i-м прогоне.
Имея данные для двух различных моментов тестирования tA и tb, которые выбираются произвольно с учетом требования, чтобы Ec(tb) > Ec(tA), можно сопоставить уравнения (4.4) и (4.6) при tA и tb:
Вычисляя отношения (4.7) и (4.8), получим
Подставив полученную оценку параметров
Et в выражение (4.7), получим оценку для второго неизвестного параметра:
Получив неизвестные Еt и С, можно рассчитать надежность программы по формуле (4.3)
Достоинство этой модели заключается в том, что можно исправлять ошибки, внося изменения в текст программы в ходе тестирования, не разбивая процесс на этапы, чтобы удовлетворить требованию постоянства числа машинных инструкции.
|
4.1.2 Модель La Padula.
По этой модели выполнение последовательности тестов производиться в m этапов. Каждый этап заканчивается внесением изменений (исправлений) в АСОД. Возрастающая функция надёжности базируется на числе ошибок, обнаруженных в ходе каждого тестового прогона.
Надёжность АСОД в течений i –го этапа:
где i = 1,2, … n,
А – параметр роста;
Предельная надежность АСОД.
Эти неизвестные величины можно найти, решив следующие уравнения:
где Si – число тестов;
mi – число отказов во время i-го этапа;
m – число этапов;
i = 1,2 … m.
Определяемый по этой модели показатель есть надежность АСОД на i-м этапе.
где i = m+1,m+2 …
Преимущество данной модели заключается в том, что она является прогнозной и, основываясь на данных, полученных в ходе тестирования, дает возможность предсказать вероятность безотказной работы программы на последующих этапах её выполнения.
4.1.3 Модель переходных вероятностей
Эта модель основана на марковском процессе, протекающем в дискретной системе с непрерывным временем.
Процесс, протекающий в системе, называется марковским (или процессом без последствий), если для каждого момента времени вероятность любого состояния системы в будущем зависит только от состояния системы в настоящее время (t0) и не зависит от того, каким образом система пришла в это состояние. Процесс тестирования АСОД рассматривается как марковский процесс.
В начальный момент времени тестирования (t = 0) в АСОД было n ошибок. Предлагается, что в процессе тестирования выявляется по одной ошибке. Тогда последовательность состояний системы, { n, n-1,n-2,n-3 } и т.д. соответствует периодам времени, когда предыдущая ошибка уже исправлена, а новая еще не обнаружена. Например, в состоянии n-5 пятая ошибка уже исправлена, а шестая еще не обнаружена.
|
Последовательность состояний { m, m-1,m-2,m-3 и т.д.} соответствует периодам времени, когда ошибки исправляются. Например, в состоянии m-1 вторая ошибка уже обнаружена, но еще не исправлена. Ошибки обнаруживаются с интенсивностью l, а исправляются с интенсивностью m.
Предположим, в какой-то момент времени процесс тестирования остановился. Совокупность возможных состояний системы будет:
S = { n, m, n-1, m-1, n-2,m-2,... }.
Система может переходить из одного состояния в другое с определенной вероятностью Pij. Время перехода системы из одного состояния в другое бесконечно мало.
Вероятность перехода из состояния n-k в состояние m-k есть ln-kt для k = 0,1,2,.... Соответственно вероятность перехода из состояния m-k в состояние n-k-1 будет mm – nt для k = 0,1,2.....
Общая схема модели представлена на рисунке 5.1. Если считать, что l1 и m1 зависят от текущего состояния системы, то можно составить матрицу переходных вероятностей.
Пусть
S’(t) – случайная переменная, которой обозначено состояние системы в момент времени t.
В любой момент времени система может находиться в двух возможных состояниях: работоспособном либо неработоспособном (момент исправления очередной ошибки).
Вероятность нахождения системы в том или ином состоянии определяется как
Готовность системы определяется как сумма вероятностей нахождения её в работоспособном состоянии:
Под готовностью системы к моменту времени t понимается вероятность того, что система находиться в рабочем состоянии во время t.
Надежность системы после t времени отладки, за которое уже выявлено К ошибок, т.е. система находиться в состоянии n-k (К-я ошибка исправлена, а (К+1)-я ещё не обнаружена), может быть определена из состояния:
где t - интервал времени, когда может появиться (К+1)-я;
ошибка l(K) - принятаяинтенсивность проявления ошибок.
Рассмотрим решение модели для случая, когда интенсивность появления ошибок l и интенсивность их исправления m - постоянные величины. Составляем систему дифференциальных уравнений:
Начальными условиями для решения системы могут являться:
При имеющихся начальных условиях система уравнений может быть решена классически или с использованием преобразований Лапласа.
В результате решения определяются Pn-k и Pm – k для случая, когда l и m константы.
Для общего случая отбросим ограничения постоянства интенсивностей появления ошибок и предположим, что
т.е. являются функциями числа ошибок, найденных к этому времени в АСОД. Система дифференциальных уравнений для такого случая имеет вид:
Начальные условия для решения системы будут:
Система решена методом итерации Эйлера.
Предполагается, что в начальный период использования модели значения l и m должны быть получены на основе предыдущего опыта. В свою очередь, модель позволяет накапливать данные об ошибках, что даёт возможность повышения точности анализа на основе предыдущего моделирования. Практическое использование модели требует громоздких вычислений и делает необходимым наличие ее программной поддержки. Большой недостаток данной модели громоздкость вычислений.