В данной модели наблюдаемым событием является число ошибок, обнаруживаемых в заданном временном интервале, а не время ожидания каждой ошибки, как это было для модели Желинского-Моранды. В связи с этим модель относят к группе дискретных динамических моделей, а уравнения для определения С и N имеют несколько иной вид:
, (30)где
, (31) . (32)ti — продолжительность временного интервала, в котором наблюдается Мi ошибок;
Тi-1 — время, накопленное за (i—1) интервалов:
, T0=0 . (33)ni-1 — суммарное число ошибок, обнаруженных за период от первого до (i -1)-го интервала времени включительно:
, n0=0 . (34)М — общее число временных интервалов;
— суммарное число обнаруженных ошибок. (35)При М = 1 уравнения (30) приобретают вид уравнений (21).
Таким образом, модель Джелинского-Моранды является частным случаем модели Шика-Волвертона для случая, когда при тестировании фиксируется время до появления очередной ошибки.
Модель Муса. Модель Муса относят к динамическим моделям непрерывного времени. Это значит, что в процессе тестирования фиксируется время выполнения программы (тестового прогона) до очередного отказа. Но считается, что не всякая ошибка ПС может вызвать отказ, поэтому допускается обнаружение более одной ошибки при выполнении программы до возникновения очередного отказа.
Считается, что на протяжении всего жизненного цикла ПС может произойти М0 отказов и при этом будут выявлены все N0 ошибки, которые присутствовали в ПС до начала тестирования.
Общее число отказов Мо связано с первоначальным числом ошибок N0 соотношением
N0 = ВМ0, (36)
где В — коэффициент уменьшения числя ошибок.
В момент, когда производится оценка надежности, после проведения тестирования, на которое потрачено определенное время t, зафиксировано m отказов и выявлено п ошибок.
Тогда из соотношения:
п=Вт (15) , (37)
можно определить коэффициент уменьшения числа ошибок В как число, характеризующее количество устраненных ошибок, приходящихся на один отказ.
В модели Муса различают два вида времени:
1) суммарное время функционирования t, которое учитывает чистое время тестирования до контрольного момента, когда производится оценка надежности;
2) оперативное время t- время выполнения программы, планируемое от контрольного момента и далее, при условии, что дальнейшего устранения ошибок не будет (время безотказной работы в процессе эксплуатации).
Для суммарного времени функционирования t предполагается:
- интенсивность отказов пропорциональна числу не устраненных ошибок;
- скорость изменения числа устраненных ошибок, измеряемая относительно суммарного времени функционирования,. пропорциональна интенсивности отказов.
Один из основных показателей надежности, который рассчитывается по модели Муса, - средняя наработка на отказ. Этот показатель определяется как математическое ожидание временного интервала между последовательными отказами и связан с надежностью:
, (38)где t — время работы до отказа.
Если интенсивность отказов постоянна (т.е. когда длительность интервалов между последовательными отказами имеет экспоненциальное распределение), то средняя наработка на отказ обратно пропорциональна интенсивности отказов. По модели Муса средняя наработка на отказ зависит от суммарного времени функционирования t:
, (39)где T0 — средняя наработка на отказ в начале испытаний (тестирования);
С - коэффициент сжатия тестов, который вводится для устранения избыточности при тестировании. Если, например, один час тестирования соответствует 12 ч работы в реальных условиях, то коэффициент сжатия тестов равен 12.
Параметр То - средняя наработка на отказ до начала тестирования, можно предсказать из следующего соотношения:
, (40)где f — средняя скорость исполнения программы, отнесенная к числу команд (операторов);
К — коэффициент проявления ошибок, связывающий частоту возникновения ошибок со "скоростью ошибок", которая представляет собой скорость, с которой бы встречались ошибки программы, если бы программа выполнялась линейно (последовательно по командам). В настоящее время значение К приходится определять эмпирическим путем по однотипным программам. Его значение изменяется от 1.54*10-7 до 3.99*10-7;
N0 — начальное число ошибок — можно рассчитать с помощью другой модели, позволяющей определить эту величину на основе статистических данных, полученных при тестировании (например, модель Шумана). Надежность R для оперативного периода t выражается равенством:
. (41)Если в договоре с заказчиком оговорена требуемая величина наработки на отказ ТF, то можно определить число отказов Dm и дополнительное время функционирования (тестирования) D t, обеспечивающее заданное ТF. Их можно рассчитать по формулам:
, (42) . (43)По результатам тестовых испытаний можно определить значение коэффициента В из соотношения (37) и М0 - из соотношения (34). По договорной величине требуемой средней наработки на отказ ТF и рассчитанной по модели Муса текущей средней наработки на отказ Т можно сделать заключение о необходимости продолжать или, возможно, закончить тестирование программ. В случае необходимости продолжения работ по тестированию для достижения требуемой средней наработки на отказ модель дает возможность предсказать число возможных отказов Dm (формула (42)) и дополнительное время тестирования D t (формула (43)).
Модель переходных вероятностей. Эта модель основана на марковском процессе, протекающем в дискретной системе с непрерывным временем.
Процесс, протекающий в системе, называется марковским (или процессом без последствий), если для каждого момента времени вероятность любого состояния системы в будущем зависит только от состояния системы в настоящее время t0 и не зависит от того, каким образом система пришла в это состояние. Процесс тестирования ПС рассматривается как марковский процесс.
В начальный момент тестирования (t=0) в ПС было n ошибок. Предполагается, что в процессе тестирования выявляется по одной ошибке. Тогда последовательность состояний системы (n, n-1, n-2, n-3} и т.д. соответствует периодам времени, когда предыдущая ошибка уже исправлена, а новая еще не обнаружена. Например, в состоянии n-5 пятая ошибка уже исправлена, а шестая еще не обнаружена.
Последовательность состояний {т, т-1, т-2, т-3 и т.д.} соответствует периодам времени, когда ошибки исправляются. Например, в состоянии т-1 вторая ошибка уже обнаружена, но еще не исправлена. Ошибки обнаруживаются с интенсивностью l, а исправляются с интенсивностью m.
Предположим, в какой-то момент времени процесс тестирования остановился. Совокупность возможных состояний системы будет: 5={ n, т, n-1, n-1, n-2, m-2, . . . }.
Система может переходить из одного состояния в другое с определенной вероятностью Pij. Время перехода системы из одного состояния в другое бесконечно мало.
Вероятность перехода из состояния n-k в состояние m-k есть ln-kDt ( для k = 0, 1, 2, ... . Соответственно вероятность перехода из состояния m-k в состояние n-k-1 будет mm-kDt для k=0,1,2,....
Общая схема модели представлена на рисунке 34. Если считать, что l1 и m1 зависят от текущего состояния системы, то можно составить матрицу переходных вероятностей представленной в таблице 12.
Общая схема модели
Рис. 34
Таблица 12 - Модель многих состояний ПС
1-lnDt | lnDt | 0 | 0 | 0 … | 0 … | |
0 | 1-mmDt | mmDt | 0 | 0 … | 0 … | |
0 | 0 | 1-ln-1Dt | ln-1Dt | |||
0 | 0 | 0 | 1-mm-1Dt | |||
……………… | ……………… | ……………… | ……………… | ……………. | 1-ln-kDt | ln-kDt |
0 | 1-mm-kDt |
Пусть S'(t) - случайная переменная, которой обозначено состояние системы в момент времени t.
В любой момент времени система может находиться в двух возможных состояниях: работоспособном либо неработоспособном (момент исправления очередной ошибки).
Вероятности нахождения системы в том или ином состоянии определяются как:
Pn-k(t) = P(S’(t)=n-k), k=1,2,3,… (44)
Pm-k(t) = P(S’(t)=m-k), k=1,2,3,… (45)