Модель с дискретным увеличением времени наработки на отказ

 

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

 
 

 

 


На диаграмме величины t1, t2, t3,…, tm-1, tm – случайные моменты времени возникновения первого, второго, третьего и так далее – m-го от­казов. Величины t(1), t(2), t(3),…, t(m-1), t(m) – случайные интервалы времени между соседними отказами программы (обозначены под первым рядом нижних скобок диаграммы). Интервалы Dt(1),Dt(2),Dt(3),…, Dt(m-1),Dt(m) также являются случайными временными интервалами.

Пусть первая ошибка, проявившаяся в результате отказа программы, произошла в случайный момент времени t1 и была устранена. Наработка до первого отказа и возникшей ошибки равна интервалу времени t(1) . Вто­рая ошибка возникла в момент времени t2. Наработка до второй ошибки определяется интервалом t(2) . В соответствии с предположением, этот ин­тервал больше, чем t(1) , так как после перезапуска программа проработала время до первой ликвидированной ошибки, продолжила работу до новой, второй ошибки. Следовательно, интервал t(2) можно представить в виде

t(2) =t(1) +Dt(2) , где Dt(2) – дополнение интервала t(1) до величины интервала t(2) .

Обобщая эти рассуждения до любого i-го интервала (i = 1,m), можно записать

t(i) =t(i -1) +Dt(i) .

Случайные величины Dt(i) являются независимыми, имеют математическое ожидание M[Dt] и дисперсию σ2Dt.

Случайное время возникновения (i-1) ошибки ti отсчитывается от начального момента времени t0 =0. Время, необходимое на ликвидацию ошибки, в расчет не берется. В этом случае для всех случайных моментов времени возникновения ошибки и временных интервалов между соседни­ми ошибками можно записать:


t1 =t(1) ;

t2 = t1 + t(2) = t(1) + t(1) + Dt(2);

t3 = t2 + t (3) = t (1) + t (2) + t (3) = t (1) + t (1) + Dt (2) + t (1) + Dt (2) +Dt (3);

….

tm = mt(1) + (m -1)Dt(2) + (m - 2)Dt(3) +…+ 2Dt(m-1) + Dt(m).

Учитывая, что от момента времени t0 =0 до начала момента t1 не выяв­лено ни одной ошибки программы и в силу того, что интервал t (1) сравни­тельно невелик, так как ошибки программы вначале ее эксплуатации про­исходят довольно часто, можно представить интервал t(1) как Dt(i) . Тогда, с учетом этой замены, выражение для tm примет вид

tm = mD t(1) + (m -1)Dt(2) + (m - 2)Dt(3) +…+ 2Dt(m-1) + Dt(m) , или

Рассмотрим выражение для t(i) при i =1. Согласно ранее принятой замене t(1) на Dt(1) , получим

t(1) = t(0) + Dt (1) = Dt (1) .

Действительно, интервал t(0) равен нулю, так как до начала эксплуатации программы никаких ее отказов произойти не могло. Поэтому для любого i =m при i >1 можно записать

Но t(m) – это наработка между (m -1) и m – отказами. Тогда, для любых m, средняя наработка между (m -1) и m отказами равна математическо­му ожиданию интервала t(m) :

Но для любого i

M[Dt(i) ] = M[Dt] .

Поэтому

 

Отсюда видно, что с увеличением m увеличивается и средняя наработка между двумя отказами.

Рассмотрим среднюю наработку до возникновения m-го отказа. Она равна математическому ожиданию от tm:

 

Как и предыдущем случае, из полученного выражения видно, что средняя наработка до отказа возрастает с увеличением числа отказов. Оценки M[Dt] и σ2Dt получаются по данным об отказах программы в течение периода наблюдения tн :

 

где mн – число отказов за интервал времени (0,tн).