Модели надежности программного обеспечения ответственного назначения

3. Glover, K All optimal Hankel-norm approximations of linear multivariable systems and their La>-error bounds [Текст] / K. Glover // International J. of Control, 1984. -№ 39 (6). -C. 1115-1193.

4. Moore, B.C. Principal component analysis in linear systems: controllability, observability, and model reduction [Текст] / B.C. Moore // IEEE Transactions on Automatic Control, 1981. -№ 26 (1). -C. 17-32.

УДК 519.8

А.В. Титов, А.А. Харьковом, В.О. Чуканов

модели надежности программного обеспечения ответственного назначения

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

Анализ надежности программных средств -сложная комплексная задача, требующая использования аппарата теории вероятностей и математической статистики. В системах ответственного назначения отказы являются редкими событиями [1]. Ограниченных данных бывает недостаточно для того, чтобы найти заранее неизвестный закон распределения времени между программными сбоями. Тем не менее, если вид закона распределения известен, то его параметры могут быть оценены по имеющейся информации.

Изучена система передачи данных, функционирующая на нескольких однотипных технических объектах одновременно. В качестве наблюдаемых характеристик системы выбраны время наработки на отказ и время восстановления после отказа. Под отказом понимается сбой в работе программных средств, требующий восстановления их работоспособности [2].

В качестве основных характеристик надежности рассматриваются время наработки на отказ и время восстановления после отказа. Фиксация отказов программного средства производится в жур-

нале отказов, где указывается время отказа, время восстановления и модуль, в котором был зарегистрирован отказ. После этого производится устранение найденной ошибки в ПО. Таким образом, в системе остается на одну ошибку меньше, чем было до момента отказа.

В рамках рассмотренной структуры функционирования программного обеспечения и фиксации отказов можно предложить модель надежности данной системы с учетом ее особенностей.

Модель, предложенная Джелинским и Мо-рандой, базируется на предположении о том, что время до очередного отказа распределено по экспоненциальному закону с интенсивностью отказов, пропорциональной количеству еще не выявленных ошибок. После обнаружения ошибки в ПО происходит немедленное ее устранение, и при коррекции ошибок не происходит внесения новых ошибок. В результате коррекции число оставшихся ошибок уменьшается на одну и тестирование возобновляется [3].

Данная модель позволяет получить так называемую функцию риска или интенсивность отказов ), которая будет зависеть от двух неизвестных: числа ошибок в ПО до начала тестирования и отладки, и коэффициента в модели Джелинского-Моранды [3]. Использование такого метода расчета значительно усложняет тестирование, поскольку приходится искать решение уравнений п-го порядка для получения необходимых значений. Поэтому была разработана комплексная модель надежности изучаемого программного средства на основе моделей Джелинского-Моранды и Миллса.

Научно-технические ведомости СПбГПУ 2' 2011 ^ Информатика. Телекоммуникации. Управление

Использование этой модели предполагает перед началом тестирования необходимость искусственного «засорения» программы, т. е. внесения в нее некоторого количества известных ошибок. Ошибки вносятся случайным образом и фиксируются в протоколе искусственно внесенных ошибок. Предполагается, что все ошибки (как естественные, так и искусственно внесенные) имеют равную вероятность быть найденными в процессе тестирования. Стоит отметить, что в случае редких отказов искусственное «засорение» приводит к повышению вероятности отказового события и увеличению объема статистических данных.

Тестируя программу в течение некоторого времени, собирают данные об ошибках. В момент оценки надежности по протоколу искусственных ошибок все ошибки делятся на собственные и искусственные. Соотношение, вытекающее из формулы Миллса [4], выглядит следующим образом:

N = — ,

V

где N - общее количество собственных ошибок; 5" - общее количество внесенных ошибок; V - число найденных внесенных ошибок; / - число найденных собственных ошибок.

Тогда Е0 будет обозначать общее количество ошибок в программе до начала тестирования, то есть:

5 • /

Е0 = N + 5 = — + 5 .

V

В соответствии с моделью Джелинского-Моранды интенсивность отказов ) вычисляется по следующей формуле [3]:

^) = KJE0-(i-!)] =

= K

S  l

-+ S -

v

где Е0 - число ошибок в ПО до начала тестирования и отладки; - интервал времени между (/—1)-й и г-й ошибками; г - число ошибок, обнаруженных к моменту отладки Л; Кт - коэффициент Джелинского-Моранды [3], в данной модели вычисляемый по следующей формуле:

(п 5 • /

S +1)-Z i  t, I .

i=1

чг=1 V

Таким образом, интенсивность отказов X(ti) = const на интервале между двумя смежными моментами выявления и устранения ошибки в исследуемом программном продукте. Время t, соответствует длительности выполнения ПО на

компьютере и не учитывает простои компьютера для анализа результатов и их корректировки [3].

Так как, согласно допущению, представленному выше, время до очередного отказа распределено по экспоненциальному закону, вероятность безотказной работы Р равна:

) = ехр(-^ К ) =

= exp(-Kjm [E0 - (i - 1)]t, =

(

= exp

K,

S  l

S -

Плотность вероятности отказов f (t,) равна: f (t,) = X(t,)  exp(-X(t, )t,) = = Kmm [E0 - (i -1)] exp(-Kjm [E0 - (i -1)]t, = S  l

= K,

(

x exp

K

jm

V

~S  l v

S -

Л

Среднее время наработки на отказ для интервала tг вычисляется следующим образом [4]: 1 1

Щ) Kjm[E0-(i-1)]

jm 1

Kjm[(S-l/v + S)-(l + v-l)Y

На основании описанной выше методики были проведены вычисления, исходные данные которых представлены в таблице.

Исходные данные

№ ошибки Время между отказами, ч

1 7,92

2 10,56

3 10,80

4 13,20

5 15,84

6 21,32

7 20,48

8 20,92

9 21,16

10 25,92

11 26,64

12 29,28

13 33,92

Время до очередного отказа, ч юо

А

/

/

/

I "рафик по рсзулы гат ам наблюдснн: А

График по рсзул ьта тал I В] ычнсл CHI ш

1 2 3 -»5 в 7 8 в Ю 11 12 13 м 15 15 (7 18 10 20 21 22 23 >4 25

Количество найденных ошибок

Графики времени до следующего отказа

Были получены следующие результаты: интенсивность отказов - = 0,0391/ч;

математическое ожидание продолжительности времени до обнаружения следующей, 14-й ошибки - *14 = 30,01 ч.

На рисунке представлены два графика зависимости времени до отказа от количества найденных (а, соответственно, и оставшихся) ошибок, на основании вычислений, приведенных выше. Скачкообразное изменение графика по результатам расчетов вызвано тем, что в этот момент находится новая внесенная ошибка и приходится пересчитывать оценку количества ошибок по методу Милл-са, описанному выше. Стоит отметить, что во время вычислений значение количества собственных ошибок N постоянно менялось в зависимости от количества найденных внесенных или собственных ошибок. Поэтому в начале вычислений оценка N колебалась в интервале 10 ^ 30, в дальнейшем интервал уменьшился до 18 ^ 22, что повлияло на точность вычислений.

Необходимо заметить, что оценка значения N имеет некоторую доверительную вероятность а, вычисляемую по формуле [4]:

а =

с

v-l

S__

S\-

с

(v-l)\iS + N + l)\

' 5+^+1

где £ - количество внесенных ошибок; V - количество найденных внесенных ошибок; N - количество собственных ошибок в программе.

Таким образом, можно оценить точность полученной оценки количества собственных ошибок в ПО, что позволяет вычислить доверительную вероятность результатов расчетов 7 и X, а также оценить вероятность того, что в программе не было ошибок в случае, если все внесенные ошибки были найдены, а собственные не были обнаружены [4].

В данной статье рассмотрен комбинированный метод оценки надежности программного обеспечения на основе методов Джелинского-Моранды и Миллса. Данный метод имеет ряд преимуществ, достигаемых простотой вычисления основных параметров надежности ПО, функции риска и времени наработки на отказ. Приведен пример вычислений для реально существующего программного обеспечения.

СПИСОК ЛИТЕРАТУРЫ

1. Хердер, Дж.Н. Построение надежных операционных систем, допускающих наличие ненадежных драйверов устройств [Текст] / Дж.Н. Хердер, Х. Бос, Э.С. Таненбаум; Пер. с англ. С. Кузнецов // A Lightweight Method for Building Reliable Operating Systems Despite Unreliable Device Drivers. Technical Report IR-CS-018. -Jan. 2006. [Электрон-

ный ресурс]. -Режим доступа: http://www.minix3.org/ doc/reliable-os.pdf

2. Чуканов, В.О. Надежность программного обеспечения и аппаратных средств систем передачи данных атомных электростанций [Текст] / В.О. Чуканов. - М.: МИФИ, 2008. -180 с.

3. Майерс, Г. Надежность программного обеспе-

4

Научно-технические ведомости СПбГПУ 2' 2011 Информатика. Телекоммуникации. Управление

чения [Текст] / Г. Майерс. -М.: Мир, 1980. -360 с.

4. Черкесов, Г.Н. Надежность аппаратно-

программных комплексов [Текст] / Г.Н. Черкесов. -СПб.: Питер, 2005. -479 с.

УДК 621.391.6

И.Е.Никульский, А.И.Осадчий

оценка характеристик качества обслуживания ^-трафика в кольцевой оптической сети доступа

Оптические сети доступа (ОСД), построенные на основе оригинального оборудования оптических интерфейсов комплекса аппаратно-программных средств коммутации (КАПСК) -АТСЦ-90 [1] внедрены во многих районах Российской Федерации [2] и ориентированы на передачу первичных цифровых потоков (Е1) на участке между опорно-транзитной АТС и выносными абонентскими цифровыми концентраторами (АЦК).

Построение на основе таких ОСД наложенной пакетной IP-сети передачи данных (СПД), обеспечивающей абонентам доступ к Интернет-ресурсам и предоставление других современных инфотелекоммуникационных услуг, является в настоящее время актуальной задачей.

Подходы к оценке качества обслуживания IP-ориентированных сетей специфицированы в Рекомендации МСЭ-Т Y.1541 [3], в соответствии с которой основными показателями качества обслуживания трафика мультимедиа служат: среднее время задержки передачи пакетов (кадров) или средняя задержка (IPTD); вариация (джиттер) задержки передачи пакетов (IPDV); коэффициент потерь пакетов (IPLR).

Объектом исследования данной работы является участок IP-сети, построенный на основе Ethernet-моста, обеспечивающего передачу потока кадров Ethernet по TDM-трактам Е1 кольцевой ОСД.

В основе исследуемой технологии лежит процедура LAPS (Link Access Procedure for SDH -процедура доступа к каналу SDH), подробно описанная в [4].

Постановка задачи. Пусть имеется участок кольцевой IP сети, на который воздействуют два класса абонентского трафика: VoIP и DoIP. Обслуживание кадров в сетевых устройствах реали-

зуется с двумя классами относительных приоритетов (VoIP - высший приоритет). При передаче LAPS возникают аппаратурные сбои. Требуется определить IPTD и IPDV при передаче трафика VoIP и IPLR при передаче DoIP, в восходящем и нисходящем направлениях. Исходные данные типовых значений интенсивностей передаваемого трафика, интервалов обслуживания в сети, а также потоков отказов и восстановлений заданы. В сетевых устройствах используется дисциплина обслуживания кадров в порядке их поступления (FIFO).

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

Аналитическая модель. На рис. 1 приведена аналитическая модель рассматриваемого участка сети в терминах теории массового обслуживания. Обслуживание трафика на рассматриваемом участке сети включает семь фаз: три фазы в восходящей ветви (фазы 1-3) и четыре фазы в нисходящем направлении (фазы 4-7). Номера фаз обозначены фигурными скобками с цифрами.

В фазе 1 кадры записываются в буфер коммутатора, в котором производится выравнивание (сглаживание) абонентского трафика восходящего направления. На СМО воздействует входной