Автор работы: Пользователь скрыл имя, 03 Февраля 2011 в 17:52, лекция
Для количественных оценок надежности используют различные характеристики и параметры, относящиеся к событиям как появление отказа или случайной ошибки функционирования, что позволяет предупредить или устранить их.
Диаграмма состояний:
Запишем д.у. состояния для этой системы:
n–k(t) = –lkPn–k(t) + mk–1Nm–k+1(t) (10)
m–k(t) = –mkPm–k(t) + lkPn–k(t) (11)
Pm–k(0) = 0 k = 1, 2… (12)
Pn(0) = 1 (13)
Решение уравнений (10) и (11) можно получить используя любой из методов численного интегрирования.
После того как будут получены вероятности всех состояний, неготовность системы определится с помощью формулы:
U(t) = Pm–k(t) (14)
Т.к. вероятности зависят от kMAX, то при больших значениях kMAX можно получить величину U(t) близкую к истинной.
данная модуль как и Шумана основана на допущении об экспоненциальном распределении времени безотказной работы ПО. Предполагается, что частота появления ошибок ~ числу остаточных ошибок:
lУМ(xi) = KУМ[E0 – (i – 1)] (15)
KУМ – коэффициент пропорциональности
xi – интервал времени м/ i и u(i-1) ошибкой
С помощью (15) можно найти вероятность безотказной работы:
P(ti) = exp[–KУМ(E0 – i + 1)ti] (16)
Среднее время безотказной работы:
Т0 = P(ti)dti = (17)
Основа
модели – положение о том, что
интенсивность появления ошибок
~ не только количеству оставшихся в программе
ошибок, но и времени, потраченному на
отладку.
"–" рассмотренных моделей:
- при
неточном определении
- здесь предполагается, что после обнаружения ошибка ликвидируется и не вносятся новые ошибки.
В целях преодоления "–" была предложена модель, основанная на допущениях о том, что поток возникновения ситуаций, в которых возможен отказ, является Пуассоновским с параметром l. Однако, по мере обнаружения и исправления ошибок, отказы в этих ситуациях возникают с вероятностью <1. Другими словами, этот поток отказов представляется в виде разреженного потока, с переменным коэффициентом разряжения pi, i – номер отказа.
В простейшем случае:
pi = 1 – (1 – pН)qi–1 (18)
где 0<q<1
pН = p1 – начальный коэффициент разряжения потока.
Данная
модель подходит не только для прогнозирования
интенсивности следующего отказа, но
и для прогнозирования
Из (18) , что изображение параметра потока по Лапласу:
w*(S) = (19)
Приближенное значение оригинала:
w(t) = (1–p1)l
– ((1–p1)l)2(1–q)t + ((1–p1)l)3(1–q)(1–q2)t2/2!–...
с погрешностью не более:
Dw(t)
= (–1)n+1((1–p)l)n+2(1–q)…(1–qn+
Приведенные
модели представляют интерес прежде
всего для прогнозирования
Т.к. надежность программ, которая м.б. достигнута технологическими методами, ограничена, вызвана необходимость надежности программ за счет времени резервирования.
Для этого готовятся 2 или несколько версий программ для решения одной задачи. Желательно, чтобы версии имели существенные различия, т.е. основываться на различных алгоритмах или хотя бы д.б. выполнены различными программами.
ошибки м.б. обнаружены
по расхождению результатов,
Существует идея //-го (одновременного) или последовательного во времени выполнения различных версий программ непосредственно в процессе эксплуатации. Если таких версий 2, то принято говорить о дуальном программировании.
Если обнаружено расхождение в результатах, необходимо определить по к-л дополнительным критериям, какой из результатов правильный.
при n-версионном программировании подготавливается n версий программ, и правильный результат определяется по мажоритарному признаку при помощи подходящих аппаратных или программных средств.
Дуальное и n-версионное программирование целесообразно использовать в том случае, если имеет место нагруженное резервирование вычислительной аппаратуры.
Модифиционное дуальное программирование на ряду с достаточно точной, но сложной основной программой, использует менее точную, но простую резервную программу. Если при одинаковых исходных данных результаты отличаются на величину > допустимой, делается предположение о том, что отказала основная программа. В качестве правильного результата принимается результат, полученный при помощи резервной программы.
средняя погрешность работы 2-ух программ несколько , но зато вероятность отказа .
Обозначим погрешность I программы d1, а II – d2. Пусть вероятность отказа I программы – q1, II – q2. При независимости этих программ возможны следующие несовместные события:
p = 1 – q1 – q2 +q1q2
q01 = q1(1 – q2) = q1 – q1q2
q10 = q2(1 – q1) = q2 – q1q2
q11 = q22 (погрешность d3)
Следовательно, средняя погрешность не отказавшей системы из 2-х программ:
В случае, когда имеется только основная программа: погрешность d1
Наряду с вычислительной функцией по иной программе определяется некоторая функция, которая находится с основной, в некоторых соотношениях, которые называются контрольными соотношениями.
Простейшим
примером применения контрольных соотношений
является вычисление функций sinx и cosx
по отдельным соотношениям.
Тестирование – проверка работы программы по результатам ее выполнения на специально подобранных наборах исходных данных или тестах.
Существуют следующие методы тестирования:
(3)
основывается на разделении
Здесь основная задача: построение генератора тестовых наборов.
Исходя
из тестируемой программы Т
Достаточно простое требование может заключаться в том, что выбранные пути должны перекрывать (задействовать) все операторы или команды программы. Затем генерируются ограничения О, которые позволяют реализовать тот или иной путь на графе программы.
О преобразуются модулем ПВ в ограничения к исходным данным. Тогда с помощью алгоритма А генерируются тестовые наборы числовых значений исходных данных ТН, которые удовлетворяют отдельным ограничениям.
Структура генератора тестов:
Критерии выбора путей на структуре программы состоит в том, что все операторы должны перекрываться хотя бы один раз.
Здесь,
тестирующиеся команды
ТЕСТИРОВАНИЕ ВЕТВЕЙ.
Заключается
в том, что выбранные пути должны
перекрывать все ветви
Данный подход гарантирует однократное тестирование всех ветвей. Значит число ошибок возникает из-за неточностей при формулировке условий выхода из циклов предполагается вводить дополнительное требование, чтобы каждый цикл испытывался двумя тестами:
ВЕРТИФИКАЦИЯ ПРОГРАММ:
-
это доказательство их
СИМВОЛИЧЕСКОЕ ТЕСТИРОВАНИЕ
В отличие от верификации,
В
некоторых случаях тестирование
может производится символически: выполнение
процедур, которые основаны на символических
входах (обозначение входных