бесплано рефераты

Разделы

рефераты   Главная
рефераты   Искусство и культура
рефераты   Кибернетика
рефераты   Метрология
рефераты   Микроэкономика
рефераты   Мировая экономика МЭО
рефераты   РЦБ ценные бумаги
рефераты   САПР
рефераты   ТГП
рефераты   Теория вероятностей
рефераты   ТММ
рефераты   Автомобиль и дорога
рефераты   Компьютерные сети
рефераты   Конституционное право
      зарубежныйх стран
рефераты   Конституционное право
      России
рефераты   Краткое содержание
      произведений
рефераты   Криминалистика и
      криминология
рефераты   Военное дело и
      гражданская оборона
рефераты   География и экономическая
      география
рефераты   Геология гидрология и
      геодезия
рефераты   Спорт и туризм
рефераты   Рефераты Физика
рефераты   Физкультура и спорт
рефераты   Философия
рефераты   Финансы
рефераты   Фотография
рефераты   Музыка
рефераты   Авиация и космонавтика
рефераты   Наука и техника
рефераты   Кулинария
рефераты   Культурология
рефераты   Краеведение и этнография
рефераты   Религия и мифология
рефераты   Медицина
рефераты   Сексология
рефераты   Информатика
      программирование
 
 
 

Учебное пособие: Надёжность функционирования автоматизированных систем

Для равнонадёжных элементов имеем

.

При экспоненциальном законе надёжности отдельных элементов имеем

.

Тогда

; .

Определим среднее время безотказной работы резервированной системы

.

Введём новую переменную x вида ;

  

 

Если t = 0, то x = 0;

Если t = ¥, то x = 1;

В результате получим

Запишем формулу для определения суммы n членов геометрической прогрессии

где - первый член суммы; - n - ый член суммы; q - знаменатель прогрессии;

 (); .

Выражение

есть сумма n членов геометрической прогрессии, где q = x; n = m + 1;  

Следовательно

 ;

где - среднее время безотказной работы нерезервированной системы. Введём обозначение

;

Для разных значений m имеем

m = 0; a = 1;

m = 1; a = 1,5;

m = 2; a = 1,83.

Результаты сведём в таблицу

По данным таблицы строим график зависимости a от m.

1.20 Расчёт надёжности системы с постоянным общим резервированием

Резервирование называется общим, если резервируется вся система, состоящая из последовательного соединения n элементов.

Основная цепь содержит n элементов.

Число резервных цепей равно m, кратность резервирования равна m. Общее число резервных элементов равно mn.

Определим количественные характеристики надёжности в случае постоянного включения резервных цепей.

Введём обозначения

 i = 1, 2, ……..,n - вероятность безотказной работы элемента Эio ;

 j = 1, 2, ……..,m; i = 1, 2, …….,n - вероятность безотказной работы элемента Эij.

Запишем вероятность безотказной работы j - ой цепи

 j = 0, 1, ……,m (1.7)

Вероятность отказа j - ой цепи

 (1.8)

Определим вероятность безотказной работы системы

 (1.9)

Подставим (1.7) в (1.9). Получим

 

Определим вероятность безотказной работы системы

Частный случай: основная и резервные цепи имеют одинаковую надёжность, т.е.

Тогда


;

;

Рассмотрим экспоненциальный закон надёжности, т.е.

Тогда ;

 или  

 - интенсивность отказов цепи, состоящей из n элементов.

Вероятность безотказной работы системы.

Определим интенсивность отказов системы

;

 ;


Определим среднее время безотказной работы резервированной системы

где  - среднее время безотказной работы нерезервированной системы.

Т.о. с увеличением кратности резервирования m среднее время безотказной работы растёт, но очень медленно. Наибольший прирост наблюдается при переходе от нерезервированной системы к резервированной с кратностью m = 1.

1.21 Расчёт надёжности системы с постоянным поэлементным резервированием

При поэлементном резервировании резервируются отдельно элементы системы.

Определим количественные характеристики надёжности системы.

Введём обозначения:

 i = 1, 2, ……..,n - вероятность безотказной работы элемента Эio на интервале времени (0, t);

 j = 1, 2, ……..,m; i = 1, 2, …….,n - вероятность безотказной работы элемента Эij на интервале времени (0, t).

Запишем вероятность отказа i - й группы.

Имеем


 i = 1, 2, …….,n.

Запишем вероятность безотказной работы i - ой группы. Имеем

Запишем вероятность безотказной работы системы с поэлементным резервированием

или

Для равнонадёжных элементов системы имеем:

1.22 Режим облегченного (тёплого) резерва

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

В режиме облегченного резерва резервные элементы находятся в режиме недогрузки до момента их включения в работу. Пусть l1 - интенсивность отказа резервного элемента в режиме недогрузки до момента их включения в работу. l0 - интенсивность отказа резервного элемента в состоянии работы.

Введём в рассмотрение состояния ,

S0 - основной элемент исправен и работает, m резервных элементов исправны и находятся в режиме недогрузки.

S1 - основной элемент отказал, работает 1 - ый резервный элемент, (m - 1) резервные элементы исправны и находятся в режиме недогрузки.

S2 - отказал 1 - ый резервный элемент, работает 2 - ой резервный элемент, (m - 2) резервных элементов исправны и находятся в режиме недогрузки.

Si - отказал i - й резервный элемент, работает i - й резервный элемент, (m - i ) резервных элементов исправны и находятся в режиме недогрузки.

Sm - отказал (m - 1) - ый элемент, работает m - ый резервный элемент.

Sm+1 - отказал m -ый резервный элемент.

Запишем систему дифференциальных уравнений Колмогорова. Для этого введём обозначения:

P0(t) - вероятность нахождения резервированной системы в момент времени t в состоянии S0.

Pi(t) - вероятность нахождения резервированной системы в момент времени t в состоянии Si , i = 0, 1, ….., m, m + 1.


;

 ………………………………………………….

………………………………………………….

.

Начальные условия:

.

Применим к системе дифференциальных уравнений Колмогорова преобразование Лапласа. Получим систему линейных алгебраических уравнений вида: Pi(t) - оригинал

Pi(S) - изображение по Лапласу

 i = 0, 1, ……, m +1


…………………………………………….

…………………………………………….

Решая систему уравнений получим


Найдём оригинал . Имеем

 

где

Здесь - вероятность отказа резервированной системы с облегченным резервированием.

Определим вероятность безотказной работы системы с облегченным резервированием. Имеем:

Определим среднее время безотказной работы системы с облегченным резервированием. Имеем:

Формула бинома Ньютона

где

При a = 1 имеем:

Выполнив преобразование, получим:

 где .

Определим частоту отказов  резервированной системы. Имеем

;

или

Определим интенсивность отказов  резервированной системы. Имеем


1.23 Режим нагруженного резерва

Облегченное резервирование занимает промежуточное положение между нагруженным и ненагруженным резервированием .

При l1 = l0 имеем режим нагруженного резерва .

В этом случае

 

Определим частоту и интенсивность отказов в режиме нагруженного резерва. Имеем:

1.24 Режим ненагруженного резерва

При  имеем режим ненагруженного резерва.

В этом случае


Найдём оригинал . Имеем

Определим вероятность безотказной работы системы с ненагруженным резервом. Имеем:

Определим среднее время безотказной работы системы с ненагруженным резервом.

где  - эйлеров интеграл второго рода.

Известно, что

Тогда  

Для гамма - функции справедливы соотношения

 


Следовательно

  

Тогда

Получим формулу для частоты отказов . Имеем

.

Таким образом

Определим интенсивность отказов . Имеем

 или

1.25 Основные количественные характеристики надёжности при поэлементном резервировании замещением

l1 l2 li ln

Здесь n - число элементов основной (резервируемой) системы; m - кратность резервирования; li - интенсивность отказов элемента i - го типа основной системы.

Вероятность безотказной работы системы вычисляется по формуле

 

где - вероятность безотказной работы элемента i - го типа резервированного по способу замещения.

Холодный резерв

Тёплый резерв

где ;

Здесь l - интенсивность отказа резервного элемента i - го типа в режиме недогрузки до момента включения его в работу:

Холодный резерв

Тёплый резерв


1.26 Анализ надёжности систем при резервировании с дробной кратностью и постоянно включенным резервом

Определим количественные характеристики надёжности при постоянно включенном резерве. Резервированная система состоит из  отдельных систем. Для её нормальной работы необходимо, чтобы исправными были не менее чем h систем. Кратность

1 l0 резервирования такой системы равна:

2 l0

3  l0 Допущения:

1) Отказы элементов удовлетворяют условиям простейшего потока случайных событий;

2) Переключающие устройства идеальны.

3) Основные и все резервные системы равнонадёжны.

Эти допущения означают, что для любой отдельно взятой системы справедлив экспоненциальный закон надёжности, причём все резервные элементы находятся в рабочем состоянии с момента включения резервированной системы в работу.

Резервированная указанным способом система будет работать нормально при следующих возможных ситуациях:

- ни одна из систем не отказала

- отказала одна система

- отказали две системы

- отказали  - h систем

Принимая указанные ситуации за гипотезы, вероятность безотказной работы можно записать в виде  (1.10)

где - гипотеза, заключающаяся в том, что резервированная система работает исправно при отказе i - любых систем; P() - вероятность появления гипотезы ; - h - число резервных систем.

Отказы отдельных систем являются событиями независимыми, происходящими при одинаковых условиях работы отдельных систем. В этом случае к приведённым гипотезам применима частная теорема о повторении опытов, и вероятности гипотез подчинены биномиальному распределению:

  (1.11)

где P0 - вероятность безотказной работы одной системы; - вероятность отказа одной системы.

Подставляя (1.11) в (1.10), получим

 (1.12)

Так как

 то  (1.13)

Или  (1.14)

где - вероятность безотказной работы резервированной системы.

При принятых допущениях

где - интенсивность отказов любой одной из  систем.

Определим среднее время безотказной работы системы.

Имеем:

Введём обозначение

.

Определим J. Имеем:

 

Тогда выражение для определения  примет вид:

.

Или  (1.15)

Получим выражение частоты отказов . Имеем

 (1.16)


Получим выражение интенсивности отказов системы . Имеем

 (1.17)


2. НАДЁЖНОСТЬ РЕМОНТИРУЕМЫХ (ВОССТАНАВЛИВАЕМЫХ) ИЗДЕЛИЙ

2.1 Надёжность системы с восстановлением

Восстанавливаемую систему целесообразно рассматривать как систему массового обслуживания, в которой поток заявок на обслуживание представляет собой поток отказов аппаратуры. Каналами обслуживания являются ремонтные бригады, восстанавливающие работоспособность аппаратуры.

Будем считать, что поток заявок на обслуживание - пуассоновский.

Поток восстановлений - также пуассоновский.

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

Имеем нерезервированную восстанавливаемую систему, состоящую из одного элемента. Система находится под действием пуассоновского потока отказов с интенсивностью l. После отказа система начинает немедленно восстанавливаться (ремонтироваться). Поток восстановлений - пуассоновский с интенсивностью m.

В любой момент времени система может находиться в одном из двух состояний:

- состояние работоспособности,

- состояние отказа (ремонта),

- вероятность нахождения системы в состоянии ,

- вероятность нахождения системы в состоянии .

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

 Функция готовности совпадает с вероятностью работоспособного состояния , т.е.

=.

Функция простоя совпадает с вероятностью отказа, т.е.

= .

Составим систему дифференциальных уравнений Колмогорова. Имеем

 

 (2.1)

Предположим, что при t = 0 система находилась в работоспособном состоянии , т.е.

Для любого момента времени t имеем

 (2.2)


Из двух уравнений (2.1) одно является лишним, т.к. и связаны соотношением (2.2). Учитывая это, отбросим второе уравнение, а в первое уравнение вместо  подставим 1 - . Имеем:

или  (2.3)

Будем искать решение уравнения при ненулевых начальных условиях.

Запишем решение уравнения (2.3). Имеем:

 

или  

 

Таким образом

Определим . Имеем:

Таким образом:

При длительной эксплуатации, т.е. при t ® ¥ имеем:

 

где - коэфициент готовности системы, - коэфициент простоя системы.

Учитывая, что

, .

где - среднее время безотказной работы системы;

- среднее время восстановления (ремонта) системы,

имеем

; ;

, ;

Таким образом, коэффициент готовности характеризует долю времени, в течении которого система работоспособна. Коэффициент простоя характеризует долю времени, в течении которого система ремонтируется.

Определим коэффициент готовности и коэффициент простоя системы, содержащей основной и n - 1 резервных элементов, находящихся в нагруженном режиме. Отказавшие элементы образуют очередь на ремонт, который осуществляется одной бригадой с интенсивностью m. Интенсивность отказа любого элемента равна l.

Введём в рассмотрение состояния , , ………., :

- работоспособны все n элементов

- отказал один элемент, остальные работоспособны

- отказали два элемента, остальные исправны

- отказали i элементов, остальные исправны

…………………………………………………….

- отказала вся система, т.е. отказали все n элементов.

Построим граф состояния системы.

Составим систему дифференциальных уравнений Колмогорова. Имеем:

 

 

 

 ……………………………………….

где - вероятность нахождения системы в момент времени t в состоянии , i = 0,1…, n

В установившемся режиме имеем:

;

;

В результате получим систему алгебраических уравнений вида:

Из системы алгебраических уравнений имеем:

Для вероятностей состояний справедливо следующее соотношение

;

Определим . Имеем:

.

;


или

Отсюда

Коэффициент готовности:

 


3. НАДЁЖНОСТЬ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Исследования в области программной надёжности находятся на начальном этапе своего развития.

Целесообразно выделить две стороны программного обеспечения объекта: программную надёжность объекта - свойство объекта выполнять заданные функции, обусловленные качеством программного обеспечения; надёжность программного обеспечения - свойство программного обеспечения выполнять предписанные ему требования.

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

Надёжность программного обеспечения характеризует качественное состояние программы. Её иногда называют правильностью программы, корректностью программы, надёжностью программы.

Программная надёжность объекта - это то, что интересует его потребителя. Для её обеспечения необходимо, чтобы программа была “правильной”, “корректной”, “надёжной”, т.е. чтобы она не содержала ошибок. Может оказаться, что некоторые из ошибок совсем не проявятся при работе объекта или, наоборот, при работе объекта обнаружатся дополнительные несовершенства (“ошибки”) программы. Однако очевидно, что необходимым условием надёжной работы объекта является “корректность” программ, т.е. отсутствие в них ошибок.

 Программная надёжность становится особо актуальной, когда программы являются самостоятельным изделием. В этом случае они изготовляются, проверяются и подвергаются приёмосдаточным испытаниям так же, как обычные объекты.

Положения о двух сторонах надёжности программного обеспечения полезно иметь в виду при исследовании надёжности программно-управляемых объектов.

3.1 Сравнительные характеристики программных и аппаратурных отказов

Программные отказы изделия и аппаратурные отказы имеют много общего, но во многом существенно различаются. Общее между ними:

а) невыполнение объектом заданных функций;

б) времена до отказов и времена устранения отказов носят случайный характер;

в) методы обработки статистических данных об отказах одинаковы, а потому статистические оценки показателей надёжности аппаратурной и программной, полученные по результатам испытаний и эксплуатации, могут быть одинаковыми по своему названию: средняя наработка объекта на программный отказ, интенсивность программных отказов объекта и т.д. Возможны и объединённые (комплексные) оценки: средняя наработка объекта на программный и аппаратурный отказ и т.п.

Вместе с тем отказы программные существенно отличаются от отказов аппаратурных:

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

б) обнаружение и устранение аппаратурного отказа (заменой отказавшего элемента исправным) не означает, что такой же отказ не повторится при дальнейшей работе изделия, а обнаружение и устранение отказа программного (исправление программы) означает, что такой отказ в дальнейшем не повторится;

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

г) прогнозировать возникновение аппаратурных отказов сравнительно легко, а прогнозировать возникновение отдельных программных отказов трудно, а часто и невозможно. Для отдельных программных отказов трудно предвидеть время, когда они становятся действующими, а когда-недействующими;

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


3.2 Проверка и испытания программ

Испытания программ на надёжность и испытания изделий на надёжность их программного обеспечения - обязательные этапы при проверке надёжности систем.

Испытания с целью проверки надёжности программ осуществляются с помощью специальных программ (тестирование) и специальных (имитационных) стендов. Проверяется при этом степень отработанности программы и её соответствие заданным требованиям.

Испытания с целью проверки надёжности изделий, работающих под управлением программ, осуществляются при совместной работе программы и изделия. Проверяются при этом и степень отработанности программы в соответствии с заданными требованиями, и корректность этих требований, и согласованность взаимодействий программы и аппаратуры.

Степень отработанности программы может проверяться различными методами. Чем выше требование к достоверности проверки, тем более сложен метод проверки.

Рассмотрим один из наиболее простых методов. В процессе проверки “корректности” программы (с помощью наблюдений за работой либо изделия, либо имитирующего устройства, либо на специальном стенде с помощью тестов) фиксируются времена обнаружения ошибок в программе. Результаты проверки обрабатываются при следующих предположениях: 1) ошибки программы независимы. Каждый раз после обнаружения они устраняются и в дальнейшем не проявляются. 2) интенсивность ошибок уменьшается по мере их обнаружения и устранения (ступенчато, как показано на рисунке 3.1).

Выявление и устранение ошибок производится до тех пор, пока значение  будет меньше заданного значения. Заданное значение  назначается с учётом требований к надёжности изделия. Ориетировочно можно исходить из того, что интенсивность программных ошибок, приводящих к отказу, на этапе отладочных испытаний должна быть не больше интенсивности аппаратурных отказов.

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

Влияние программных ошибок на надёжность изделия должно непрерывно уменьшаться с каждым новым этапом освоения программ (разработка - отладка - опытная эксплуатация - нормальная эксплуатация) так, чтобы на этапе нормальной эксплуатации объекта программная надёжность его была на уровне заданных требований.

3.3 Основные проблемы исследования надёжности программного обеспечения

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

1. Совокупность автономно, паралельно работающих технических схем и устройств - аппаратная часть.

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

При общем анализе характеристик технической системы (её надёжности) следует учитавать, что если аппаратная часть жестко задана, неизменна и её надёжность может быть обеспечена на требуемом уровне, то программная часть в каждом отдельном случае может иметь ряд модификаций, является достаточно гибкой, изменяемой частью технической системы и в обеспечении совокупной надёжности системы определяет наибольшее количество ошибок. Авторы [19] считают, что в настоящее время около половины отказов сложных вычислительных систем обусловлено ошибками программ, а с ростом надёжности элементной базы (ИС, БИС) число откзов, связанных с математическим обеспечением, возрастает до 90% от общего числа отказов.

К основным проблемам исследования надёжности программного обепеспечения (ПО) относится:

1. Разработка методов оценки и прогнозирования надёжности ПО на основе совокупности количественных показателей и характеристик, идентичных показателям аппаратурной надёжности.

2. Определение факторов, влияющих на достижение заданного уровня надёжности ПО.

3. Разработка методов, обеспечивающих достижение заданного уровня надёжности ПО.

4. Совершенствование методов повышения надёжности ПО в процессе проектирования и эксплуатации.

 Эффективный способ повышения надёжности ПО - использование методов структурного проектирования программ, так как в зависимости от структуры ПО последствия отдельных ошибок могут быть легко обнаружены, локализованы и исправлены на некотором небольшом участке программы либо распространиться на другие уровни и модули ПО.

3.4 Критерии оценки надёжности программных изделий

Всё множество различных показателей надёжности программных систем можно разбить на две большие группы:

1. Количественные показатели надёжности ПО.

2. Качественные показатели надёжности ПО.

Не рассматривая качественные характеристики надёжности, которые достаточно подробно исследованы в [20, 21], остановимся более подробно на возможности использования количественных показателей для оценки и прогнозирования надёжности ПО.

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

Можно выделить следующие характеристики и количественные показатели надёжности ПО:

1. Безотказность. Говоря о безотказности ПО, характеризующей способность ПО выполнять заданные функции в заданных условиях эксплуатации технической системы, будем считать, что отказ программы - это результат проявления скрытой ошибки. Следует иметь в виду, что входные данные и данные создаваемые программой, не являются элементами ПО, поскольку их надёжность связана с работой внешних устройств и аппаратной части системы. Только константы, вводимые программистом, считаются частью ПО.

Для невосстанавливаемых в ходе эксплуатации программ обобщённой характеристикой надёжности (безотказности) является вероятность безотказной работы P(t), характеризующая вероятность того, что за время t отказа не произойдёт:

P(t) = P(T ³ t) = 1 - q(t); (3.2)

где T - время работы ПО до отказа или наработка ПО до отказа (T - случайная величина); q(t) - вероятность отказа ПО.

Из (3.2) можно определить функцию интенсивности отказов:

; (3.3)

Среднее время наработки до наступления отказа (среднее время безотказной работы) определяется как математическое ожидание временного интервала между двумя последовательными нарушениями работоспособности ПО:

 (3.4)

Для экспоненциального закона распределения отказов:

;  (3.5)

Поскольку программы имеют явно выраженные производственные циклы работы, то наработка программы может быть выражена либо через календарное время, либо через машинное время, либо через количество отработанных операторов, решённых задач и т.п.

Один из способов оценки - наблюдение за поведением программы в определённый временной период. Тогда величину среднего времени между отказами (сбоями) ПО можно определить так:

 (3.6)

где H - общее количество часов успешного прогона программы, определяемое по формуле:

; (3.7)

где - время непрерывного прогона в часах безошибочной работы ПО;

n - общее количество прогонов ПО; r - количество прогонов ПО без ошибок; l = n -r - количество прогонов с ошибками; - время прогона в часах до проявления ошибки ПО.

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

 (3.8)

 (3.9)

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

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

; (3.10)

; (3.11)

где H(t) - среднее число отказов за время t; - среднее время наработки между двумя отказами.

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

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

Показатели устойчивости - это показатели безотказности, но с использованием условных вероятностей. Условием, при котором вычисляются вероятности, является отказ (сбой) в программе или аппаратуре.

Для невосстанавливаемых (некорректируемых) программ обобщённым показателем устойчивости служит условная вероятность безотказной работы:

 (3.12)

где P(A) - вероятность ошибки (сбоя) программы или отказа аппаратуры.

Безотказность и устойчивость - динамические характеристики, то есть они характеризуют надёжность ПО в процессе работы.

3. Корректируемость. Этот показатель надёжности ПО аналогичен показателю ремонтопригодности радиоэлектронной аппаратуры, характеризует приспособленность ПО к поиску и устранению ошибок и внесению в него изменений в ходе эксплуатации. Он используется для характеристики восстанавливаемых в ходе эксплуатации программ. Показатели корректируемости: время корректировки , вероятность корректировки программы за заданное время , коэффициент готовности , параметр потока корректировок .

4. Защищённость и долговечность. Дополнительными характеристиками надёжности ПО являются: показатель защищённости от посторонних вмешательств в работу ПО и показатель долговечности, характеризующий свойства программ избегать морального старения при длительном использовании. Защищённость характеризуется вероятностью внесения искажений при постороннем вмешательстве, а долговечность - временем отказа ПО вследствие морального старения.

В зависимости от условий применения ПО можно выделить три режима (типа) его работы:

1. Программа не корректируется, и любой отказ является полным, т.е. после отказа ПО не восстанавливается. Основные показатели надёжности для этого режима работы программ - безотказность, устойчивость и защищённость.

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

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

3.5 Критерии надёжности сложных комплексов программ

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

Оценка достоверности результатов и надёжности функционирования комплекса программ представляет собой сложную задачу из-за “проклятия размерности”. Естественным становится статистический подход к анализу надёжности функционирования и статистическая оценка достоверности результатов. Качество отладки определяется интенсивностью (частостью) отказов и значениями ошибок в выходных результатах, полученными за счёт невыявленных ошибок в программах и искажений исходных данных. Интенсивность (частость) отказов в комплексе программ иначе называется как частость проявления ошибок в комплексе программ.

Точное определение полного количества ошибок в программе прямыми методами измерения невозможно. Имеются только косвенные пути статистической оценки их полного количества. Такие оценки базируются на построении математических моделей в предположении жёсткой корреляции между общим количеством и проявлениями ошибок в комплексе программ после его отладки в течении времени t, т.е. между следующими параметрами:

суммарным количеством ошибок в комплексе программ,

количеством ошибок, выявляемых в единицу времени dn/dt в прцессе тестирования и отладки при постоянных усилиях на их проведение;

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

3.6 Математические модели надёжности комплексов программ

Математические модели позволяют оценивать характеристики ошибок в программах и прогнозировать их надёжность при проектировании и эксплуатации. Модели имеют вероятностный характер, и достоверность прогнозов зависит от точности исходных данных и глубины прогнозирования по времени. Эти математические модели предназначены для оценки:

- показателей надёжности комплексов программ в процессе отладки;

- количества ошибок, оставшихся невыявленными;

- времени, необходимого для обнаружения следующей ошибки в функционирующей программе;

- времени, необходимого для выявления всех ошибок с заданной вероятностью.

Использование моделей позволяет эффективно и целеустремлённо проводить отладку и испытания комплексов программ, помогает принять рациональное решение о времени прекращения отладочных работ.

В настоящее время предложен ряд математических моделей, основными из которых являются:

- экспоненциальная модель изменения ошибок в зависимости от времени отладки;

- модель, учитывающая дискретно - понижающуюся частоту появления ошибок как линейную функцию времени тестирования и испытаний;

- модель, базирующаяся на распределении Вейбула;

- модель, основанная на дискретном гипергеометрическом распределении.

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

1. Любые ошибки в программе являются независимыми и проявляются в случайные моменты времени.

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

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

4. Ошибка, являющаяся причиной искажения результатов, фиксируется и исправляется после завершения тестирования либо вообще не обнаруживается.

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

Предположим, что в начале отладки комплекса программ при t = 0 в нём содержалось ошибок. После отладки в течении времени t осталось ошибок и устранено n ошибок (+ n = ). При этом время t соответствует длительности исполнения программ на вычислительной системе (ВС) для обнаружения ошибок и не учитывает простои машины, необходимые для анализа результатов и проведения корректировок.

Интенсивность обнаружения ошибок в программе dn/dt и абсолютное количество устранённых ошибок связываются уравнением

 (3.13)

где k - коэффициент.

Если предположить, что в начале отладки при t = 0 отсутствуют обнаруженные ошибки, то решение уранения (3.13) имеет вид

 (3.14)

Количество оставшихся ошибок в комплексе программ

пропорционально интенсивности обнаружения dn/dt с точностью до коэффициента k.

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

 (3.15)

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

 (3.16)

Если известны моменты обнаружения ошибок  и каждый раз в эти моменты обнаруживается и достоверно устраняется одна ошибка, то, используя метод максимального правдоподобия, можно получить уравнение для определения значения начального числа ошибок :

 (3.17)

а также выражение для расчёта коэффициента пропорциональности

 ; (3.18)

В результате можно рассчитать число оставшихся в программе ошибок и среднюю наработку на отказ Tср = 1/l , т.е. получить оценку времени до обнаружения следующей ошибки.

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

; (3.19)

Выражение для определения затрат времени Dt на проведение отладки, которые позволяют устранить Dn ошибок и соответственно повысить наработку на отказ от значения до, имеет вид:

 (3.20)

Вторая модель построена на основе гипотезы о том, что частота проявления ошибок (интенсивность отказов) линейно зависит от времени испытания  между моментами обнаружения последовательных i - й и (i - 1) - й ошибок.

, (3.21)


где - начальное количество ошибок; K - коэффициент пропорциональности, обеспечивающий равенство единице площади под кривой вероятности обнаружения ошибок.

Для оценки наработки на отказ получается выражение, соответствующее распределению Релея:

 (3.22)

где .

Отсюда плотность распределения времени наработки на отказ

. (3.23)

Использовав функцию максимального правдоподобия, получим оценку для общего количества ошибок и коэффициента K.

 (3.24)

 (3.25)

Особенностью третьей модели является учёт ступенчатого характера изменения надёжности при устранении очередной ошибки. В качестве основной функции рассматривается распределение времени наработки на отказ P(t). Если ошибки не устраняются, то интенсивность отказов является постоянной, что приводит к экспоненциальной модели для распределения:

 

Отсюда плотность распределения наработки на отказ T определяется выражением:

 

где t > 0, l > 0 и 1/l - среднее время наработки на отказ, т.е. Тср=1/l. Здесь Тср - среднее время наработки на отказ.

Для аппроксимации изменения интенсивности от времени при обнаружении и устранении ошибок используется функция следующего вида:

;

Если 0 < b < 1, то интенсивность отказов снижается по мере отладки или в процессе эксплуатации. При таком виде функции l(t) плотность функции распределения наработки на отказ описывается двухпараметрическим распределением Вейбулла:

.

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


3.7 Проверка математических моделей

Обоснование приведённых математических моделей приведено в ряде работ, в которых наибольшее внимание уделялось проверке первой и второй моделей. Контролировались и обрабатывались экспериментальные данные интенсивности обнаружения ошибок dn/dt на фиксированном интервале времени, количества обнаруженных ошибок n или наработки на отказ T в зависимости от времени функционирования программ на вычислительной системе. Характеристики, полученные расчётами с использованием математических моделей, сопоставлялись с полученными экспериментальными значениями и применялись для прогнозирования показателей с последующим анализом отклонений от экспериментальных данных.

Пример анализа первой модели приведён на рис. 3.3. Определялся и прогнозировался интервал времени между последовательными отказами при непрерывном

Для оценки достоверности моделей анализировалось количество ошибок n, выявленное при функционировании комплексов программ в течении времени t [см. (3.14)]. Значения и K определялись методом максимального правдоподобия для каждого из 16 исследованных вариантов создания больших программ. Пример изменения количества выявленных ошибок в зависимости от времени функционирования одного комплекса программ представлен на рис. 3.4. Из графика следует, что первая модель [см. (3.14)] хорошо аппроксимирует количество ошибок во всём исследованном интервале времени. При значениях n > 288 отклонение реального количества обнаруженных ошибок от расчётного составляет 21%.


ЛИТЕРАТУРА

1. Надёжность автоматизированных систем управления. / Под редакцией Я.А. Хетагурова.- М.: Высшая школа, 1979 - 287с.

2. Половко А.М. Основы теории надёжности. - М.: Наука, 1964 - 446с.

3. Голинкевич Т.А. Прикладная теория надёжности. - М.: Высшая школа, 1985 - 168с.

4. Маликов И.М. Надёжность судовой электронной аппаратуры и систем автоматического управления. - Л.: Судостроение, 1967 - 315с.

5. Шишонок Н.А. и др.Основы теории надёжности и эксплуатации радиоэлектронной техники. - М.: Советское радио, 1964 - 551с.

6. Шор Я.Б. Статистические методы анализа и контроля качества и надёжности. - М.: Советское радио, 1962 - 552с.

7. Росин М.Ф., Булыгин В.С. Статистическая динамика и теория эффективности систем управления. - М.: Машиностроение, 1981 - 312с.

8. Вероятностные методы в вычислительной технике. - М.: Высшая школа, 1986 - 312с.

9. Яншин А.А. Теоретические основы конструирования, технологии и надёжности ЭВА. - М.: Радио и связь, 1983 - 312с.

10. Рудзит Я.А., Плуталов В.Н. Основы метрологии, точность и надёжность в приборостроении. - М.: Машиностроение, 1991 - 303с.

11. Саяпин В.В. Конспект лекций по курсу Основы теории надёжности”. - М.: МВ и ССО СССР, МАИ, 1971 - 142с.

12. Дружинин Г.В. Надёжность автоматизированных производственных систем. - М.: Энергоатомиздат, 1986 - 479с.

13. Липаев В.В. Надёжность программного обеспечения АСУ. - М.: Энергоиздат, 1981 - 240с.

14. Шураков В.В. Надёжность программного обеспечения систем обработки данных. - М.: Финансы и статистика, 1987 - 271с.

15. Садчиков П.И., Приходько Ю.Г. Методы оценки надёжности и обеспечения устойчивости функционирования программ. - М.: Знание, 1983 - 102с.

16. Сборник задач по теории надёжности./ Под редакцией А.М. Половко и И.М. Маликова. - М.: Советское радио, 1972 - 407с.

17. Теория надёжности радиоэлектронных схем в примерах и задачах. - М.: Энергия, 1976 - 448с.

18. Снегирёв А.А. Сборник задач по надёжности САУ. - М.: МВ и ССО СССР, МИФИ, 1978 - 87с.

19. Тейер Т., Липов М., Нельсон Э. Надёжность программного обеспечения. - М.: Мир, 1981 - 325с.

20. Майерс Г. Надёжность программного обеспечения. - М.: Мир, 1980 - 360с.

21. Гласс Р. Руководство по надёжному программированию. - М.: Финансы и статистика, 1982 - 256с.


Страницы: 1, 2, 3


© 2010 САЙТ РЕФЕРАТОВ