Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Прикладные проблемы надежности и качества систем. Курс лекций
.pdf
Обозначив через q
4 г 4 4 4 окс
(1 ( ( )))(1 ).p K F tH q= −∆ −
( )
( )
( )
5 г5 5 5
1.p K F tH= −∆
г
(1 ( ( ))) 1.
k kk
K F tH−∆ ≈
2
t∆
4
t∆
1
aв
t∆
1
12ав 1 2 3
.tt t tt t
∆ +∆ ≤∆ ≤∆ +∆ +∆
pc
t∆
опс
t∆
вероятность обнаруженной ошибки, возник-
окс
шей из-за помех в обратном канале связи, для вычисления p
формулу
имеем
4
(1.10)
И наконец, при приеме на терминал расшифрованной информации о результатах будем считать, что возможны только функциональные отказы технического устройства, т. е.
(1.11)
Заметим, что коэффициент готовности указанных устройств
обычно близок к единице, а вероятность функционального отказа во
время выполнения операции очень мала. Поэтому можно считать,
что для всех k = 1,5:
(1.12)
1.1.4. Вероятность успешного решения задачи
при возможных рестартах
Вычислим вероятность успешного решения g-й задачи p
при ус-
cg
ловии, что возможно несколько стартов. В этом случае необходимо
знать ресурс времени, оставшегося после очередного неудачного
старта.
Будем считать, что время на дополнительный запрос пакета в слу-
чае ошибки в канале связи включено соответственно
и
. То-
гда в случае аварийного завершения рабочей программы интервал
, прошедший от момента начала ввода данных, удовлетворяет
неравенству:
В случае сбоя операционной системы израсходованный ресурс
времени также удовлетворяет (1.13). Обозначим через
тельное время на старт рабочей программы, а через
перезапуск операционной системы. При перезапуске этой системы
информация о задаче может сохраняться или не сохраняться. Поло-
жим, что она сохраняется. Тогда после перезапуска системы происходит рестарт задачи.
(1.13)
дополни-
– время на
11

Возможна еще одна ситуация: в результате ошибки оператора
оп
допзп12345
t t ttttt∆ =∆ +∆ +∆ +∆ +∆ +∆
зп
t∆
0
опс оп опс
(1 ) .q qq= −
опс
доп опс pc 3 4 5
.t t t ttt∆ =∆ +∆ +∆ +∆ +∆
пр
доп pc 3 4 5
.t t ttt∆ =∆ +∆ +∆ +∆
0
пр
q
0
пр опс алг пр оп
(1 )(1 (1 )(1 ))(1 ).q q qq q=− −− − −
данные не проходят синтаксический или логический контроль, что
приводит к останову задачи. Если считать, что время на указанный
контроль намного меньше интервала решения задачи, то вероятность
сбоя в программе или операционной системе на интервале контроля
пренебрежимо мала. Будем считать также, что ошибки оператора
такого типа обнаруживаются при контроле. Тогда вероятность указанной выше ситуации приближенно равна q
, а среднее дополни-
оп
тельное время на повторный запрос данных и решение задачи определяется по формуле
где
– дополнительное время на повторный запрос данных опе-
, (1.14)
ратора.
Если во время решения задачи происходит сбой операционной
системы, то безразлично, будет ли вместе с этим сбой в рабочей программе или нет.
Вероятность сбоя операционной системы при условии отсутствия
ошибок оператора равна
(1.15)
Среднее дополнительное время на решение задачи в этом случае
будет равно
(1.16)
Если сбой произошел только в рабочей программе, то среднее дополнительное время вычисляется по формуле
Вероятность сбоя только в рабочей программе
(1.17)
при работаю-
щей операционной системе и отсутствии ошибок оператора равна
В этой формуле второй сомножитель представляет собой вероятность хотя бы одного из двух независимых событий: сбой по причине алгоритмической ошибки и сбой по причине помех.
12
(1.18)

Таким образом, среднее значение дополнительного времени на
0 пр 0 опс оп
доп пр доп опс доп оп доп
.t qt q t qt∆ =∆ + ∆ +∆
1
ав
t∆
1
ав доп
tt∆ +∆
1
ав доп 3 0
,
gg
t t tt
∆ +∆ < −
k
t∆
2g
p
2
ав доп 4 5
.t t tt∆ =∆ −∆ −∆
12
ав ав доп 3 0
.
gg
t t t tt∆ +∆ +∆ < −
решение задачи при втором старте равно
Будем считать, что
равно своему максимальному значению
(1.19)
согласно (1.13). Тогда суммарное среднее время на решение задачи
равно:
. Сравним его с ресурсом. Если
(1.20)
то g-я задача может стартовать второй раз. Сделанный расчет по
средним значениям, разумеется, является приближенным. Для неравенства (1.20) можно вычислить вероятность и учесть ее в дальнейших вычислениях. Однако аналитические трудности этого расчета
неоправданны, так как все равно пришлось бы использовать прибли-
женные аппроксимации законов распределения
.
Приняв приближенную оценку возможности второго старта, для
вероятности
успешного решения задачи со второго старта мож-
но записать:
p
= p3p4p5. (1.21)
g2
Поскольку был предложен экспоненциальный закон распределения F
(t), то при новом старте распределение интервала, оставшего-
k
ся до функционального отказа, не зависит от начала отсчета. Поэтому формулы (1.9) – (1.11) верны и в этом случае. Вероятность
того, что g-я задача будет успешно решена при двух возможных
стартах, равна:
p
При расчете на третий старт, как и на все предыдущие, максимальное время, затраченное на решение, равно
Среднее дополнительное время на третий старт (и любой последующий) будет то же самое. Возможность будет определяться неравенством:
= pg1 + (1 – pg1)pg2. (1.22)
cg
(1.23)
(1.24)
13

Соответственно вероятность успешного решения задачи будет
1 12 1 23
(1 ) (1 )(1 )
cg g g g g g g
P p pp p p p
= +− +− −
ав доп 3 0
1
,
m
j
gg
j
t t tt
=
∆ +∆ < −
∑
1
ав доп 3 0
1
m
j
gg
j
t t tt
+
=
∆ +∆ ≥ −
∑
1
1
1 12 2
1
(1 ) (1 )
m
j
cg g g g g
j
p p pp p
−
−
=
= +− −
∑
равна
где p
вычисляется по формуле (1.21), т. е. pg3 = pg2.
g3
, (1.25)
Расчет можно продолжить до тех пор, пока для m-го старта выполняется неравенство:
(1.26)
а для (m + 1)-го старта:
. (1.27)
Тогда окончательно имеем:
Как уже было сказано, значения коэффициентов готовности K
для k-й операции (k = 1,5) и законы распределения F
. (1.28)
(t) вычисляются
k
гk
по результатам эксплуатации вычислительной системы. Рассмотрим
отдельно проблемы надежности человека-оператора, помехозащитного кодирования и программного обеспечения.
1.2. Надежность человека-оператора
При условии, что оператор достаточно квалифицирован, он ошибается в результате ослабления внимания. Максимальный уровень
внимания обычно наблюдается при средней нагрузке. Нагрузка оператора h может измеряться, например, числом нажатий клавиш на
дисплее в минуту. При слабой нагрузке человек, даже не желая того,
расслабляется и допускает больше ошибок. Происходит это от того,
что при наличии свободного времени мозг автоматически отвлекается на проблемы, не связанные с производимыми операциями. При
большой нагрузке оператор утомляется и, чувствуя это, старается
напрячь внимание. Возникает стрессовая ситуация, неуравновешенность эмоций. Это приводит к ошибкам.
14

Зависимость среднего уровня и дисперсии ошибок от нагрузки,
оп 0
1 exp( ( , ) ).
g bg
q t ht= − −λ ∆
разумеется, индивидуальна. Однако в определенных рабочих группах, члены которых находятся в одинаковых условиях работы, наблюдаются определенные статистические закономерности.
Например, действия человека-оператора характеризуются плотно-
стью ошибок λ(t, h), медленно растущей по времени от начала к концу рабочей смены. Если интеграл ввода данных Δt
для конкретной
bg
задачи относительно мал по сравнению с длительностью рабочей
смены, то можно считать поток ошибок приблизительно постоянным. Тогда справедлив приблизительно закономерный закон распределения интервала безошибочной работы оператора. Если ввод данных g-й задачи начинается в момент t
0g
, то
(1.29)
Можно обнаружить два рода ошибок оператора: 1) ошибки, обнаруживаемые при синтаксическом или логическом контроле данных;
2) ошибки типа относительно малых вариаций числовой информации, проходящие логический контроль, но приводящие к ошибочному финальному результату. Будем считать, что условная вероятность
ошибок второго рода намного меньше, чем первого. Плотность потока ошибок оценивается по статистическим измерениям, в результате
чего может быть построена регрессия λ(t, h). Типичное значение q
оп
как правило, порядка 0,001.
1.3. Надежность канала связи
1.3.1. Вероятность пропуска ошибки
Надежность канала связи определяется его функциональной надежностью, связанной с отказами технических средств и надежностью передачи информации (операционной надежностью) при технически исправном канале, которая определяется уровнем шумов,
приводящих к искажению сигналов, и эффективностью работы системы контроля информации.
Замечание. Операционная надежность есть аналог надежности
достижения цели, а действие системы контроля информации аналогично действию подсистемы управления.
Определение 3. Показателем операционной надежности q
кс
назовем вероятность пропуска ошибки в передаваемом информационном блоке.
,
15

Условия работы (уровень помех) и система контроля в прямом и
пос вo но
() ()
j
q q jq j=
∑
00
00 00
во
() ()
() e .
!!
jj
t
tt
qj
jj
−λ ∆
λ∆ λ∆
= ≅
обратном канале связи, как правило, идентичны. Поэтому индексы
«п» и «о» в дальнейшем опущены. Информационный блок обычно
разбивается на равные по размеру сообщения (пакеты). Обозначим
через q
вероятность пропуска ошибки в сообщении, которую мож-
пос
но вычислить по формуле, выражающей сумму несовместных событий по возникновению и пропуску ошибки j-й кратности:
где q
(j), qно(j) – вероятность возникновения и вероятность необна-
вo
, (1.30)
ружения ошибки j-й кратности соответственно.
Определение 4. Кратность ошибки j измеряется числом ошибоч-
ных разрядов.
Будем считать поток возникновения ошибок в разрядах пуассоновским, а ошибки, возникающие в различных разрядах сообщения,
независимыми. Обозначим через λ
ошибок, а через Δt
время передачи контролируемого сообщения. В
0
интенсивность потока одиночных
0
пуассоновском потоке интервалы между ошибками имеют экспоненциальное распределение. Вычислим вероятность q
ность появления ровно j ошибочных разрядов в интервале Δt
(j), т. е. вероят-
вo
.
0
Заметим, что современные технические средства ИC обеспечивают значение λ
порядка 10–5…10–6 отказов/ч. Вместе с тем Δt0 состав-
0
ляет доли секунды. При этих условиях вероятность появления ошибки j-й кратности на интервале Δt
достаточно точно описывается рас-
0
пределением Пуассона:
(1.31)
1.3.2. Некоторые методы обнаружения ошибки
Обозначим через А очередное сообщение в двоичном виде. Наиболее распространенным видом контроля является контроль по модулю mod
(A). Так обозначен остаток от деления A на m. Значение m
m
выбирается чаще всего по формуле m = 2
тельное число.
Такой выбор m обусловлен простым вычислением остатка от деления. Последовательность символов, составляющих сообщение, со-
16
b
–1, где b – целое положи-

провождается контрольными разрядами, в которые перед передачей
но
1 11
(, ) .
1
j
m
q jm
mm m
−
=+−
−
кс пос
1 (1 ) .
l
qq=−−
записывается mod
(A). При приеме modm(A) снова вычисляется и
m
сравнивается с переданным ранее значением. При этом подразумевается, что ошибка может оказаться и в контрольных разрядах. Но их
намного меньше, чем информационных, и вероятность необнаружения ошибки j-й кратности как функция m вычисляется по формуле
Значение q
(j, m) для одиночной ошибки (j = 1) равно нулю для
но
всех m. Подставив (1.31) и (1.32) в (1.30), получим значение q
(1.32)
. За
пос
время передачи уровень помех можно считать постоянным. Поэтому
q
для каждого сообщения равны между собой. Обозначим через l
пос
число сообщений. Тогда q
есть вероятность пропуска ошибки хотя
кс
бы в одном сообщении и вычисляется по формуле
(1.33)
Число контрольных разрядов равно 2 при m = 3 и 3 при m = 7.
Пример. Пусть исходное сообщение имеет 8 разрядов. Контроль
проводится по модулю 3 (m = 3). Значения разрядов исходного сообщения следующие: 11010111 (в десятичной системе это число 215). В контрольных разрядах записывается 10 (остаток от деления 215 на 3 равен
2). Предположим, что при передаче произошло следующее искажение
(двухкратная ошибка): 01010101. Остаток от деления на 3 равен 1.
Ошибка обнаружена. Пусть получено следующее сообщение 01000111
(ошибка также двухкратная). Остаток от деления на 3 равен 2. Ошибка
не обнаружена. Пусть теперь произошла трехкратная ошибка:
011001111. Остаток от деления на 3 равен 1. Ошибка обнаружена.
Более простым по исполнению является метод проверки на четность, так называемый код Хэмминга. При этом производится суммирование разрядов исходного сообщения по модулю 2 (m = 2). Результат записывается в единственный контрольный разряд.
Для этого случая
q
(j) = 0, если j – нечетное; qно(j) = 1, если j – четное. 1.34)
но
Существуют и другие методы контроля, не приведенные здесь,
поскольку их эффективность мало отличается от рассмотренных ме-
17

тодов. Большинство из них ориентировано на контроль информации
в долговременной памяти.
Для практических расчетов обычно вероятность возникновения
четырехкратной ошибки и ошибки большей кратности принимается
равной нулю.
Кроме контролирующих кодов применяются также корректирующие коды. Но для достаточной глубины коррекции такие коды
требуют большого числа дополнительных разрядов. Кроме того, объем вычислений по кодированию и декодированию значительно возрастает. Целесообразность применения корректирующих кодов оценивается для каждой конкретной ИС. В случае применения только
контролирующих кодов при обнаружении ошибки соответствующее
сообщение запрашивается вторично.
1.4. Надежность программного обеспечения
1.4.1. Вероятность ошибок от воздействия помех
Надежность программного обеспечения определяется его помехозащищенностью и отсутствием алгоритмических ошибок, не обнаруженных при отладке. Во время операции решения задачи функционирует операционная система и рабочая (прикладная) программа.
Будем считать, что алгоритмические ошибки в операционной системе отсутствуют ввиду ее долговременного использования. Помехозащищенность операционной системы и прикладной программы
обеспечивается на уровне контроля данных, поступающих из оперативной и долговременной памяти. Если считать, что ошибки арифметических устройств полностью исправляются аппаратурными средствами, то значения q
пр
и q
могут быть вычислены по формуле, по-
опс
добной (1.33). Роль отдельных сообщений будут играть отдельные
блоки. В качестве Δt
должно учитываться время хранения очередно-
0
го блока информации в памяти до момента использования. Уровень
помех в вычислителе существенно ниже, чем в канале связи. Следовательно, λ
ности при проектировании ИС можно считать, что q
но равны q
также уменьшается. Для приближенного расчета надеж-
0
и q
пр
[(см. формулу (1.33)]. Более точное же их значение, при-
кс
пример-
опс
годное для расчета вероятности успешного решения реальной задачи
управления, можно получить только в результате статистического
анализа данных эксплуатации конкретной ИС.
Однако этот анализ скорее всего не даст возможности вычислить
вероятность алгоритмической ошибки прикладной программы q
алг
так как ее использование на фоне других программ может оказаться
,
18

относительно редким. Поэтому представляет интерес прогноз вероятности алгоритмической ошибки, не обнаруженной при отладке.
1.4.2. Вероятность алгоритмической ошибки
рабочей программы
Прежде всего заметим, что имеются принципиальные различия в
природе отказов элемента аппаратуры и программы. Отказ элемента
аппаратуры происходит в результате ухода характеристик за допустимые пределы. Программа же не разрушается оттого, что в ней имеется ошибка. Она просто дает неверный результат. Надежность любого технического оборудования можно повысить дублированием.
Использование же двух одинаковых программ не повышает надежность, так как в дубле будут те же ошибки.
Какова бы ни была длительность предварительных испытаний
элемента аппаратуры, она все равно с течением времени выйдет из
строя. Напротив, если программу испытывать достаточно долго, то в
принципе все ошибки будут обнаружены и программа больше никогда не даст неправильного результата (если нет помех). Алгоритмические ошибки в программах остаются только вследствие ограниченного времени отладки. В связи с этим возникает вопрос: можно
ли считать, что алгоритмические ошибки носят случайный характер?
Ведь, по существу, программа детерминированно отображает пространство входов на пространство выходов. А в случае детерминированного процесса исчезает предмет исследования надежности.
Замечание. Если бы было известно поведение выхода рабочей
программы при любых возможных выходах, то можно было бы прогнозировать ошибки.
Но дело в том, что свойства крупной программы никогда не бывают известны полностью, поскольку практически невозможно перебрать все возможные сочетания выходов за время отладки. Входы
программы также являются случайными. В силу того что и для самой
программы и для ее входов характерна неопределенность, можно
считать появление ошибок из-за алгоритмических погрешностей
случайным процессом.
В литературе предложено несколько похожих моделей надежности алгоритмического обеспечения. Рассмотрим одну из наиболее
типичных моделей – статическую модель, предложенную Шуманом.
Она основана на следующих положениях:
– общее число команд L на машинном языке остается практически
постоянным;
19

– число ошибок Mr(Δt
отл отл
()(0) ().
rc
Mt M Mt∆= −∆
отл
( ).
r rr
kM t
λ= ∆
01
1
02
2
1
,
( (0) ( ))
1
.
( (0) ( ))
rc
rc
T
kM M
T
kM M
=
−τ
=
−τ
() 1 e .
r
t
Ft
−λ
= −
алг отл
1 exp( ( (0) ( )) )
r cp
q kM M t t=−− −∆ ∆
), оставшихся после периода отладки Δt
отл
отл
остается постоянным (коррекция в процессе рабочего функционирования программы не проводится);
– плотность потока отказов программы, вызванных оставшимися
блоками, постоянна во времени и пропорциональна M
Обозначив через M(0) начальное число ошибок, а через M
.
r
(Δt
) –
c
отл
число обнаруженных ошибок, можно записать:
,
(1.35)
Постоянная закона распределения интервала между отказами λ
определяется по формуле
Неизвестные k
безотказной работы T
τ
принадлежит τ2 и начала их совпадают. При этом нужно зафикси-
1
и M(0) можно определить, измеряя среднее время
r
и T02 в течение двух периодов отладки τ1 и τ2:
01
ровать число обнаруженных ошибок M
(1.36)
) и Mc(τ2).
c(τ1
Поскольку среднее время безотказной работы обратно пропорционально λ
нахождения k
, то можно записать следующую систему уравнений для
r
и M(0):
r
(1.37)
Постоянной плотности потока отказов соответствует экспоненциальный закон распределения интервала между отказами:
(1.38)
r
Отсюда
где Δt
– интервал решения задачи.
р
Эта модель относится к случаю, когда допуск к тексту программы
прекращается с момента ее включения в работу.
Можно предложить модификацию этой модели на случай, если
отладка возможна в процессе эксплуатации. Обозначим через t
20
, (1.39)
об-
0
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
