Надёжность программного обеспечения. Обзор программных комплексов по расчету надежности сложных технических систем Расчет надежности программной части
Введение
Описание предметной области
1 Модель Шумана
2 Модель Миллса
3 Модель Джелинского-Моранды
4 Модель Липова
5 Постановка задачи
Технология разработки приложения
1 Алгоритм решения
2. Макет приложения
2.1 Макет приложения. Модель Шумана (tabPage1)
2.2 Макет приложения. Модель Джелинского-Моранды(tabPage3)
2.3 Макет приложения. Модель Миллса(tabPage5)
2.4 Макет приложения. Модель Липова(tabPage4)
3 Описание программы
3.5 Сохранение результатов
Руководство пользователя
Заключение
Реферат
Программа для расчета надежности программного обеспечения
Ключевые слова:
надежность, модели, эффективность, программное обеспечение, шуман, миллс, моранда, липов.
Цель работы:
Проектирование и разработка программы для определения надежности тестируемого ПО различными моделями с использование языка C# и VisualStudio 2013.
Объект исследования:
модели надежности программного обеспечения
Предмет исследования:
Программа на языке C#
Введение
Такой фактор как "надежность программного обеспечения" всегда играл, играет и будет играть ключевую роль в разработке любого программного продукта. Что же такое "надежность ПО?" Ответ очень прост - это свойство системы выполнять заданные функции, сохраняя во времени значения установленных эксплуатационных показателей в заданных пределах, соответствующих заданным режимам и условиям исполнения. Каждый разработчик стремится сделать свою программу максимально надежной, эффективной и безотказной. К сожалению, полностью исключить факт сбоя или ошибки в настоящий момент не представляется возможным, хотя каждый день в этом направлении ведется работа. Но, представляется возможным рассчитать вероятность возникновения ошибок в программе вследствие тестирования ее на различных математических моделях надежности. Для того чтобы знать, на сколько надежна программа, ее необходимо протестировать и не раз. В соответствии с поставленной целью были сформулированы следующие задачи: ) Провести предметный анализ в области ) Разработать необходимую программу ) Выполнить программную реализацию ) Провести тестирование приложения ) Определить эффективность разработанной программы ) Записать и проанализировать результаты Объектом исследования является метод расчета стоимости разработки ПО. Предметом исследования является программа на платформе VisualStudio на языке C#. В международном стандарте ISO 9126:1991 надежность выделена как одна из основных характеристик качества программного обеспечения ПО. Стандартный словарь терминов программного обеспечения как способность системы или компонента выполнять требуемые функции в заданных условиях на протяжении указанного периода времени. Сама проблема надежности программного обеспечения имеет, по крайней мере, два аспекта: обеспечение и оценка (измерение) надежности. Практически вся имеющаяся литература посвящена первому аспекту, а вопрос оценки надежности компьютерных программ недостаточно проработан. Вместе с тем очевидно, что надежность программы гораздо важнее таких традиционных ее характеристик, как время исполнения или требуемый объем оперативной памяти, однако никакой общепринятой количественной меры надежности программ до сих пор не существует. Модели надежности программных средств подразделяются на аналитические и эмпирические. Аналитические модели дают возможность рассчитать количественные показатели надежности, основываясь на данных о поведении программы в процессе тестирования. Эмпирические модели базируются на анализе структурных особенностей программ. Аналитические модели представлены двумя группами: динамические и статические. В динамических моделях поведение ПО (появление отказов) рассматривается во времени. Если фиксируются интервалы каждого отказа, то получается непрерывная картина появления отказов во времени. Может фиксироваться только число отказов за произвольный интервал времени. В этом случае поведение ПО может быть представлено только в дискретных точках.
1. Описание предметной области
.1 Модель Шумана
Модель Шумана строится на основе нескольких критериев: ¾общее число команд в программе на машинном языке постоянно;
¾в начале компоновочных испытаний число ошибок равно некоторой постоянной величине, и по мере исправления ошибок их становится меньше. В ходе испытаний программы новые ошибки не вносятся;
¾ошибки изначально различимы, по суммарному числу исправленных ошибок можно судить об оставшихся;
¾интенсивность отказов программы пропорциональна числу остаточных ошибок.
Предполагается, что до начала тестирования (т.е. в момент t=0) имеется M ошибок. В течение времени тестирования τ обнаруживается ε1(t) ошибок в расчете на одну команду в машинном языке.
Тогда удельное число ошибок на одну машинную команду, оставшихся в системе после времени тестирования τ, равно:
где I - общее число машинных команд, которое предполагается постоянным в рамках этапа тестирования. Предполагается, что значение функции количества ошибок Z(t) пропорционально числу ошибок, оставшихся в программе после израсходованного на тестирование времени τ.
Z (t) = C * ε2 (τ),
где С - некоторая постоянная, t - время работы программы без отказов. Тогда, если время работы программы без отказа t отсчитывается от точки t = 0, а τ остается фиксированным, функция надежности, или вероятность безотказной работы на интервале от 0 до t, равна
Нам необходимо найти начальное значение ошибок M и коэффициент пропорциональности С. Эти неизвестные оцениваются путем пропуска функционального теста в двух точках переменной оси отладки ta и tв, выбранных так, что ε1(ta)<ε1(td).
В процессе тестирования собирается информация о времени и количестве ошибок на каждом прогоне, т.е. общее время тестирования τ складывается из времени каждого прогона:
τ = τ1 + τ2 + τ3 + … + τn.
Предполагая, что интенсивность появления ошибок постоянна и равна λ, можно вычислить ее как число ошибок в единицу времени,
Тогда
Имея данные для двух различных моментов тестирования ta и tв, можно сопоставить уравнения (3) при τa и τb:
Из соотношений (6) и (7) найдем неизвестный параметр С и М:
Пример 1
.
Программа содержит 2 000 командных строк, из них, до начала эксплуатации (после периода отладки), 15 командных строк содержат ошибки. После 20 дней работы обнаружена 1 ошибка. Найти среднее время безошибочной работы программы и интенсивность отказов программы при коэффициенте пропорциональности, равном 0,7. I=2000=15=20=1=0,7
E1(t)=0,00052(t)=0,007(t)=0,906649ср=204,0816
λ=0,0049 - интенсивность отказов
Пример 2.
На условиях примера 1 определить вероятность безошибочной работы программы в течение 90 суток. I= 2000= 15= 90= 1= 0,7(t)= 0,643393 Пример 3
.
Определить первоначальное количество возможных ошибок в программе, содержащей 2 000 командных строк, если в течение первых 60 суток эксплуатации было обнаружено 2 ошибки, а за последующие 40 суток была обнаружена одна ошибка. Определить T0
- среднее время безошибочной работы, соответствующее первому и второму периоду эксплуатации программы и коэффициент пропорциональности.
I= 20001= 60 суток2= 100 суток1= 2 ошибок2= 3 ошибок0= 30,333333
λ1= 0,033333
λ2= 0,03= 6,6666671(t1)= 0,0012(t2)= 0,0015= 12
Л2/Л1= 0,9
1.2 Модель Миллса
алгоритм тестирование шуман миллс Использование этой модели предполагает необходимость перед началом тестирования искусственно "засорять" программу, т.е. вносить в нее некоторое количество известных ошибок. Ошибки вносятся случайным образом и фиксируются в протоколе искусственных ошибок. Специалист, проводящий тестирование, не знает ни количества, ни характера внесенных ошибок до момента оценки показателей надежности по модели Миллса. Предполагается, что все ошибки (как естественные, так и искусственно внесенные) имеют равную вероятность быть найденными в процессе тестирования. Тестируя программу в течение некоторого времени, собирают статистику об ошибках. В момент оценки надежности по протоколу искусственных ошибок все ошибки делятся на собственные и искусственные. Соотношение, называемое формулой Миллса,
Дает возможность оценить первоначальное число ошибок в программе N. Здесь S - количество искусственно внесенных ошибок; n - число найденных собственных ошибок; V - число обнаруженных к моменту оценки искусственных ошибок.
1.3 Модель Джелинского-Моранды
Основное положение, на котором базируется модель, заключается в том, что в процессе тестирования ПО значение интервалов времени тестирования между обнаружением двух ошибок имеет экспоненциальное распределение с интенсивностью отказов, пропорциональной числу еще не выявленных ошибок. Каждая обнаруженная ошибка устраняется, число оставшихся ошибок уменьшается на единицу. Функция плотности распределения времени обнаружения i-й ошибки, отсчитываемого от момента выявления (i - 1)-й ошибки, имеет вид
Где - интенсивность отказов, которая пропорциональна числу еще не выявленных ошибок в программе: Где N - число ошибок, первоначально присутствующих в программе; С - коэффициент пропорциональности. Наиболее вероятные значения величин N и С определяются на основе данных, полученных при тестировании. Для этого фиксируют время выполнения программы до очередного отказа t1,t2,t3,…,tk. Значения N и С можно получить, решив систему уравнений
Чтобы получить числовые значения λ, нужно подставить вместо N и С их возможные значения N и C . Рассчитав К значений по формуле (5) и подставив их в выражение (4), можно определить вероятность безотказной работы на различных временных интервалах.
1.4 Модель Липова
Липов модифицировал модель Миллса, рассмотрев вероятность обнаружения ошибки при использовании различного числа тестов. Если сделать то же предположение, что и в модели Миллса, т.е что собственные и искусственные ошибки имеют равную вероятность быть найденными, то вероятность обнаружения n собственных и V внесенных ошибок
Где m - количество используемых тестов, q - вероятность обнаружения ошибки в каждом из m тестов, рассчитанная по формуле
S - общее количество искусственно внесенных ошибок; N - количество собственных ошибок, имеющихся в ПО до начала тестирования.
.5 Постановка задачи
Название приложения: Программа расчета надежности программного обеспечения. Назначение разработки: Исходя из введенных пользователем данных, рассчитать основные показатели надежности программного продукта. Входные данные вводятся в специальные поля. После обработки данных, программа выводить результаты в соответствующих полях вывода. Для корректной работы программы все поля должны быть заполнены. По умолчанию в некоторых моделях установлены постоянные значения коэффициентов пропорциональности. Для реализации данной программы мы используем язык программирования C#, на платформе Visual Studio. Системные требования к ПК: ) Операционная система Windows 7 или выше. ) Свободное место на жестком диске: 5МБ и более. ) Наличие Net Framework 4.0 или выше. ) Оперативная память: 128МБ и выше. ) Клавиатура и мышь.
2. Технология разработки приложения
.1 Алгоритм решения
В самом начале выполнения программы появляется форма, где пользователю предлагается заполнить соответствующие поля необходимыми для расчета данными. В начале выполнения программы производится проверка полноты и корректности введенных данных. Если пользовательские данные не прошли проверку - выводится соответствующее уведомление. После успешно пройденной проверки на корректность и полноту, программа начинает производить вычисления. Программа считывает данные, заполненные в специальных полях и производит расчет по формулам. После этого результаты выводятся в специально отведенные окна, а выполнение программы прекращается. .2.1 Макет приложения. Модель Шумана (tabPage1)
menuStrip1 - выводит список меню содержащий пункты "Сохранить результаты" и "Выход" tabPage1 - вкладка элемента tabControl1, содержащая в себе элементы: label49 - 54, label63 - 67, label 61, label59, label48, label62, label58, textBox14 - 19, groupBox4 label52 - принимает текстовое значение "Командных строк в программе" label51 - принимает текстовое значение "Строк содержащих ошибку" label50 - принимает текстовое значение "Дней работы" label49 - принимает текстовое значение "Ошибок за время работы" label58 - принимает текстовое значение "Исходные данные" label54 - принимает текстовое значение "Конечный результат" label61 - принимает сокращенное значение "КСП" label60 - принимает сокращенное значение "ССО" label59 - принимает сокращенное значение "ДР" label48 - принимает сокращенное значение "ОВР" label62 - принимает сокращенное значение "КП" textBox17 - получает значение введенных пользовательских данных в графу "Командных строк в программе" textBox15 - получает значение введенных пользовательских данных в графу "Строк содержащих ошибок" textBox16 - получает значение введенных пользовательских данных в графу "Дней работы" textBox14 - получает значение введенных пользовательских данных в графу "Ошибок за время работы" textBox18 - получает значение введенных пользовательских данных в графу "Коэффициент пропорциональности", по умолчанию установлено значение "1". textBox19 - служит для вывода результатов вычислений, произведенных по формуле Шумана. button5 - принимает текстовое значение "Очистить", а также отчищает все поля в данном блоке
2.2.2 Макет приложения. Модель Джелинского-Моранды(tabPage3)
tabPage3 - содержит все группы объектов, таких как label41-42, label45-46, label73-69, label19-14, textBox4, button3, textBox13-10, groupBox3. label41 - принимает текстовое значение "Число ошибок, первоначально находящихся в программе. label42 - принимает текстовое значение "Коэффициент пропорциональности" label45 - принимает текстовое значение "Количество ошибок спустя время" label46 - принимает текстовое значение "время обнаружения i ошибки" label73 - принимает текстовое значение "Результат" label69 - принимает текстовое значение "Исходные данные" label72 - принимает сокращенное значение "ЧОПНВП" label71 - принимает сокращенное значение "КП" label70 - принимает сокращенное значение "КОСВ" label15 - принимает сокращенное значение "ВОО" label14 - принимает текстовое значение "Конечный результат" Элементы label19 - label16 принимают одинаковые начальные текстовые значения "null" textBox10 - получает значение введенных пользовательских данных в графу "Число ошибок, первоначально находящихся в программе" textBox12 - получает значение введенных пользовательских данных в графу "Коэффициент пропорциональности" textBox11 - получает значение введенных пользовательских данных в графу "Количество ошибок спустя время" textBox13 - получает значение введенных пользовательских данных в графу "Время обнаружения ошибки" textBox4 - служит для вывода результатов вычислений, произведенных по формуле Джелинского-Моранды. button3 - принимает текстовое значение "Очистить", а также отчищает все поля в данном блоке
2.2.3 Макет приложения. Модель Миллса(tabPage5)
tabPage5 - содержит группы объектов, label9-1, textBox3-1, groupBox1, button1, label13, label44. label2 - принимает текстовое значение "Количество искусственно внесенных ошибок" label3 - принимает текстовое значение "Число собственных найденных ошибок" label4 - принимает текстовое значение "Число обнаруженных к моменту оценки искусственных ошибок" label5 - принимает текстовое значение "Результат" label9 - принимает текстовое значение "Исходные данные" label13 - принимает текстовое значение "Конечный результат" label6 - принимает сокращенное значение "КИВО" label7 - принимает сокращенное значение "ЧОНО" label8 - принимает сокращенное значение "ЧОКМОИО" label10 - первоначально получает пустое значение, а после получает значения графы "Количество искусственно внесенных ошибок" label11 - первоначально получает пустое значение, а после получает значения графы "Число собственных найденных ошибок" label12 - первоначально получает пустое значение, а после получает значения графы "Число обнаруженных к моменту оценки искусственных ошибок" label44 - получает и выводит результат вычислений по формуле Миллса button1 - принимает текстовое значение "Очистить", а также отчищает все поля в данном блоке. textBox1 - -получает значение введенных пользовательских данных в графу "Количество искусственно внесенных ошибок" textBox2 - получает значение введенных пользовательских данных в графу "Число собственных найденных ошибок" textBox3 - получает значение введенных пользовательских данных в графу "Число обнаруженных к моменту оценки искусственных ошибок"
2.2.4 Макет приложения. Модель Липова(tabPage4)
tabPage4 - содержит группы объектов, label78-74, label84-97, label82, groupBox5, button4. label74 - принимает текстовое значение "Количество используемых тестов" label76 - принимает текстовое значение "Общее количество искусственно внесенных ошибок label77 - принимает текстовое значение "Количество собственных ошибок, до начала тестирования label78 - принимает текстовое значение "Количество внесенных ошибок к концу тестирования label86 - принимает текстовое значение "Результат" label82 - принимает текстовое значение "Исходные данные" label90 - принимает текстовое значение "Конечный результат" label91 - принимает текстовое значение "Вероятность обнаружения ошибки при использовании различного числа m тестов" label92 - получает и выводит результат вычислений по формуле Липова, начальное значение "null" label85 - принимает сокращенное значение "КИТ" label84 - принимает сокращенное значение "ОКИВО" label87 - принимает сокращенное значение "КСОДНТ" label88 - принимает сокращенное значение "КВОКТ" label89 - принимает сокращенное значение "КСОКТ" textBox20 - получает значение введенных пользовательских данных в графу "Количество используемых тестов" textBox22 - получает значение введенных пользовательских данных в графу "Общее количество искусственных внесенных ошибок" textBox23 - получает значение введенных пользовательских данных в графу "Количество собственных ошибок до начала тестирования" textBox24 - получает значение введенных пользовательских данных в графу "Количество внесенных ошибок к концу тестирования" textBox21 - получает значение введенных пользовательских данных в графу "Количество собственных ошибок к концу тестирования" button4 - принимает текстовое значение "Очистить", а также отчищает все поля в данном блоке.
2.3 Описание программы
.3.1 tabPage1
Иерархия классов using System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;System.IO; Используемые элементы:;;;;;; Обработчики событийvoid button5_Click(object sender, EventArgs e) В данной вкладке одна функция Функция Suman производит расчет по формуле Шумана и передает результат в соответствующий объект вывода, как изображено на рисунке 1.1 {(textBox20.Text == "") }(textBox22.Text == "") }(textBox23.Text == "") }(textBox21.Text == "") }(textBox24.Text == "") MessageBox.Show("Введите числовое значение!"); MessageBox.Show("Введите числовое значение!"); MessageBox.Show("Введите числовое значение!"); MessageBox.Show("Введите числовое значение!"); Результат работы вы можете видеть на рисунке 1.2
Рисунок 1.2 Расчет по модели Шумана
2.3.2 tabPage3
Иерархия классовSystem;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms; using System.IO; Используемые элементы: Обработчики событийvoid button3_Click(object sender, EventArgs e) В данной вкладке тоже одна функция Функция Moranda производит расчет по формуле Джелинского-Моранды и выводит результат public void Moranda(EventArgs e_Moranda) {(textBox11.Text == "") {.Show("Введите количество ошибок спустя время!", "Модель Джелинского-Моранды"); }(textBox13.Text == "") {.Show("Введите время обнаружения i-ошибки!", "Модель Джелинского-Моранды"); }(textBox12.Text == "") {.Show("Введите коэффициент пропорциональности!", "Модель Джелинского-Моранды"); }(textBox10.Text == "") {.Show("Введите число ошибок первоначально находящихся в программе!", "Модель Джелинского-Моранды"); }t10;(!int.TryParse(textBox10.Text, out t10)) MessageBox.Show("Введите числовое значение!"); int t12;(!int.TryParse(textBox12.Text, out t12)) MessageBox.Show("Введите числовое значение!"); int t13;(!int.TryParse(textBox13.Text, out t13)) MessageBox.Show("Введите числовое значение!"); int t11;(!int.TryParse(textBox11.Text, out t11)) MessageBox.Show("Введите числовое значение!"); {.Show("Ошибка:" + ex.Message); }lambda, C, N, i, P,t;= Double.Parse(textBox10.Text);= Double.Parse(textBox12.Text);= Double.Parse(textBox11.Text);= Double.Parse(textBox13.Text);= C * (N - i + 1);= lambda * Math.Exp(lambda * (-1) * t); textBox4.Text = " Функция плотности распределения времени обнаружения i-й ошибки, отсчитываемого от момента выявления:" + P. ToString(); label16.Text = N. ToString();.Text = C. ToString();.Text = i.ToString();.Text = t.ToString(); Результат работы виден на рисунке 1.3
Рисунок 1.3 Результат выполнения расчетов по модели Джелинского-Моранды
2.3.3 tabPage5
Используемые элементы:;;;;;; Обработчики событийvoid button1_Click(object sender, EventArgs e) В данной вкладке одна функция Функция Mills производит расчет по формуле Миллса и выводит результат public void Mills(EventArgs e_Mills) {(textBox1.Text == "") {.Show("Введите количество искусственно внесенных ошибок!", "Модель Миллса"); }(textBox2.Text == "") {.Show("Введите число собственных найденных ошибок!", "Модель Миллса"); }(textBox13.Text == "") {.Show("Введите число обнаруженных к моменту оценки искусственных ошибок!", "Модель Миллса"); }t1;(!int.TryParse(textBox1.Text, out t1)) MessageBox.Show("Введите числовое значение!"); int t2;(!int.TryParse(textBox2.Text, out t2)) MessageBox.Show("Введите числовое значение!"); int t3;(!int.TryParse(textBox3.Text, out t3)) MessageBox.Show("Введите числовое значение!"); {.Show("Ошибка:" + ex.Message); }S, n, V, N;= Double.Parse(textBox1.Text);= Double.Parse(textBox2.Text);= Double.Parse(textBox3.Text); N = (S * n) / V;.Text = "Первоначальное число ошибок в программе равно:" + N. ToString(); label10.Text = S. ToString();.Text = n.ToString(); label12.Text = V. ToString(); Результат выполнения вычислений по формуле Миллса хорошо видны на рисунке 1.4
2.3.4 tabPage4
Иерархия классовSystem;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;System.IO; Используемые элементы:;;;;;; Обработчики событийvoid button4_Click(object sender, EventArgs e) В данной вкладке одна функция Функция Lipov производит вычисления по формуле Липова и выводит результат public void Lipov(EventArgs e_Lipov) {(textBox20.Text == "") {.Show("Введите количество используемых тестов!", "Модель Липова"); }(textBox22.Text == "") {.Show("Введите общее количество искусственно внесенных ошибок!", "Модель Липова"); }(textBox23.Text == "") {.Show("Введите количество собственных ошибок до начала тестирования!", "Модель Липова"); {.Show("Введите количество собственных ошибок к концу тестирования!", "Модель Липова"); }(textBox24.Text == "") {.Show("Введите количество внесенных ошибок к концу тестирования!", "Модель Липова"); // Проверка на введенные значенияt20; if (!int.TryParse(textBox20.Text, out t20)) MessageBox.Show("Введите числовое значение!"); int t21;(!int.TryParse(textBox21.Text, out t21)) MessageBox.Show("Введите числовое значение!"); int t22;(!int.TryParse(textBox22.Text, out t22)) MessageBox.Show("Введите числовое значение!"); int t24;(!int.TryParse(textBox24.Text, out t24)) MessageBox.Show("Введите числовое значение!"); int t23;(!int.TryParse(textBox23.Text, out t23)) MessageBox.Show("Введите числовое значение!"); {.Show("Ошибка:" + ex.Message); }m, q, S, N, n, V;= Double.Parse(textBox20.Text);= Double.Parse(textBox22.Text);= Double.Parse(textBox23.Text);= Double.Parse(textBox21.Text);= Double.Parse(textBox24.Text);= (n + V) / n;Q = (m / (n + V)) * Math.Pow(n + V, q) * Math.Pow(m - n - V, 1 - q) * ((N / n) * (S / V) / ((N + S) / (n + V)));.Text = Q. ToString();.Text = m.ToString();.Text = S. ToString();.Text = N. ToString();.Text = V. ToString();.Text = n.ToString(); {.Show("Введены значения, при которых результат отрицателен!", "Модель Липова"); 2.3.5 Сохранение результатов
Для сохранения результатов изпользуется обработчик событий ToolStripMenu. После произведения вычислений по предложенным выше моделям, пользователь может сохранить свои результаты. Рисунок 1.6 Выбор пути для сохранения
А после подтверждения сохранения, уведомление об успешной операции:
Рисунок 1.7. Уведомление об успешном сохранении.
3. Руководство пользователя
Для корректной работы программы необходимо заполнить все предложенные в программе модели. Некоторые из параметров статичны и их изменение может привести к некорректной работе программы. При сохранении программа автоматически присваивает имя файлу в формате "Результаты №" + рандомное число от 0 до 9999. Вы также можете задать свое имя сохранения. При вводе некорректных параметров для расчета вы можете получить отрицательные результаты. Для расчета и получения результатов нажмите кнопку "Рассчитать".
Заключение
Язык программирования C# на основе Visual Studio способен реализовать все необходимые средства для расчета надежности программ. Во время выполнения поставленной задачи были улучшены навыки программирования, работы с математическими формулами. Разработанная программа наглядно демонстрирует реализацию 4 моделей для определения надежности программного обеспечения. Основное преимущество программа - производство вычислений по 4 моделям одновременно.
В составе современных технических систем всё больший удельный вес занимают средства вычислительной техники. Стоимость основной ячейки интегральных микросхем – логического вентиля – с развитием электроники непрерывно снижается. Напротив, программное обеспечение, удельная стоимость которого у первых ЭВМ была очень малой, в настоящее время составляет более 90 % стоимости компьютеров. Этот рост стоимости объясняется несколькими причинами:
1) Технология создания программного обеспечения серьезно отстаёт от технологии производства элементной базы;
2) по своей природе программное обеспечение сложнее оборудования (объём программ для современных систем оценивается в 10 6 – 10 8 и более команд или информационных слов);
3) требования к программному обеспечению в течение его жизненного цикла, который увеличился до 15 – 20 лет, существенно изменяются;
4) в отличие от комплекса технических средств для программного обеспечения (ПО) очень трудно рассчитать на этапе проектирования достижимое быстродействие, кроме того, в оборудование непрерывно вносятся изменения.
Отсюда следует, что в процессе создания и эксплуатации ПО непрерывно изменяется, а самим программам свойственны ошибки. В самом общем виде под ошибкой понимают любое не выполнение программой функций, которые заданы техническим заданием. Проявление ошибки является отказом, а надёжность вычислительной техники состоит из двух составляющих: надёжности технических средств и надёжности программного обеспечения.
Приближенно можно полагать, что отношение числа ошибок в программе к общему числу команд в ней лежит в диапазоне от 0,25 до 10 на 1000 команд. Это означает, что в ПО объёмом в 0,5 млн. команд может быть 125 – 5000 ошибок; причем, такая оценка является оптимистической. Выявление ошибок и их исправление является процессом многоэтапным (в соответствии с этапами «жизни» ПО), трудоёмким и дорогостоящим. По мере перехода к более поздним этапам разработки ПО цена ошибки возрастает, тенденцию этого роста иллюстрирует таблица:
Таблица 2.1 - Примерная «цена» программной ошибки на разных этапах жизни программного обеспечения
Цена ошибки, которую не удалось обнаружить на этих этапах, может быть совершенно непредсказуемой и огромной. Свидетельством этого являются аварии, происходящие с космическими аппаратами, многие из которых были потеряны из-за ошибок именно в программном обеспечении.
2.3.1 Основные определения теории надёжности программного обеспечения
Основными терминами, которые используются в теории надёжности программного обеспечения, являются следующие: программная ошибка; число оставшихся в программе ошибок, которые будут переданы далее пользователю; интенсивность обнаружения ошибок (функция риска); «прогон» программы; отказ программы; вероятность безотказной работы программного обеспечения.
Основная трудность определения термина «программная ошибка» состоит в том, что ошибка в программе – это по своей сути функция самой программы и того, чего ожидает от неё пользователь. Перечислим основные проявления, которые можно идентифицировать как ошибку:
Появление при программировании ошибочного операнда или операции;
Несоответствие выполняемых ПО функций требованиям спецификаций, либо ошибка в спецификации, которая приводит к ошибке при выполнении операции ПО;
Ошибки вычислительного характера (например, переполнение);
Исправление ПО, улучшающее его взаимодействие с пользователем.
К программным ошибкам не относят исправления, создающие или уничтожающие временные программные «заглушки» на отсутствующую или не корректную программу, а так же перетрансляцию программы, вызванную накопившимися исправлениями. Количество оставшихся в ПО или переданных ошибок – это потенциальное число ошибок в ПО, которое может быть обнаружено в нём на последующих этапах его жизненного цикла после исправлений, внесённых на данном этапе. Это количество ошибок будем обозначать символом В .
Введём интенсивность обнаружения ошибок или функцию риска r(t), которая определяется отношением числа обнаруженных ошибок к промежутку времени, за который эти ошибки были обнаружены. Для интенсивности обнаружения ошибок справедливы все формулы, которые известны из теории надёжности. В отличие от интенсивности отказов функция риска убывает по мере обнаружения и исправления ошибок. Если предположить, что остаётся постоянной между моментами обнаружения и исправления ошибок, уменьшаясь скачкообразно на постоянную величину в момент обнаружения ошибок, то для простоты целесообразно полагать её пропорциональной количеству оставшихся ошибок
, (2.80)
где - число обнаруженных ошибок на данном этапе.
Дифференцируя уравнение (2.80) по времени получим
![]()
где - есть функция риска . Если решить дифференциальное уравнение
, с начальными условиями то
(2.81)
Обозначим
Тогда уравнение (2.81) можно переписать в виде
Функцию риска зададим дискретно, придав интервалу времени заданное значение (день, неделя, месяц). Логарифмируя уравнение (2.82) для выбранных значений времени , получим систему уравнений вида
(2.83)
Расчёт экспоненциальной регрессии даёт следующие выражения для её коэффициентов
(2.84)
(2.85)
Программа для расчёта экспоненциальной регрессии приведена ниже в 2.3.3.
Будем под удельной интенсивностью обнаружения ошибок в ПО понимать следующую функцию времени:
(2.87)
где - число ошибок в ПО, которые исправлены к моменту времени t ; - число команд в программе. Приближенно можно полагать, что
здесь - разрядность команды; - объем программы по Холстеду, что будет; В – число оставшихся ошибок в ПО к моменту t = 0; К – коэффициент пропорциональности. Величины В и К являются неизвестными.
Рассмотрим два периода отладки программы Т 1 и Т 2 такие, что Т 1 < Т 2 . Пусть n 1 и n 2 соответственно количество ошибок в ПО, обнаруженных в каждом из периодов. Тогда для среднего времени безошибочной (безотказной) работы в каждом из периодов можно записать следующие выражения:
(2.89)
(2.90)
Разделив первое равенство на второе, после преобразований можно получить:
(2.91)
Подставив полученное значение B в формулу для среднего времени безотказной работы в первом периоде отладки программы, можем определить коэффициент пропорциональности
. (2.92)
Определив В и К , можно для любого момента времени вычислить значение удельной интенсивности обнаружения ошибок в ПО и вероятность безотказной работы, полагая, что время исправной работы подчинено экспоненциальному закону распределения.
Прогоном программы называют совокупность действий, включающую в себя:
Ввод возможной комбинации Е i входных данных;
Выполнение расчёта по программе, которая заканчивается получением результата F(E i) или отказом.
Для определенного набора входных данных отклонение результата от заданного значения F`(E i), полученное в результате выполнения программы, находится в допустимых пределах
(2.93)
а для всех остальных E i , образующих подмножество , выполнение программы не обеспечивает приемлемого результата, т.е.
> (2.94)
События, описываемые неравенством (2.94), называются отказами программы.
Методика статистической оценки вероятности отказа ПО за n независимых прогонов программы является традиционной и формально включает в себя оценку
(2.95)
где если выполняется неравенство (2.93); если выполняется неравенство (2.94).
Обозначим через допустимую относительную погрешность оценки вероятности отказа. Тогда необходимое число независимых прогонов программы n должно быть пропорционально величине где - заданное значение вероятности отказа. Так, при и значении число независимых прогонов должно быть не меньше
![]()
Такое количество прогонов трудно реализовать на практике и обычно обращаются к другим методам оценки вероятности отказа ПО. Зная вероятность отказа, нетрудно вычислить вероятность безотказной работы ПО.
Для проверки надёжности ПО используются методы проверки статистических гипотез и, в частности, последовательный анализ Вальда. Сопоставим дихотомической переменной значение 1
, если выполняется (2.94), и значение 0, если выполняется (2.93). Тогда результат прогонов образует выборку случайных величин
Обозначим вероятность того, что , т.е. программа отказывает, как Р; а вероятность Р 0 того. что принимает значение 0, а программа исправна. Тогда выбор значения
Р 0 =0,99 означает, что в серии из 100 прогонов вероятно в среднем появление одного отказа.
Применение последовательного анализа позволяет существенно ограничить число испытаний на надёжность ПО и не налагает жёстких требований на закон распределения случайной величины . Практическое применение последовательного анализа будет продемонстрировано ниже.
Большое значение для получения приближенных оценок показателей надёжности ПО имеют так называемые метрики Холстеда. Эти же метрики позволяют численно оценить и другие характеристики ПО: длину программы, её объём, уровень программы, её интеллектуальное содержание, длительность разработки и т.п. Метрики прошли серьезную практическую апробацию и показали приемлемую для практических расчётов точность. Рассмотрим сущность метода Холстеда.
Для любой программы можно определить:
Число различных операций , например,
и др.;
Общее число всех операндов (переменных и констант);
Общее число всех операций
Общее число всех операндов
Тогда словарь программы есть , а длина реализации составляет Длина программы в этом случае равна
а объём программы (2.97)
потенциальный объём программы
где минимальное число различных операндов (точнее, число независимых входных и выходных величин).
Потенциальный объём - минимально возможный объём определённого алгоритма. Уровень программы L определяется через отношение потенциального объёма к объёму программы
Работа по программированию Е оценивается как суммарное число элементарных мысленных отличий между элементами, необходимых для генерации программы:
Уровень языка позволяет оценивать преимущество языка более высокого уровня по сравнению со своим предшественником и определяется выражением
что позволяет иначе выразить характеристики Е и V :
В таблице 2.2 приведены численные значения для языков различного уровня.
Таблица 2.2 – Численные значения уровня языка
Трудоемкость разработки программного обеспечения определяется по формуле
чел. - часов; (2.104)
где - параметр Страуда, т.е. время, которое необходимо человеческому мозгу для определения существенного отличия между двумя элементами, оценивается значением 5-20 существенных различий в секунду.
Замечено, что при разработке сложных программ трудоёмкость их создания и количество выявленных при отладке ошибок существенно возрастают. При этом число переданных ошибок пропорционально объёму программы.
Коэффициент пропорциональности С определяют, исходя из следующих соображений. В соответствии с эмпирическим законом Д. Миллера «7 2» для определим, что , а для английского языка с учётом (2.100) получим
![]()
что позволяет оценить коэффициент С
как ![]()
однако для языков более низкого уровня правильнее оценивать С , используя выражение более общего вида
что, в частности, для Ассемблера даёт значение
Таким образом,
(2.108)
или в более общей форме
Значения величин и могут быть определены из результатов анализа ПО или косвенно путем решения уравнений Холстеда, если известны значения и :
(2.110)
2.3.2 Методика оценки числа оставшихся ошибок в программе
Оценка потенциального числа ошибок в ПО перед началом разработки программы может быть проведена путём расчёта количества независимых входных и выходных величин , потенциального объёма программы и возможного числа ошибок в ней. Приведём примеры анализа входных и выходных данных.
Пример 1. Рассматривается система контроля посадки самолётов в условиях ограниченной видимости. В состав системы входят курсовой радиомаяк, глиссадный радиомаяк, ответчик радиодальномера. Входными величинами системы являются: три пространственные координаты (азимут, угол места, дальность), всего количество координат равно Три информационных эталонных канала, т.е. - четыре координаты самолёта (высота, путевая скорость, крен, тангаж).
Всего есть сорок входных величин. Выходных величин для каждого информационного канала будет четыре (три пространственные координаты плюс время), т.е. всего 12 независимых величин.
Решение.
![]()
потенциальный объём программы равен
а количество потенциальных ошибок в ПО равно

Пример 2. Определить характеристики программного обеспечения для боевой космической станции (БКС) системы противоракетной обороны (ПРО) типа стратегической оборонной инициативы президента США Рейгана. БКС должна быть рассчитана на перехват около 1000 целей с расстояния примерно 400 км.
Решение. Для перехвата необходимо рассчитать местоположение целей, их скорость, расстояние до них и условные параметры прицеливания. Упростим задачу и попытаемся получить оценку снизу. Поэтому не будем рассматривать задачи распознавания целей и согласования полученных данных с моделью боевой ситуации. Будем рассматривать предельно простой случай полной децентрализации, когда процессор управляющего компьютера непосредственно подключён к датчикам БКС и обрабатывает данные о координатах наблюдаемых объектов с целью вычислить их положение на момент перехвата. Полагаем, что на одном экране БКС появляется одновременно не более 20 целей, а 30 последовательных измерений положения объекта и его скорости статистически достаточно для получения необходимой точности и выбора наилучшего момента поражения одной цели.
Пусть для определения природы объекта необходимо измерить пять величин и на экране измеряются две координаты для каждого из 20 объектов. Таким образом, количество входных величин оказывается равным
Выходные величины программы – это угловые координаты целей и расстояние до них. Для 20 целей количество выходных величин составляет
Итак, ![]()
что даёт для потенциального объёма программы значение равное
Расчёты показывают, что для создания такого объёмного ПО требуется около 10 12 чел. - часов. Потенциальное количество ошибок в этом гигантском по объёму ПО для языков различного уровня равно:

На устранение такого огромного количества ошибок может потребоваться значительно больше времени, чем на создание самого программного обеспечения. Поэтому разработка ПО такого большого объёма сомнительна.
Выполним расчёт потенциального количества ошибок в ПО перед началом комплексной отладки. Уточнение значения числа ошибок можно было бы провести путём прямого подсчёта значений и . Однако для программ, написанных на языке низкого уровня это сделать затруднительно. Возможен иной подход, который рассмотрим для ПО при условиях примера 1. Особенностью этого ПО является то, что оно написано на Ассемблере.
Значение складывается из числа команд , используемой системы команд и из числа отдельных подпрограмм . В ПО примера использовалось 45 различных операторов, число подпрограмм составило 157. Таким образом,
Количество операндов равно сумме (различные переменные и массивы данных, используемых в ПО); плюс количество локальных меток и констант . Для облегчения подсчёта используют имеющееся распределение памяти оперативного запоминающее устройства (ОЗУ), при этом подходе исключается повторяемость соответствующих операндов. Число локальных меток подсчитывают по тексту программы на Ассемблере слева от мнемонической записи команды. Таким способом гарантируется не повторяемость меток, а общепринятая табуляция облегчает подсчёт. Сложнее сосчитать число различных констант, которые оформляются в массивы числовых данных и используются при адресации в Ассемблере. Поэтому по тексту программы считают лишь число констант, заведомо помещающихся в одном байте. Как правило, они выделяются в тексте и вероятность их совпадения очень мала. К значению этой величины прибавляют 256 – число возможных байтовых констант. Для рассматриваемого ПО указанные величины имеют следующие значения:
82 + 334 + 280 + 256 = 952.
Полученные значения и можно сопоставить с расчётными значениями, которые определены из решения уравнений Холстеда для ![]()

В результате решения
Эти значения можно полагать приемлемыми (отличие от реального ПО составляет 11,0 % и 10,5 %).
Рассчитаем длину программы
и определим объём программы
Уточнённая оценка переданного количества ошибок в ПО равна:
![]()
Оценка отличается от полученной ранее = 168 лишь на 12 % и по своему смыслу является более близкой к реальности.
2.3.3 Методика расчёта интенсивности обнаружения ошибок в зависимости от времени эксплуатации программы
В процессе комплексной отладки ПО видоизменяется с целью осуществления недостающих функций и внесения исправлений для обнаруженных ошибок в уже реализованной программе. Такие изменения обычно заносятся в специальный журнал учёта исправлений с указанием даты и семантики исправления. В качестве примера рассмотрим ПО из примера 1. Исходными данными являются результаты комплексной отладки этого ПО примерно за двухлетний период. Количество обнаруженных ошибок фиксировалось помесячно, поэтому интенсивность обнаружения ошибок имеет размер «количество ошибок/месяц». Значения интенсивности обнаружения ошибок за 20 месяцев приведены ниже в таблице. Таблица 2.3 - Значения интенсивности обнаружения ошибок
| Δt i | ||||||||||
| r(t i) | ||||||||||
| Δt i | ||||||||||
| r(t i) |
Используя экспоненциальную аппроксимацию что даёт значение количества оставшихся ошибок Это значение хорошо согласуется с ранее определенными значениями и .
Экспоненциальная аппроксимация интенсивности обнаружения ошибок может быть использована для прогностического расчёта количества оставшихся ошибок, если определить интенсивность определения ошибок на какое-то время вперед, например, на квартал.
Таблица 2.4 - Интенсивность обнаружения ошибок на квартал вперед
| Δt i | |||
| r(t i) |
2.3.4 Статистическая оценка вероятности безотказной работы
программного обеспечения
Рассмотрим метод последовательного анализа для оценки вероятности безотказной работы программы. В нём вводится допущение о том, что если вероятность успешного прогона Р находится в достаточно малой окрестности точки Р 0 , то риск принятия неправильного решения допустимо мал. Под неправильным решением понимают решение отвергнуть надёжную программу или пропустить не надёжную программу. Для формализации этого допущения задают такие P` и P`` (P`
Что принятие не надёжной программы рассматривается как ошибочное решение только при , а отказ от надёжной программы является ошибочным в случае, когда . После задания значений вероятностей P` и P`` допустимый риск принятия неправильных решений таков, что вероятность ошибки первого рода, т.е. отказа от надёжной программы, не должна превышать α = Вер , а вероятность ошибки второго рода, т.е. принятия не надёжной программы не должна превышать β = Вер . Значения величин α и β при этом назначаются, исходя из разумного компромисса, до начала испытаний, так как с их уменьшением растёт объём испытаний.
Сущность последовательного анализа гипотезы Н 0 (Р = Р 0) состоит в проверке двух конкурирующих гипотез Н`(P = P`) и H``(P = P``). Здесь под вероятностью безотказной работы ПО P(m) понимают вероятность получения выборки в которой для элементов P`
Тогда
Если верна гипотеза H`, то
Аналогично, если верна гипотеза H``, то
Составим отношение «правдоподобия»:
(2.114)
Последовательный анализ проводится до тех пор, пока не будет выполняться следующие неравенства:
(2.115)
Если на этапе m
то ПО не надёжно; а если
то ПО можно принять как надёжное.
Размер: px
Начинать показ со страницы:
Транскрипт
1 # 06, июнь 2016 УДК Обзор программных комплексов расчета надежности технических систем Введение Шаламов А.В., магистрант Россия, г. Москва, МГТУ им. Н.Э. Баумана, кафедра «Проектирование и технология производства электронной аппаратуры» Научный руководитель: Соловьев В.А., доцент Россия, г. Москва, МГТУ им. Н.Э. Баумана, кафедра «Проектирование и технология производства электронной аппаратуры» В настоящее время на рынке систем расчета надежности существует много решений как зарубежного, так и российского производства. К наиболее популярным зарубежным системам расчета надежности можно отнести следующие: Relex, Risk Spectrum, A.L.D., ISOgraph. Из российских систем можно выделить системы: Арбитр, АСМ, АСОНИКА-К. Некоторые из приведенных систем помимо инструментов расчета параметров надежности позволяют решать широкий спектр связаных инженерных задач. Далее рассмотрим подробнее приведенные програмные комплексы (ПК) с точки зрения применения их для расчета надежности ЭРА. ПК Relex и Risk Spectrum ПК Relex и Risk Spectrum позволяют проводить логико-вероятностный анализ надежности и безопасности технических систем, например, расчет надежности современных автоматизированных систем управления технологическими, оптимизацию техногенного риска и определение оптимальных параметров системы технического обслуживания потенциально опасных объектов. Основное применение ПК Risk Spectrum получил в вероятностном анализе безопасности объектов атомной энергетики на стадии проектирования. Комплекс Spectrum используется более чем на 50% атомных станций мира, включен в перечень программных средств, аттестованных Советом по аттестации
2 программных средств Госатомнадзора России в 2003 г. ПК Relex и Risk Spectrum могут быть использованы для расчета надежности не только управляющих или технологических систем, но и изделий приборостроения на транспорте, в оборонной технике. В основе моделирования и расчета показателей надежности и безопасности технических систем, широко применяемых в Европе и США, лежат логико-вероятностные методы, использующие в качестве средства построения графических моделей надежности деревья событий и деревья отказов (рисунок 1). Использование аппарата математической логики позволяет формализовать условия работоспособности сложных технических систем и расчет их надежности. Если можно утверждать, что система работоспособна в случае работоспособности ее элементов A и B, то можно сделать вывод о том, что работоспособность системы (событие С) и работоспособность элементов A и B (событие A и событие B) связаны между собой логическим уравнением работоспособности: C = A B. Здесь обозначение используется для отображения логической операции И. Логическое уравнение работоспособности для данного случая может быть представлено схемой последовательного соединения элементов A и B. В общем случае под деревом событий понимается графическая модель, описывающая логику развития различных вариантов аварийного процесса, вызываемого рассматриваемым исходным событием. Под деревом отказов понимается графическая модель, отображающая логику событий, приводящих к отказу системы вследствие возникновения различных комбинаций отказов оборудования и ошибок персонала. Рис. 1. Дерево отказов в ПК Relex Молодежный научно-технический вестник ФС, ISSN
3 В состав дерева отказов входят графические элементы, служащие для отображения элементарных случайных событий (базисных событий) и логических операторов. Каждому логическому оператору булевой алгебры соответствует определенный графический элемент, что позволяет производить декомпозицию сложных событий на более простые (базисные или элементарные). В модуле дерева отказов ПК Relex используются логико-динамические операторы, учитывающие зависимость событий, временные соотношения, приоритеты. Он позволяет осуществлять расчет следующих показателей: вероятность отказа, неготовность, параметр потока отказов, среднее число отказов. Значения показателей вычисляются как для вершинного события, так и для каждого промежуточного. Для каждого выделенного события можно просматривать и анализировать наборы соответствующих минимальных сечений. В ПК Risk Spectrum дерево событий представляется в виде таблицы, содержащей строку заголовков, поле, в котором помещен разомкнутый бинарный граф, несколько столбцов с характеристиками конечных состояний моделируемого объекта, реализующихся в процессе осуществления аварийных последовательностей (рисунок 2). В заголовке 1-го столбца таблицы указывается обозначение исходных событий. В последующих заголовках столбцов слева направо размещаются названия и условные обозначения промежуточных событий, соответствующих успешному или неуспешному выполнению функций безопасности, работоспособным или отказовым состояниям систем безопасности или отдельных компонентов (оборудования и технических средств), правильным или ошибочным действиям персонала. В столбцах, характеризующих конечные состояния (КС), указываются их номера, условные обозначения, типы (например, КС с повреждением активной зоны), вероятности реализации, логические формулы, соответствующие данным аварийным последовательностям (АП). С помощью АП на дереве событий отображаются варианты развития аварийного процесса. При этом под АП понимается последовательность событий, приводящих к некоторому конечному состоянию объекта, включающая исходное событие аварии, успешные или неуспешные срабатывания систем безопасности и действия персонала в процессе развития аварии. С ПК Relex работают многие известные зарубежные компании: LG, Boeng, Motorolla, Dell, Cessna, Siemens, Raytheon, HP, Honda, Samsung, CiscoSystems, Nokia, EADS, 3M, NASA, Intel, GM, Kodak, AT&T, Philips, Pirelli, Quallcomm, Seagete, Emerson. В состав ПК Relex reliability studio 2007 входят различные аналитические модули для решения широкого спектра задач: прогнозирования безотказности, ремонтопригодности,

4 анализа видов, последствий и критичности отказов, марковского анализа, статистического анализа, оценки стоимости срока службы оборудования, а также блок-схемы надежности, деревья отказов/событий, система оповещения об отказах, анализе и корректирующих действиях, FRACAS-система (Failure Reporting Analysis and Corrective Action System), система оценки человеческого фактора и анализа рисков. Рис. 2. Бинаное дерево событий в ПК Spectrum Модуль прогнозирования безотказности содержит модели для расчета показателей надежности элементов. В него включена обширная база данных, содержащая классификационные признаки элементов и характеристики надежности. Расчеты проводятся в соответствии со стандартами: MIL-HDBK-217, Telcordia (Bellcore), TR-332, Prism, NSWC-98/LE1, CNET93, HRD5, GJB299. Модуль анализа ремонтопригодности реализует положения стандарта по исследованию ремонтопригодности систем MIL- HDBK-472. Решаются задачи прогнозирования профилактики технического обслуживания. Модуль анализа видов, последствий и критичности отказов отвечает стандартам MIL-STD-1629, SAE ARP 5580 и др. Производится ранжирование опасных отказов и их оценка по приоритетам рисков. Модуль блок-схемы надежности (RBD, Reliability Block Diagram) используется для анализа сложных резервированных систем. Содержит как аналитические методы, так и методы моделирования Монте-Карло. Модуль деревья отказов/деревья событий позволяет реализовывать процедуры для дедуктивного и индуктивного анализа развития отказов, Молодежный научно-технический вестник ФС, ISSN
5 событий в системе. Применяется для анализа надежности и безопасности. Содержит широкий набор логико-функциональных вершин. Модуль марковского моделирования ПК Relex позволяет использовать процессы, которые применяются в моделировании и анализе надежности систем. Разрабатываемые с помощью этого аппарата модели являются динамическими и отражают необходимые временные условия и другие особенности, зависимости, которые конкретизируют траекторию переходов системы в пространстве возможных состояний, образованных отказами, восстановлением элементов. В модуле ПК Relex Markov реализованы марковские процессы с дискретным множеством состояний и непрерывным временем, учитывающие следующие особенности функционирования и резервирования систем: несовместные виды отказов элементов, последовательность возникновения отказов, изменение интенсивностей отказов элементов в зависимости от уже происшедших событий (в частности, степень нагруженности резерва), количество бригад по восстановлению (ограниченное/неограниченное), очередность восстановления, ограничения на ЗИП, различную эффективность функционирования в различных состояниях системы и доходы (потери) за переходы в состояния. Вычисляемые показатели: вероятность каждого из состояний, вероятность безотказной работы (отказа) на заданном интервале времени. Модуль статистического анализа «Weibull» предназначен для обработки результатов испытаний, эксплуатации. Для описания катастрофических отказов на ваннообразной кривой интенсивности отказов широко используют нормальное, логнормальное распределения, распределение Вейбулла. Например, распределение Вейбулла, являющееся распределением минимальных величин, наиболее часто используется при прогнозировании вероятности безотказной работы и среднего времени наработки на отказ при заданном времени эксплуатации проектируемой сложной технической системы. Логнормальное и вейбулловское распределения одинаково хорошо описывают отказы, характерные для периода старения. Модуль статистического анализа «Weibull» использует различные виды распределений, включая нормальное, Вейбулла, логнормальное, равномерное, экспоненциальное, Гумбеля, Рэлея, биномиальное и другие. Представление и анализ данных для выбранных классов параметрических распределений проводится с использованием метода «вероятностной бумаги». На ней анализируемое распределение представляется прямой линией, что обеспечивает наглядность и позволяет естественным образом применять все методы регрессионного анализа, в частности, проверку адекватности модели и значимости коэффициентов регрессии (фишеровский анализ). Для оценок параметров распределений предлагается
6 большой набор методов, например методы Хазена, Бенарда и их модификации, биномиальное оценивание, метод средних величин, метод максимального правдоподобия и его модификация. С помощью модуля экономических расчетов осуществляется оценка стоимости срока службы на всех этапах создания, эксплуатации, утилизации системы. ПК АСМ Наиболее известным из отечественных ПК является программный комплекс автоматизированного структурно-логического моделирования (ПК АСМ). Теоретической основой является общий логико-вероятностный метод системного анализа, реализующий все возможности основного аппарата моделирования алгебры логики в базе операций «И», «ИЛИ», «НЕ». Форма представления исходной структуры системы схема функциональной целостности, позволяющая отображать практически все известные виды структурных моделей систем. Комплекс автоматически формирует расчетные аналитические модели надежности и безопасности систем и вычисляет вероятность безотказной работы, среднюю наработку до отказа, коэффициент готовности, среднюю наработку на отказ, среднее время восстановления, вероятность отказа восстанавливаемой системы, вероятность готовности смешанной системы, а также значимость и вклад элементов в различные показатели надежности системы в целом. ПК АСМ позволяет также автоматически определять кратчайшие пути успешного функционирования, минимальные сечения отказов и их комбинации. В качестве основного достоинства российких систем перед зарубежными стоит выделить более низкую стоимость внедрения и поддержки, отсутствие технологической зависимости и удобство подготовки персонала. ПК АСОНИКА-К Также на росийском рынке представлена система АСОНИКА-К программное средство решения задач анализа и обеспечения надежности в рамках автоматизированного проектирования РЭА. По своим возможностям подсистема АСОНИКА-К не уступает зарубежным ПК A.L.D. Group, Relex, Isograph и др. Приемуществом является возможность использовать при рассчете готовую элементную базу производимую в этой стране, а также российские стадарты. Отвечает требованиям комплекса военных стандартов «Мороз-6» для РЭА ответственного применения и стандарту США MIL-HDBK-217 и стандарту КНР GJB/z 299B. АСОНИКА-К представляет собой программное средство, созданное в технологии «клиент-сервер». База данных серверной части ПК содержит Молодежный научно-технический вестник ФС, ISSN

7 непрерывно пополняемую информацию о надежности как отечественных, так и зарубежных изделий электронной техники, построенную на уникальных принципах, которые существенно облегчают задачу ее администрирования, в том числе: редактирование данных о надежности ЭРИ, редактирование математических моделей ЭРИ, добавление новых классов ЭРИ. В состав программного комплекса АСОНИКА-К входят седующие подсистемы: система расчета характеристик надежности составных частей, система расчета показателей надежности изделий, система анализа результатов, система архивации проектов, справочная система, система сопровождения базы данных, система администрирования пользователей, система анализа и учета влияния на надежность внешних факторов, информационно-справочная система по характеристикам надежности компонентов современной сложно-вычислительной техники (СВТ) и ЭРИ. БД клиентской части ПК содержит информацию о проектируемой РЭА. Рис. 3. Анализ резервирования в ПК АСОНИКА-К Такая организация клиентской части позволяет проводить расчеты РЭА параллельно с нескольких рабочих станций. Клиентская часть программы имеет графический постпроцессор и интерфейсы с системами моделирования физических процессов и конструкторского проектирования, в том числе АСОНИКА-Т, P-CAD 2001, АСОНИКА-М и др. Математическое ядро ПК содержит в качестве модели надежности
8 экспоненциальное и DN распределения и может быть адаптировано к любой другой модели надежности. Оно позволяет рассчитывать РЭА, содержащие до четырех иерархических уровней разукрупнения и имеющие различные типы резервирования. Результаты расчетов могут быть представлены как в текстовом, так и в графическом виде. ПК АСОНИКА-К позволяет проводить следующие виды анализа расчета надежности: анализ результатов расчетов надежности РЭА, СРН которых представляет собой произвольное соединение составных частей (древовидное, иерархическое) и анализ результатов расчета составных частей, с последовательным соединением. Использование ПК АСОНИКА-К позволяет повышать надежность РЭА путем резервирования ее составных частей. На рисунке 3 показаны значения вероятности безотказной работы, коэффициент готовности и коэффициент оперативной готовности всего объекта в целом. Отказы составных частей являются внезапными и представляют собой независимые события, время до отказа является случайной величиной, распределенной по экспоненциальному закону с постоянной интенсивностью отказов λ. Также показаны функция и плотность распределения времени наработки на отказ, а также зависимость интенсивности отказов проектируемой РЭА с использованием графического анализа. ПК позволяет проводить расчет надежности с использованием различных видов резервирования составных частей: скользящее горячее резервирование, горячее резервирование и без резервирования, а также обеспечивает способы контроля их работоспособности (непрерывный/периодический). В дальнейшем в ПК планируется добавить еще два модуля: система учета влияния на характеристики надежности внешних факторов и информационно-справочая система по характеристикам надежности элементной базы. Закючение ПК Relex, Risk Spectrum и АСМ реализуют класс моделей оценки показателей надежности технических систем логико-вероятностного моделирования. Его можно назвать классом статистических моделей, так как они позволяют вычислять показатели надежности, безопасности и эффективности систем в произвольный момент времени, в зависимости от возможных наборов работоспособных и неработоспособных состояний элементов системы. Отдельные модули ПК A.L.D. Group (RAM Commander), Relex, Isograph возможно использовать для автоматизированного расчета надежности отечественной РЭА только лишь на базе импортных ЭРИ, оценка надежности которых ведется по различным зарубежным справочникам. Молодежный научно-технический вестник ФС, ISSN
9 Использование зарубежных ПК требует от пользователей высокой подготовки в области математической статистики и ее приложения к задачам теории надежности. Российские ПК не уступают по возможностям зарубежным ПК и может быть рекомендован для проведения расчетов надежности отечественной РЭА на базе как импортных, так и отечественных ЭРИ. Главное преимущество возможность вести расчеты надежности, используя отечественные базы компонентов и стандарты. Список литературы . Строганов А. В., Жаднов В. К., Полесский С. М. Обзор програмных комплексов по расчету надежности сложных технических систем / под ред. Д. Д. Краснова. М.: ВШЭ, с. . Тихомиров М. В., Шалумов А. С. Оценка надежности и качества РЭС / под ред. М. В. Хохлова. М.: Солон-пресс, с. . Шалумов А. С. Приемущества АС обеспечения надежности и качества аппаратуры АСОНИКА. М.: МИЭМ, с. . Затылкин А. В., Таньков Г. В., Кочегаров И. И. Алгоритмическое и програмное обеспечение расчета параметров надежности РЭС/ под ред. С. П. Малюква. М.: ПГУ, с.
Ломаев Е.Н., Демёхин Ф.В., А.В. Фёдоров, М.И. Лебедева, А.В. Семериков ОБЗОР ПРОГРАММНЫХ КОМПЛЕКСОВ ДЛЯ ОЦЕНКИ НАДЁЖНОСТИ СИСТЕМ АВТОМАТИЧЕСКОЙ ПРОТИВОПОЖАРНОЙ ЗАЩИТЫ И БЕЗОПАСНОСТИ ОБЪЕКТОВ Проводится
ИСПОЛЬЗОВАНИЕ Windchill Quality Solutions для контроля качества и анализа надежности Общие сведения о Windchill Quality Solutions Приложение Windchill Quality Solutions (ранее Relex) предназначено для
2 1. Цели и задачи дисциплины Цель изучения дисциплины «Надежность технических систем и техногенный риск» состоит в том, чтобы дать знания по основам оценки надежности технических систем; познакомить с
Кулыгин В.Н., Жаднов И.В., Полесский С.Н., Цыганов П.А. ПРОГРАММА РАСЧЕТА ПОКАЗАТЕЛЕЙ НАДЕЖНОСТИ ЭЛЕКТРОННЫХ МОДУЛЕЙ (система АСОНИКА-К-СЧ) УДК 621.396.6, 621.8.019.8 Программа расчета показателей надежности
2.8. Расчет надежности системы с защитой 2.8.1. Описание задачи Имеется система, состоящая из технического объекта и системы защиты объекта от последствий отказов его элементов. В качестве примера такого
Лекция.1. Понятие о структурной схеме надежности. Все технические объекты состоят из элементов. Элементы физически могут быть соединены между собой самым различным образом. Для наглядного изображения соединений
Чан Донг Хынг (Вьетнам) (Академия Государственной противопожарной службы МЧС России, e-mail: [email protected]) ТЕХНОЛОГИЯ ОЦЕНКИ НАДЁЖНОСТИ АВТОМАТИЗИРОВАННЫХ СИСТЕМ УПРАВЛЕНИЯ ПРОТИВОПОЖАРНОЙ ЗАЩИТОЙ
МИНИСТЕРСТВО ЗДРАВООХРАНЕНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ ВОЛГОГРАДСКИЙ ГОСУДАРСТВЕННЫЙ МЕДИЦИНСКИЙ УНИВЕРСИТЕТ КАФЕДРА БИОТЕХНИЧЕСКИХ СИСТЕМ И ТЕХНОЛОГИИ ТЕСТОВЫЕ ЗАДАНИЯ ПО ПОВЕРКА, БЕЗОПАСНОСТЬ И НАДЕЖНОСТЬ
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «САМАРСКИЙ ГОСУДАРСТВЕННЫЙ АЭРОКОСМИЧЕСКИЙ УНИВЕРСИТЕТ ИМЕНИ АКАДЕМИКА С.П. КОРОЛЕВА
Жаднов В.В., Полесский С.Н. ПРОЕКТНАЯ ОЦЕНКА НАДЕЖНОСТИ КОМБИНИРОВАННЫХ РАДИОТЕХНИЧЕСКИХ СИСТЕМ Современная тенденция развития радиотехнических систем (РТС) характеризуется увеличением функций, выполняемых
УДК 656.56: 68.3 ШЕВЧЕНКО Д. Н. к.т.н., доцент (БелГУТ) АНАЛИЗ ДИНАМИЧЕСКОГО ДЕРЕВА ОТКАЗОВ Статью представил д.т.н., проф. Бочков К. А. Введение Анализ дерева отказов (Fault Tree Analysis FTA) один из
1. Цели и задачи дисциплины Цель изучения дисциплины «Надежность технических систем и техногенный риск» состоит в том, чтобы дать знания по основам оценки надежности технических систем; познакомить с теорией
Рабочая программа составлена в соответствии с государственным образовательным стандартом высшего профессионального образования по направлению подготовки специалистов 3001 «Информационные системы и технологии».
Применение автоматизированного структурнологического моделирования для проектного расчета надежности АСУ А.С. Можаев, М.С. Скворцов, А.В. Струков /ОАО "СПИК СЗМА", г. Санкт-Петербург/ Введение Расчет надежности
ТИТУЛЬНЫЙ ЛИСТ Программа составлена на основе федерального государственного образовательного стандарта высшего образования (уровень подготовки кадров высшей квалификации) по направлению подготовки 13.06.01
1 ТЕХНОЛОГИЯ АВТОМАТИЗИРОВАННОГО СТРУКТУРНО-ЛОГИЧЕСКОГО МОДЕЛИРОВАНИЯ В ПРОЕКТНЫХ РАСЧЕТАХ НАДЕЖНОСТИ СИСТЕМ Нозик А.А. ОАО "Специализированная инжиниринговая компания "СЕВЗАПМОНТАЖАВТОМАТИКА" Реферат.
Структурная надежность. Теория и практика Антонов А.В., Пляскин А.В., Татаев Х.Н. К ВОПРОСУ РАСЧЕТА НАДЕЖНОСТИ РЕЗЕРВИРОВАННЫХ СТРУКТУР С УЧЕТОМ СТАРЕНИЯ ЭЛЕМЕНТОВ В статье рассматривается вопрос расчета
АЛОРИМЫ АВОМАИЗИРОВАННОО СРУУРНО- ЛОИЧЕСОО МОДЕЛИРОВАНИЯ НАДЕЖНОСИ И БЕЗОПАСНОСИ СРУУРНО-СЛОЖНЫХ СИСЕМ Можаева ИА, Нозик АА, Струков АВ АО «СПИ СЗМА», С-Петербург, E-mal: fo@zmacom Аннотация Рассматриваются
ПРОГРАММНЫЙ КОМПЛЕКС АВТОМАТИЗИРОВАННОГО МОДЕЛИРОВАНИЯ И РАСЧЕТА НАДЕЖНОСТИ И БЕЗОПАСНОСТИ АСУТП НА СТАДИИ ПРОЕКТИРОВАНИЯ Нозик А.А., Можаев А.С., Потапычев С.Н., Скворцов М.С. Обоснован выбор и определены
Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Пермский национальный исследовательский политехнический
Программа составлена на основе федерального государственного образовательного стандарта высшего образования (уровень подготовки кадров высшей квалификации) по направлению подготовки 27.06.01 «Управление
МИНИСТЕРСТВО ТРАНСПОРТА РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ УЛЬЯНОВСКОЕ ВЫСШЕЕ АВИАЦИОННОЕ УЧИЛИЩЕ ГРАЖДАНСКОЙ АВИАЦИИ (ИНСТИТУТ)
Лекция 3 3.1. Понятие о потоке отказов и восстановлений Восстанавливаемым называется объект, для которого восстановление работоспособного состояния после отказа предусмотрено в нормативнотехнической документации.
Тест по теме "Надежность ИС" #num 1 Безотказность - это: 1) свойство объекта непрерывно сохранять работоспособное состояние в течение всего времени работы; 2) свойство объекта непрерывно сохранять работоспособное
ИЗДАНИЕ ТРЕТЬЕ, ПЕРЕРАБОТАННОЕ И ДОПОЛНЕННОЕ МОСКВА «ЭНЕРГИЯ» 1977 Книга посвящена вопросам надежности автоматизированных систем. Описаны особенности оценки и расчета надежности. Значительное внимание
1. ЦЕЛИ ОСВОЕНИЯ ДИСЦИПЛИНЫ. Целями освоения дисциплины являются: ознакомление студентов с основными понятиями и определениями из теории надежности, показателями надежности систем электроснабжения (СЭС)
Федеральное агентство по образованию Томский государственный архитектурно-строительный университет НАДЕЖНОСТЬ ТЕХНИЧЕСКИХ СИСТЕМ И ТЕХНОГЕННЫЙ РИСК Методические указания для самостоятельной работы студентов
Программа составлена на основе федерального государственного образовательного стандарта высшего образования (уровень подготовки кадров высшей квалификации) по направлению подготовки 01.06.01 «Математика
Резервирование V. Текст лекции Введение Проблема анализа и обеспечения надежности связана со всеми этапами создания ЭВМ и всем периодом их практического использования в ведомстве МЧС. Комплекс мероприятий
К. Капур, Л. Ламберсон НАДЕЖНОСТЬ И ПРОЕКТИРОВАНИЕ СИСТЕМ Перевод с английского Е. Г. КОВАЛЕНКО под редакцией д-ра техн. наук, проф. И. А. УШАКОВА Издательство «Мир» Москва 1980 Оглавление Предисловие
ГОСТ 24.701-86 Группа П87 МЕЖГОСУДАРСТВЕННЫЙ СТАНДАРТ Единая система стандартов автоматизированных систем управления НАДЕЖНОСТЬ АВТОМАТИЗИРОВАННЫХ СИСТЕМ УПРАВЛЕНИЯ Основные положения Unified system of
Пример. Безотказность системы электроснабжения На рис.1 изображена исходная функциональная схема (граф связности с циклами) системы электроснабжения (СЭС) известной задачи 35 И.А.Рябинина , в которой
Правительство Российской Федерации Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский университет "Высшая школа экономики"
1 ЛЕКЦИЯ 3. Задачи надёжности электроснабжения Теория надежности служит научной основой деятельности лабораторий, отделов, бюро и групп надежности на предприятиях, в проектных, научно-исследовательских
ОЦЕНИВАНИЕ, ПРОГНОЗИРОВАНИЕ И УПРАВЛЕНИЕ РЕСУРСНЫМИ ХАРАКТЕРИСТИКАМИ ОБОРУДОВАНИЯ АЭС Антонов А.В., Дагаев А.В. Обнинский институт атомной энергетики, Россия В настоящее время ряд энергоблоков атомных
Теория надежности раздел прикладной математики, в котором разрабатываются методы обеспечения эффективной работы изделий. Под надежностью в широком смысле слова понимается способность технического устройства
2 ИСПОЛНИТЕЛИ Старший инженер-программист ООО «НТЦ СЗМА» Ведущий специалист АО «СПИК СЗМА» Ведущий программист ООО «НТЦ СЗМА» Можаева И.А. Струков А.В. Киселев А.В. 3 СОДЕРЖАНИЕ ВВЕДЕНИЕ... 5 1 ОПИСАНИЕ
Правительство Российской Федерации Федеральное государственное автономное образовательное учреждение высшего профессионального образования «Национальный исследовательский университет «Высшая школа экономики»
Министерство сельского хозяйства российской федерации ФГОУ ВПО «Московский государственный агроинженерный университет имени В.П. Горячкина» Факультет Заочного образования Кафедра «Ремонт и надежность машин»
ПРИМЕНЕНИЕ ПК АРБИТР ДЛЯ РЕШЕНИЯ ЗАДАЧ АВТОМАТИЗИРОВАННОГО АНАЛИЗА НАДЕЖНОСТИ СИСТЕМ СУДОВЫХ АТОМНЫХ ЭНЕРГЕТИЧЕСКИХ УСТАНОВОК И. В. Кудинович, Н. В. Шкляров, А. А. Нозик, А. В. Струков (Санкт-Петербург)
Моделирование случайных воздействий В моделировании систем методами имитационного моделирования, существенное внимание уделяется учету случайных факторов и воздействий на систему. Для их формализации используются
ЛЕКЦИЯ. Основные статистические характеристики показателей надёжности ЭТО Математический аппарат теории надёжности основывается главным образом на теоретико-вероятностных методах, поскольку сам процесс
Лекция 6 61 Марковские процессы в расчетах надежности нерезервированных восстанавливаемых объектов Основными особенностями восстанавливаемых систем по сравнению с невосстанавливаемыми являются большое
Министерство образования РБ Учреждение образования «Белорусский государственный университет информатики и радиоэлектроники» УТВЕРЖДАЮ Декан ФКП А.В. Будник РАБОЧАЯ ПРОГРАММА по учебной дисциплине «Надёжность
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ УХТИНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ КАФЕДРА ПРОМЫШЛЕННОЙ БЕЗОПАСНОСТИ И ОХРАНЫ ОКРУЖАЮЩЕЙ СРЕДЫ НАДЁЖНОСТЬ ТЕХНИЧЕСКИХ СИСТЕМ И ТЕХНОГЕННЫЙ РИСК Методические
Моделирование внезапных отказов на основе экспоненциального закона надежности Как уже указывалось ранее в, причина возникновения внезапного отказа не связана с изменением состояния объекта во времени,
Баринов С.А., Цехмистров А.В. 2,2 Слушатель Военной Академии материально-технического обеспечения имени генерала армии А.В. Хрулева, г. Санкт-Петербург РАСЧЕТ ПОКАЗАТЕЛЕЙ НАДЕЖНОСТИ ИЗДЕЛИЙ РАКЕТНО- АРТИЛЛЕРИЙСКОГО
2 Содержание Область применения... 5 2 Нормативные ссылки... 5 3 Термины и определения... 6 4 Обозначения и сокращения... 7 5 Цель и задачи оценки надежности... 8 6 Ответственность... 8 7 Общие положения...
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ВОЗДУШНОГО ТРАНСПОРТА ФЕДЕРАЛЬНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ГРАЖДАНСКОЙ АВИАЦИИ (МГТУ ГА)
1 Лекция 5. Показатели надежности ЭТО Показатели надежности характеризуют такие важнейшие свойства систем, как безотказность, живучесть, отказоустойчивость, ремонтопригодность, сохраняемость, долговечность
Анализ моделей прогнозирования надежности программных средств Хунов Т. Х. НИУ Высшая школа экономики МИЭМ [email protected] Аннотация В данной работе приведен анализ моделей прогнозирования надежности программных
Цели и задачи дисциплины Дисциплина «Надежность транспортных средств специального назначения» является дисциплиной профессионального цикла при подготовке инженеров по специальности «Транспортные средства
Профиль: «Математические и инструментальные методы экономики» Раздел I. Основания теории вероятностей и математической статистики 1. Статистическое и классическое определение вероятности. Понятие случайного
Уфа: УГАТУ, 202 Т. 6, 8 (53. С. 67 72 В. Е. Гвоздев, М. А. Абдрафиков СТАТИСТИЧЕСКИЕ СВОЙСТВА ДОВЕРИТЕЛЬНЫХ ОЦЕНОК ГРАНИЧНЫХ ЗНАЧЕНИЙ ХАРАКТЕРИСТИК НАДЕЖНОСТИ УДК 68.5 Статья посвящена вопросам доверительного
Вариант контрольной работы для заочной группы по дисциплине «Надёжность технических систем и техногенный риск». В результате эксплуатации получен ряд статистических данных о надёжности невосстанавливаемых
ФЕДЕРАЛЬНОЕ АГЕНСТВО ЖЕЛЕЗНОДОРОЖНОГО ТРАНСПОРТА ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ»
УДК 004.94, 519.2 А.Ю. Русин, М. Абдулхамед (Тверской государственный технический университет; e-mail: [email protected]) ОБРАБОТКА ИНФОРМАЦИИ В СИСТЕМЕ ИСПЫТАНИЙ ПРОМЫШЛЕННОГО ОБОРУДОВАНИЯ НА НАДЁЖНОСТЬ
Лекция 8 8.1. Законы распределения показателей надежности Отказы в системах железнодорожной автоматики и телемеханики возникают под воздействием разнообразных факторов. Поскольку каждый фактор в свою очередь
УДК 59.873 Алгоритм и методика анализа надежности боевой машины Карасев В. О., студент Россия, 05005, г. Москва, МГТУ им. Н.Э. Баумана, кафедра «Информатика и системы управления» Научный руководитель:
Лекция 4. Основные количественные показатели надежности технических систем Цель: Рассмотреть основные количественные показатель надежности Время: 4 часа. Вопросы: 1. Показатели оценки свойств технических
УДК 681.3 А.И. Рыженко, Е.И. Рыженко, Д.В. Колесниченко Определение надежности невосстанавливаемых резервированных технических изделий Национальный аэрокосмический университет им. Н.Е. Жуковского «ХАИ»
7627 УДК 62-192 К ВОПРОСУ ОЦЕНКИ РЕСУРСА ТЕХНИЧЕСКИХ СИСТЕМ Н.В. Лубков Институт проблем управления им. В.А. Трапезникова РАН Россия, 117997, Москва, Профсоюзная ул., 65 E-mail: [email protected] Ключевые слова:
1 Программа составлена на основе федерального государственного образовательного стандарта высшего образования (уровень подготовки кадров высшей квалификации) по направлению подготовки 13.06.01 «Электро-
Структурная надежность. Теория и практика Ткачев О.А. АНАЛИЗ НАДЕЖНОСТИ СЕТЕЙ, СОСТОЯЩИХ ИЗ ИДЕНТИЧНЫХ ЭЛЕМЕНТОВ Предлагаются аналитические модели, которые позволяют получить выражения для определения
Расчет надежности технических систем с учетом восстановления
Методы расчета надежности технических систем без учета восстановления
Факторы, влияющие на надежность технических систем
Надежность комплекса технических средств
Надежность комплекса технических средств (КТС) оказывает наиболее существенное влияние на надежность АС, поэтому приближенно надежность АС зачастую оценивают с учетом только комплекса технических средств.
Критерии отказов технических средств, как правило, устанавливаются в соответствии с требованиями, указанными в стандартах, технических условиях или другой технической документации на эти ТС. Поскольку большинство ТС имеют общепромышленное назначение, то требования задаются безотносительно к тем системам, в которых эти ТС функционируют. Критерии отказов ТС при этом не зависят от характеристик управляемого объекта и требований к качеству управления.
Для количественной оценки надежности комплекса ТС применяются показатели надежности, рассмотренные в п. 1.3. и 1.6.
Надежность сложных современных АС зависит от разнообразных факторов, раздельное и комплексное изучение которых необходимо, поскольку без раскрытия физической природы отказов затруднительно выбрать наиболее подходящие направления работ по обеспечению и повышению надежности как отдельных видов технических средств, так и АС в целом.
Все множество факторов, влияющих на оборудование сложных технических систем, принято классифицировать по области их действия .
К конструктивным факторам относятся:
· выбор структурной и функциональной схем, способов резервирования и контроля;
· определение материалов и комплектующих элементов;
· выбор режимов и условий работы элементов в системе;
· назначение требований к допускам на технические характеристики элементов;
· выбор уставок и защит на технологические параметры установки;
· учет психофизиологических особенностей операторов;
· разработка эксплуатационной документации и др.
К производственным факторам относятся:
· входной контроль качества материалов и элементов, получаемых от предприятий- поставщиков;
· организация технологического процесса изготовления оборудования;
· контроль качества продукции на всех этапах технологического процесса;
· квалификация изготовителей;
· обеспечение качества и контроль монтажа и наладки оборудования систем;
· условия работы на производстве и др.
К эксплуатационным факторам относятся факторы, которые появляются вне сферы проектирования и производства систем. По характеру воздействия на систему эксплуатационные факторы можно разделить на объективные (воздействия внешней среды) и субъективные (воздействие обслуживающего персонала). В свою очередь объективные факторы можно разделить на две группы: внешние и внутренние .
К внешним факторам относятся воздействия, обусловленные внешней средой и условиями эксплуатации. Это, прежде всего, климатические факторы (температура, влажность, солнечная радиация, скорость ветра, туманы, метели, пыльные бури и др.), механические воздействия (вибрация, удары), электромагнитное излучение, агрессивность среды и др. Внутренние факторы связаны с изменением параметров объектов и конструкционных материалов: старением, износом, коррозией. Эти изменения происходят во времени под влиянием внешних факторов. Как правило, все перечисленные факторы влияют на надежность технических систем в комплексе.
Под субъективными эксплуатационными факторами понимается:
· квалификация и обученность обслуживающего персонала;
· организация и качество технического обслуживания и регламентных работ;
· методы и способы организации эксплуатации систем;
· организация сбора и анализа сведений об эксплуатационной надежности ТС.
Основные этапы расчета надежности. Задачей расчета надежности локальных технических систем является определение показателей, характеризующих их безотказность и ремонтопригодность. Расчет складывается из следующих этапов :
а) определение критериев и видов отказа системы и состава рассчитываемых показателей надежности;
б) составление структурной (логической) схемы, основанной на анализе функционирования системы, учете резервирования, восстановления, контроля исправности элементов и др.;
в) выбор метода расчета надежности с учетом принятых моделей описания процессов функционирования и восстановления;
г) получение в общем виде математической модели, связывающей определяемые показатели надежности с характеристиками элементов;
д) подбор данных по показателям надежности элементов;
е) выполнение расчета и анализ полученных результатов.
Содержание перечисленных этапов в значительной мере зависит от выбранных критериев отказа и рассчитываемых показателей надежности, рассмотренных ранее. К наиболее характерным показателям надежности ТС относятся средняя наработка до отказа системы, вероятность ее безотказной работы за заданное время, коэффициент готовности, коэффициент оперативной готовности, параметр потока отказов.
Близкие по характеру показатели распространяются и на элементы системы - технические средства, с помощью которых реализуются локальные системы. Количество рассматриваемых показателей расширяется, если анализируется вероятность работы систем с ухудшенными показателями качества функционирования, т. е. при учете постепенных (метрологических) отказов элементов.
Рассмотренные показатели применяются как при создании систем, так и при их эксплуатации.
Составление структурной схемы, являющейся логической схемой для расчета надежности как системы, так и отдельного технического средства, включает некоторые моменты, на которых необходимо остановиться более подробно. Структурная схема для расчета надежности в общем случае существенно отличается от функциональной схемы. Структурной схемой для расчета надежности называется графическое отображение элементов системы, позволяющее однозначно определить состояние системы (работоспособное или неработоспособное) по состоянию (работоспособное или неработоспособное) ее элементов.
Для многофункциональных систем, например АС, такие структурные схемы составляют по каждой функции; их обычно называют надежностными схемами функции или надежностно-функциональными схемами.
При составлении схемы элементы системы могут соединяться последовательно (рис. 2.2, а) или параллельно (рис. 2.2, б) в зависимости от их влияния на работоспособное состояние системы. Если отказ элемента независимо от его назначения вызывает отказ системы, то элемент соединяют последовательно. Если отказ системы возникает при отказе всех или части однотипных элементов, то такие элементы соединяют параллельно. Последовательное соединение элементов называют также основным, а параллельное - резервным.
Рис. 2.2 Соединение элементов системы:
а - последовательное (основное); б - параллельное (резервное)
Для одних и тех же локальных систем могут быть составлены различные структурные схемы в зависимости от анализируемой функции системы, если она является многофункциональной, и вида отказа.
В настоящее время существует ряд руководящих технических материалов, регламентирующих аналитические методы расчета надежности комплекса технических средств АС на этапе проектирования. Но при всем многообразии существующих методов расчета надежности систем последние можно разбить на три группы, относящихся к системам:
С простой структурой, сводящейся к последовательно-параллельному соединению элементов без учета их восстановления (оценка показателей безотказности);
Со сложной структурой, не сводящейся к последовательно-параллельному соединению элементов, элементы системы не восстанавливаются (оценка показателей безотказности);
С восстанавливаемыми элементами, как при нулевом, так и при конечном времени замены (восстановления) отказавшего элемента исправным (оценка показателей безотказности, ремонтопригодности и комплексных показателей).
Разновидности методов первых двух групп оперируют с количественными показателями безотказности при любых законах распределения наработки до отказа элементов. К числу этих методов относятся классический метод, базирующийся на основных понятиях и теоремах теории вероятности, и логико-вероятностный. Разновидности методов третьей группы определяются видом законов распределения наработки до отказа и восстановления, сложностью системы. К основным из них относятся методы переходных вероятностей и интенсивностей, использующие аппарат марковских процессов с дискретным и непрерывным временем, и метод, использующий аппарат полумарковских процессов.
Спомощью выбранного метода, исходя из структурной схемы системы, определяют аналитические модели, связывающие ее показатели надежности с характеристиками элементов и процессов их обслуживания. Аналитические модели в виде формульных зависимостей, связывающих перечисленные величины и являющихся удобными для выполнения анализа надежности, удается получить для сравнительно простых систем при введении целого ряда упрощающих допущений в математическом описании характеристик систем и процессов. Для сложных восстанавливаемых систем, к числу которых относятся подсистемы АС, показатели надежности часто определяются с использованием статистического (имитационного) моделирования.
Подбор характеристик надежности элементов структурной схемы систем сопряжен с трудностями, определяемыми рядом факторов. К их числу относится зависимость показателей надежности от условий эксплуатации, которые могут существенно различаться на разнородных видах производств, поэтому паспортные данные по надежности могут не соответствовать их фактическим значениям. По некоторым элементам, входящим в состав системы, эти показатели могут отсутствовать, например, по запорной арматуре, проводным и трубным линиям связи и др. По показателям ремонтопригодности устройств данные зачастую отсутствуют. В связи с этим при подборе показателей надежности элементов систем приходится пользоваться данными по надежности других устройств, близких к ним по конструкции.
Используя показатели надежности элементов, по полученным математическим моделям производят расчет показателей надежности систем, который может быть выполнен вручную или на ЭВМ с использованием соответствующих пакетов прикладных программ.
Классический метод оценки надежности. Поскольку при основном соединении элементов (см. рис. 2.2, а) работоспособное состояние системы имеет место при совпадении работоспособных состояний всех элементов, то вероятность этого состояния системы определяется произведением вероятностей работоспособных состояний всех элементов. Если система состоит из п последовательно включенных элементов, то при вероятности безотказной работы каждого из элементов р i (t) вероятность безотказной работы системы
При параллельном соединении элементов и при условии, что для работы системы достаточно работы одного из включенных параллельно элементов, отказ системы является совместным событием, имеющим место при отказе всех параллельно включенных элементов. Если параллельно включены т элементов (см. рис. 2.2, б) и вероятность отказа каждого q j (t ) = 1-p j (t ), то вероятность отказа этой системы
. (2.2)
Если структурная схема надежности системы состоит из последовательно и параллельно соединенных элементов, то расчет ее надежности может быть произведен с использованием (2.1), (2.2).
Чтобы определить значение средней наработки системы до отказа и другие показатели надежности, требуется знать законы распределения времени безотказной работы элементов (наработки до отказа) системы. Поскольку на участке нормальной эксплуатации с удовлетворительной точностью в качестве закона распределения времени безотказной работы элементов может быть принят экспоненциальный закон, то при основном соединении элементов, если выражение (2.1) примет следующий вид:
где
.
Таким образом, при основном соединении элементов, имеющих экспоненциальный закон распределения времени безотказной работы, закон распределения времени безотказной работы системы также будет экспоненциальным, в соответствии с этим имеем:
;
; ; (2.4)
При резервном соединении т элементов, имеющих экспоненциальный закон распределения времени безотказной работы, вероятность отказа группы параллельно включенных элементов:
Если все элементы равнонадежны и
, то
;
.
Таким образом, при резервном соединении элементов экспоненциальный закон распределения времени безотказной работы не сохраняется.
Во многих случаях рассмотренный выше способ расчета надежности не может быть использован, так как не всегда схема надежности содержит последовательно-параллельное соединение элементов.
Существуют несколько разновидностей классического метода расчета надежности систем со сложной структурой, часть из которых будет рассмотрена ниже применительно к анализу надежности мостиковой схемы, изображенной на рис. 2.3. (Эта схема не сводится к последовательно-параллельному соединению элементов.) Для всех элементов схемы известны вероятности безотказной работы р 1 , р 2 , р 3 , р 4 , p 5 и соответствующие им вероятности отказа типа «обрыв» q 1 , q 2 , q 3 , q 4 , q 5 . Необходимо определить вероятность наличия цепи между точками а и b схемы.

Рис. 2.3 Мостиковая схема соединения элементов
Метод перебора состояний. Расчету надежности любой системы независимо от используемого метода предшествует определение двух непересекающихся множеств состояний элементов, соответствующих работоспособному и неработоспособному состояниям системы. Каждое из этих состояний характеризуется набором элементов, находящихся в работоспособном и неработоспособном состояниях. Поскольку при независимых отказах вероятность каждого из состояний определяется произведением вероятностей нахождения элементов в соответствующих состояниях, то при числе состояний, равном т, вероятность работоспособного состояния системы
; (2.6)
вероятность отказа
, (2.7)
где т - общее число работоспособных состояний, в каждом j -м из которых число исправных элементов равно l , а вышедших из строя - k .
Существенным недостатком метода перебора состояний является то, что даже при сравнительно простой структуре его применение сопряжено с громоздкими выкладками.
Метод разложения относительно особого элемента. Этот метод основан на использовании формулы полной вероятности. В сложной системе выделяется особый элемент, все возможные состояния H i которого образуют полную группу, . Если анализируемое состояние системы А ,то его вероятность
. (2.8)
Второй сомножитель в (2.8) определяет вероятность состояния А при условии, что особый элемент находится в состоянии H i . Рассмотрение H i -го состояния особого элемента как безусловного позволяет упростить структурную схему надежности и свести ее к последовательно-параллельному соединению элементов.
Так, в рассматриваемой мостиковой схеме выделение элемента 5 в качестве особого с двумя возможными состояниями (1 - наличие и 2 -отсутствие цепи) Р {Н 1 }=р 5 ; Р {Н 2 }=q 5 позволяет от структурной схемы, представленной на рис. 2.3, перейти при безусловно исправном состоянии элемента 5 к схеме, представленной на рис. 2.4, а. При отказе элемента 5 структурная схема имеет вид, представленный на рис. 2.4, б. Если состояние А - наличие цепи между а и b, то в соответствии с (2.1) и (2.2) имеем:

Рис. 2.4 Структурные схемы мостикового соединения элементов, соответствующих: а - наличию цепи в элементе 5; б - отсутствию цепи в элементе 5
Сопоставление обоих методов расчета надежности показывает, что выделение особого элемента с последующим анализом упрощенных структурных схем существенно сокращает выкладки.
Метод минимальных путей и сечений. Вряде случаев для анализа надежности сложной системы бывает достаточным определить граничные оценки надежности сверху и снизу.
При оценке вероятности безотказной работы сверху определяют минимальные наборы работоспособных элементов (путей ), обеспечивающих работоспособное состояние системы. При формировании пути, считая, что все элементы находятся в неработоспособном состоянии, последовательным переводом элементов вработоспособное состояние производят подбор вариантов соединений элементов, обеспечивающих наличие цепи.
Набор элементов образует минимальный путь, если исключение любого элемента из набора приводит к отказу пути. Из этого вытекает, что в пределах одного пути элементы находятся в основном соединении, а сами пути включаются параллельно. Так, для рассмотренной мостиковой схемы (рис. 2.3) набор минимальных путей представлен на рис. 2.5. Поскольку один и тот же элемент включается в два параллельных пути, то в результате расчета получается оценка безотказности сверху:
При определении минимальных сечений осуществляется подбор минимального числа элементов, перевод которых из работоспособного состояния в неработоспособное вызывает отказ системы. При правильном подборе элементов сечения возвращение любого из элементов в работоспособное состояние восстанавливает работоспособное состояние системы. Поскольку отказ каждого из сечений вызывает отказ системы, то первые соединяются последовательно. В пределах каждого сечения элементы соединяются параллельно, так как для работы системы достаточно наличия работоспособного состояния любого из элементов сечения.
Схема минимальных сечений для мостиковой схемы приведена на рис. 2.6. Поскольку один и тот же элемент включается в два сечения, то полученная оценка является оценкой снизу:

Рис. 2.5 Набор минимальных путей

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

Рис. 2.7Размеченный граф состояний восстанавливаемой системы
Надежность таких систем описывается системой алгебраических уравнений, число которых соответствует числу возможных состояний системы. Для их составления используется ориентированный граф состояний, вершины которого соответствуют возможным состояниям системы, а ребра характеризуют направление и вероятность перехода из одного состояния в другое.
В качестве примера проанализируем надежность системы защиты, которая может находиться в трех состояниях: работоспособном, ложного срабатывания и несрабатывания, обозначенных на рис. 2.7 соответственно цифрами 1, 2, 3. За интервал времени t свероятностью р 11 система сохраняет работоспособное состояние либо с вероятностями р 12 и p 13 переходит в неработоспособные состояния 2, 3. За этот же интервал времени после ложного срабатывания система с вероятностью p 21 восстанавливается и возвращается в работоспособное состояние 1. За интервал t система может сохранить состояние 2, вероятность этого события составляет р 22 . Аналогично вероятности р 33 , р 31 характеризуют качество восстановления системы после ее несрабатывания. При восстановлении всех отказавших систем р 22 =р 33 =0, a р 21 =p 31 =1.
Вероятность нахождения системы в любом из состояний после i интервалов времени определяется следующей системой алгебраических уравнений:
(2.9)
После любого числа интервалов p 1 (i)+ р 2 (i)+ р 3 (i) = 1 . Для решения системы уравнений (2.9) необходимо задать начальное распределение вероятности между состояниями системы. При работоспособном состоянии системы в начальный момент времени Р 1 (0) =1 , а Р 2 (0) = Р 3 (0) = 0 .
Вероятность нахождения системы после i интервалов в состоянии j рассчитывается по формуле:
Р j (i)=М(0)М i D j , (2.10)
где M(0)=||P 1 (0)P 2 (0)P 3 (0)|| - вектор-строка начального состояния системы; М i -матрица переходов; D j -вектор-столбец анализируемого состояния. Онсодержит нули и одну единицу, которая стоит на месте анализируемого состояния. Так, если после i интервалов определяется вероятность нахождения системы в состоянии ложного срабатывания, то
Матрица переходов составляется непосредственно по графу состояний. Для рассматриваемого примера матрица переходов имеет следующий вид:
. (2.11)
Матрица переходов является квадратной: число строк и столбцов равно числу состояний системы. Для записи матрицы удобно воспользоваться следующим приемом. Если вне матрицы обозначить через 1i, 2i, 3i состояния системы после i интервалов, а 1(i-1), 2(i-1), 3(i-1) ее предшествующие состояния, то в матрицу записываются вероятности перехода из соответствующего предшествующего в то или иное текущее. Так, если предшествующее состояние 2(i-1) , а текущее 1i , то в пересечении соответствующей строки и столбца записывается р 21 . Таким образом, строки матрицы переходов определяют вероятности сохранения того или иного состояния и выхода из него в другие состояния системы, сумма этих вероятностей равна единице.
Столбцы матрицы представляют собой коэффициенты уравнений (2.9) при P j (i-1) . Эти коэффициенты определяют вероятности прихода системы в анализируемое состояние из всех возможных, включая анализируемое. При перемножении матриц их перестановка в (2.10) не допускается.
При бесконечно большом числе интервалов распределение вероятности между состояниями не зависит от начального состояния и определяется системой уравнений:
(2.12)
где Р 1 , Р 2 , Р 3 – предельные (финальные) вероятности пребывания системы в соответствующих состояниях.
Поскольку уравнения (2.12) являются линейно зависимыми, то для определения Р 1 Р 2 , P 3 используется уравнение P 1 + Р 2 + P 3 =1 и два наиболее простых уравнения (2.12).
Метод переходных интенсивностей. Экспоненциальное распределение с удовлетворительной точностью описывает функционирование технических систем и их элементов на участке нормальной эксплуатации. Применение экспоненциального распределения для описания процесса восстановления позволяет при ординарных независимых отказах представить анализируемые системы в виде марковских систем с непрерывным временем и использовать для анализа их надежности систему линейных дифференциальных уравнений первого порядка.
Экспоненциальное распределение описывает процессы в системах без предыстории, поскольку изменение вероятности их нахождения в том или ином состоянии за интервал t зависит только от длительности временного интервала.
Рассмотрим кратко методику определения вероятностей состояний Марковского процесса с непрерывным временем.
Пусть система может находиться в некоторых состояниях, число которых конечно (равно n ). Номера состояний: 0, 1, 2, 3,…,n .
Если система может находиться только в двух состояниях – работоспособном и восстановления, то снижение вероятности одного состояния приводит к соответствующему увеличению вероятности другого состояния, поскольку для любого момента времени Po(t)+P 1 (t)=1. На рис. 2.8, а представлен ориентированный граф переходов системы для рассматриваемой ситуации. Здесь состояние 0 соответствует работоспособному, а состояние 1 – неработоспособному (восстановления). Переходы системы из работоспособного состояния (0) в неработоспособное (1) происходит под действием потока отказов с интенсивностью отказов , а переход системы из неработоспособного (1) в работоспособное (0) – под действием потока восстановлений, с интенсивностью восстановления . Переход системы из состояния 0в состояние 1 происходит в момент наступления первого отказа.
Таким образом, вероятности нахождения систем в момент t+dt в каждом из рассматриваемых состояний связаны с соответствующими вероятностями:
(2.13)
Сопоставление (2.13) с системой уравнений (2.9) показывает, что в Марковских системах с непрерывным временем соответствуют вероятностям р 11 , p 12 , p 22 , p 21 используя первые, можно составить матрицу переходов, подобную (2.11).

Рис. 2.8 Граф состояний восстанавливаемой системы:
а – с двумя состояниями; б - произвольный узел графа
Поскольку /dt=dPi(t)/dt, то вероятность нахождения системы с непрерывным временем в каждом из состояний определяется следующей системой дифференциальных уравнений первого порядка, называемой системой Колмогорова-Чепмена:
(2.14)
В общем случае число дифференциальных уравнений определяется числом возможных состояний системы, которое (как для систем с дискретным временем) должно быть ограничено.
При записи системы дифференциальных уравнений предварительно составляется перечень возможных состояний системы и соответствующий ему ориентированный граф состояний, подобный представленному на рис. 2.8. Каждая из вершин соответствует одному из состояний системы, а ориентация ребер определяется направлением перехода. Так, граф состояний рассмотренной выше системы с двумя состояниями обычно изображается в виде, представленном на рис. 2.8, а. С помощью его и системы дифференциальных уравнений 2.14 легко проверяется общий принцип записи дифференциального уравнения для произвольной вершины i (рис. 2.8, б), в которую система может прийти из т вершин и из которой переходит в одну и п вершин:
(2.13)
Проверкой правильности составления системы дифференциальных уравнений является равенство нулю суммы правых частей уравнений.
Первая сумма в правой части формулы (2.13) распространяется на те значения j , для которых возможен непосредственный переход из состояния отказав работоспособное состояние (т. е. для которых ), а вторая – на те значения j , для которых возможен непосредственный переход из работоспособного состоянияв состояние отказа (т. е. ).
Систему дифференциальных уравнений (2.13) решают при начальных условиях, задающих вероятности состояний в начальный момент при t=0 :
причем для любого момента времени t выполняется нормировочное условие:
Получить систему уравнений (2.13) можно непосредственно по виду размеченного графа состояний, если пользоваться следующим правилом: для каждого из возможных состояний системы записывается уравнение, в левой части которого , а справа – столько слагаемых, сколько стрелок графа соприкасается с данным состоянием. Если стрелка направлена в данное состояние, то перед слагаемым ставится плюс, если стрелка направлена из данного состояния – минус. Каждое из слагаемых будет равно произведению интенсивности перехода из данного состояния (либо в данное состояние) на вероятность состояния, из которого выходит стрелка.
Решение системы уравнений (2.13) осуществляется по известным правилам решения системы дифференциальных уравнений. Однако его можно существенно упростить, если учесть, что рассматриваемый процесс – процесс марковский стационарный, для которого производные можно принять равными нулю (вероятности состояний не меняются с течением времени). Система дифференциальных уравнений (2.13) переходит при этом в систему алгебраических уравнений.
Теория надежности, основные понятия которой введены в гл. 1, развивалась для описания технических систем, включая технические средства АС. Отказы происходят из-за разрушения и старения компонентов, причем восстановление требует ремонта, регулировки, замены компонентов или технического средства. Разрушение истарение несвойственно ни программному обеспечению (ПО) системы в целом, ни отдельным программам. Тем не менее, возможно перенесение некоторых понятий, терминов и методов надежности и на ПО (принимая при этом определенную условность такого подхода).
При разработке ПО может возникнуть ряд причин, приводящих к возникновению ошибок: неправильное понимание программистом алгоритма; неправильное составление общей структуры ПО и взаимосвязи программ; неправильный выбор методов защиты программ; ошибки в переносе программ па носители и др.
Отладка ПО не может устранить все ошибки, так как число возможных сочетаний входных данных и состояний системы при ее функционировании настолько велико, что заранее проверить все возможные ветви прохождения программ практически невозможно. Поэтому поток моментов проявления ошибок ПО при функционировании АС носит случайный характер: ошибки проявляются в случайные моменты времени, когда программа выйдет на тот участок, где имеется ошибка.
Существуют два подхода к выбору показателей надежности ПО. С одной стороны, возможно использовать обычные показатели надежности, такие как вероятность отсутствия ошибок за время t ; среднее время между ошибками; среднее время восстановления ПО после прекращения функционирования и т. п. Данные показатели характеризуют проявление ошибок ПО во времени, поэтому их целесообразно использовать для ПО, непрерывно эксплуатируемого. Для программ, используемых нерегулярно (при необходимости), возможно применение таких показателей, как вероятность успешного выполнения одного прогона программы, вероятность того, что данное ПО сумеет решить произвольную задачу из потока реальных задач.
Однако при применении понятий классической теории надежности к ПО следует учитывать особенности и отличия этих объектов от традиционных технических систем, для которых первоначально разрабатывалась теория надежности :
Не для всех видов программ применимы понятия и методы теории надежности – их можно использовать только к ПО, функционирующим в реальном времени и непосредственно взаимодействующим с внешней средой;
Доминирующими факторами, определяющими надежность программ, являются дефекты и ошибки проектирования и разработки, и второстепенное значение имеет физическое разрушение программных компонент при внешних воздействиях;
Относительно редкое разрушение программных компонент и необходимость их физической замены, приводит к принципиальному изменению понятий сбоя и отказа программ и к разделению их по длительности восстановления относительно некоторого допустимого времени простоя для функционирования информационной системы;
Непредсказуемость места, времени и вероятности проявления дефектов и ошибок, а также их редкое обнаружение при реальной эксплуатации достаточно надежных программных средств, не позволяет эффективно использовать традиционные методы априорного расчета показателей надежности сложных систем, ориентированные на стабильные, измеряемые значения надежности составляющих компонент;
После исправления ошибки в программе эта же ошибка в дальнейшем не может повториться. Более того, ошибки, выявленные в ПО одной из нескольких однотипных систем, обычно исправляются во всех таких системах. Поток ошибок ПО нестационарный, так как по мере выявления ошибок параметр их потока уменьшается. Отказы ТС по одной и той же причине носят повторяющийся характер; после восстановления такой же отказ и этого, и иных аналогичных средств по той же причине может повториться вновь. Поток отказов ТС в установившемся режиме с тем или иным приближением можно принять стационарным.
С учетом перечисленных особенностей для описания надежности ПО могут быть использованы специальные показатели, характерные только для ПО и отражающие, главным образом, качество выполнения ПО. Эти показатели позволяют оценить следующие свойства ПО, составляющие понятие «надежность ПО»:
1. Корректность - статическое свойство программы, определяемое как отсутствие ошибок в ней. Корректность программ обеспечивается отладкой (проверкой) на множестве исходных данных, регламентированных документацией.
2. Устойчивость - динамическое свойство программы, которое характеризует ее способность давать правильные результаты при аппаратных, информационных и эргатических воздействиях. При этом выделяют два вида устойчивости:
- толерантность - способность программы продолжать свою работу и выдавать правильные результаты при наличии перечисленных воздействий.
- консервативность - способность программы при наличии возмущений, не позволяющих правильно решить задачу, перевести вычислительную систему в состояние отказа, из которого с минимальными потерями можно выполнить процедуру рестарта. Устойчивость программ обеспечивают структурной, информационной, временной и алгоритмической избыточностью.
Классификация отказов ПО. Для современного ПО характерны такие виды нарушения работоспособности, как отказ, сбой и ошибка ПО ,определение которым было дано в п. 1.1. В свою очередь отказы ПО бывают:
- программными - из-за не выявленных ошибок в программе, которые возникают при определенном сочетании данных и команд, соответствующем спецификации;
- информационными - результаты работы искажаются из-за ошибок входных данных;
- аппаратными - возникают в результате перемежающихся отказов технических средств и/или возникновения ошибок в операционных средах (сбоев);
- эргатическими - возникают из-за некорректных действий пользователей.
При определении надежности программных средств рассматривают, как правило, только программные отказы, обусловленные наличием не выявленных ошибок в программе.
Ошибки могут быть допущены на всех этапах жизненного цикла ПО. Рассмотрим разновидности ошибок ПО и соответствующие примеры.
1. Неправильная постановка задачи.
2. Неверный алгоритм.
3. Ошибка анализа (неполный учет ситуаций, которые могут возникнуть; логические ошибки).
4. Семантические ошибки (непонимание порядка выполнения оператора).
5. Синтаксические ошибки (нарушение правил, определяемых языком программирования).
6. Ошибки при выполнении операций (слишком большое число, деление на ноль, извлечение квадратного корня из отрицательного числа и т. п.).
7. Ошибки в данных (неудачное определение возможного диапазона изменения данных).
8. Опечатки (перепутаны близкие по написанию символы, например, цифра 1 и буквы I, l ).
9. Ошибки ввода-вывода (неверное считывание входных данных, неверное задание форматов данных).
Показатели качества и надежности современных ПО. Формализации показателей качества ПО посвящена группа нормативных документов, в которых выделены характеристики, позволяющие оценивать ПО с позиции пользователя, разработчика и управляющего проектом. Рекомендуется 6 основных характеристик качества ПО, каждая из которых детализируется несколькими (всего 21) субхарактеристиками :
1. Функциональная пригодность – это набор атрибутов, определяющий назначение, номенклатуру, основные необходимые и достаточные функции ПО, заданные техническим заданием заказчика или потенциального пользователя.Функциональная пригодность детализируется:
Пригодностью для применения;
Точностью;
Защищенностью;
Способностью к взаимодействию;
Согласованностью со стандартами и правилами проектирования.
2. Надежность – это способность программы обеспечивать достаточно низкую вероятность отказа в процессе функционирования в реальном времени. Надежность рекомендуется характеризовать:
Уровнем завершенности (отсутствия ошибок);
Устойчивостью к ошибкам;
Перезапускаемостью.
3. Применимость описывается:
Понятностью;
Обучаемостью;
Простотой использования.
Ресурсной избыточностью;
Временной избыточностью.
5. Сопровождаемость детализируется:
Удобством для анализа;
Изменяемостью;
Стабильностью;
Тестируемостью.
6. Переносимость предлагается отражать:
Адаптируемостью;
Структурированностью;
Замещаемостью;
Внедряемостью.
К показателям надежности ПО можно отнести следующие показатели.
1. Вероятность ошибки в ПО
(2.16)
где n – число возможных подмножеств входных данных; p i - вероятность выбора i –го подмножества; y i - динамическая переменная, y i =0, если выходной результат верен для i –го подмножества; y i =1, если выходной результат неверен.
Cтатистическое определение вероятности ошибки
где l – количество входных подмножеств, при испытаниях которых возникли сбои.
2. Функция надежности ПО, определяемая как вероятность того, что программный сбой произошел за пределами интервала (0,t) :
(2.18)
где - случайный момент времени, в который произошел программный сбой.
Динамический вычислительный процесс обработки данных, автоматизированной подготовки решений и выработки управляющих воздействий;
Информация, накопленная в базах данных, отражающая объекты внешней среды, и процессы ее обработки;
Объектный код программ, исполняемых вычислительными средствами в процессе функционирования ПО;
Информация, выдаваемая потребителям и на исполнительные механизмы, являющаяся результатом обработки исходных данных и информации, накопленной в базе данных.
Вышеперечисленные компоненты ПО являются в некотором роде объектами уязвимости, на которые воздействуют различные дестабилизирующие факторы, которые можно разделить на внутренние , присущие самим объектам уязвимости, и внешние , обусловленные средой, в которой эти объекты функционируют.
К внутренним дестабилизирующим факторам относятся следующие дефекты ПО:
Системные ошибки при постановке целей и задач создания ПО, при формулировке требований к функциям и характеристикам решения задач, определении условий и параметров внешней среды, в которой предстоит применять ПО;
Алгоритмические ошибки разработки при непосредственной спецификации функций ПО, при определении структуры и взаимодействия компонент комплексов программ, а также при использовании информации баз данных;
Ошибки программирования в текстах программ и описаниях данных, а также в исходной и результирующей документации на компоненты и ПО в целом;
Недостаточную эффективность используемых методов и средств оперативной защиты программ и данных от сбоев и отказов и обеспечения надежности функционирования ПЩ в условиях случайных негативных воздействий.
Внешними дестабилизирующими факторами являются:
Ошибки оперативного и обслуживающего персонала в процессе эксплуатации ПО;
Искажения в каналах телекоммуникации информации, поступающей от внешних источников и передаваемой потребителям, а также недопустимые для конкретной АС характеристики потоков внешней информации;
Сбои и отказы в аппаратуре вычислительных средств;
Изменения состава и конфигурации комплекса взаимодействующей аппаратуры АС за пределы, проверенные при испытаниях или сертификации и отраженные в эксплуатационной документации.
Теория надежности аппаратуры частично применима к проблеме надежности программного обеспечения, учитывая следующие различия между надежностью аппаратуры и программного обеспечения:
Элементы программного обеспечения не стареют из-за износа или усталости;
В аппаратуре использование стандартных элементов распространено намного шире, чем в системе программного обеспечения;
Количество документации по программному обеспечению гораздо больше по сравнению с количеством документации для аппаратных средств;
Ввести изменения в программы просто, но трудно сделать это корректно.
Надежность программного обеспечения - свойство программы выполнять заданные функции, сохранять свои характеристики в установленных пределах при определенных условиях эксплуатации. Надежность программного обеспечения определяется его безотказностью и восстанавливаемостью.
Безотказность программного обеспечения или программы - свойство программы сохранять работоспособность при использовании в процессе обработки информации.
Безотказность программного обеспечения можно также характеризовать средним временем между возникновениями отказов в процессе функционирования программы. При этом предполагается, что аппаратура информационной системы находится полностью в работоспособном состоянии.
Важной характеристикой надежности программного обеспечения является его восстанавливаемость, которая определяется затратами времени и труда на устранение отказа из-за проявившейся ошибки в программе и его последствий. Восстановление после отказа в программе может заключаться в корректировке и восстановлении текста программы, исправлении данных, внесения изменений в организацию вычислительного процесса.
Принципиальное отличие программного обеспечения от аппаратуры состоит в том, что программное обеспечение не изнашивается и его выход из строя из-за поломки невозможен. Поэтому характеристики функционирования программного обеспечения зависят только от его качества.
В значительной степени на функционирование программного обеспечения влияют входные данные. Так проявление ошибок программного обеспечения связано с тем, что в некоторые моменты времени на обработку поступают ранее не встречавшиеся совокупности данных, которые программа не в состоянии корректно обработать.
Увеличение надежности программы является следствием того, что в процессе эксплуатации обнаруживаются и устраняются скрытые ошибки.
Основными причинами, непосредственно вызывающими нарушения нормального функционирования программы являются:
Ошибки, скрытые в самой программе;
Искажения входной информации, подлежащей обработке;
Неверные действия пользователя;
Неисправности аппаратуры, на которой реализуется вычислительный процесс.
В процессе отладки сложных программных средств невозможно обнаружить и ликвидировать все ошибки. В результате в программах остается некоторое количество скрытых ошибок. Они могут вызвать неверное функционирование программ при определенных сочетаниях входных данных. Наличие скрытых ошибок программного обеспечения является главным фактором нарушения нормальных условий его функционирования.
Искажение информации, подлежащей обработке, вызывает нарушение функционирования программного обеспечения, когда входные данные не попадают в область допустимых значений переменных программы. В этом случае между исходной информацией и характеристиками программы возникает несоответствие.
Причинами искажения вводимой информации могут быть следующие: сбои и отказы в аппаратуре ввода данных, шумы и сбои в каналах связи при передаче сообщений по линиям связи, сбои и отказы в аппаратуре передачи или приема информации, ошибки пользователей при подготовке исходной информации и т.д.
Неверные действия пользователя, приводящие к отказу в процессе функционирования программного обеспечения, связаны, прежде всего, с неправильной интерпретацией сообщений, с неправильными действиями пользователей в процессе работы с системой и т.д.
Отказы программного обеспечения, обусловленные ошибками пользователя, называют ошибками использования. Часто эти ошибки являются следствием некачественной программной документации (неверное описание возможностей программы, режимов работы, форматов входной и выходной информации, диагностических сообщений и т.д.).
Появление отказа или сбоя в работе аппаратуры приводит к нарушению нормального хода вычислительного процесса и во многих случаях - к искажению данных и текстов программ в основной и внешней памяти.
Всесторонний анализ ошибок, встречающихся в программах, возможен только при наличии точных данных об отказах программ, причинах отказов, о самих программах и условиях их разработки (квалификации программиста, сроков разработки и др.).
Эти данные являются основой для построения аналитических моделей надежности программ с целью ее оценки и прогнозирования, а также для нахождения путей ее обеспечения и повышения. Модели надежности программ строятся на предположении, что проявление ошибки является случайным событием и поэтому имеет вероятностный характер.
Для построения моделей используются следующие характеристики надежности программ:
Функция надежности P(t), определяемая как вероятность того, что ошибка программы не проявится на интервале от 0 до t, т.е. время ее безотказной работы будет больше t;
Функция ненадежности Q(t) - вероятность того, что в течение времени t произойдет отказ программы в результате проявления ошибки в программе;
Интенсивность отказов - условная плотность вероятности времени до возникновения отказа программы при условии, что до момента t отказа не было;
Средняя наработка до отказа - математическое ожидание временного интервала между последовательными отказами.
Наибольшее распространение получили модели, основанные на экспоненциальном характере изменения числа ошибок в зависимости от времени тестирования и функционирования программы.
Экспоненциальная модель надежности основана на предположении об экспоненциальном характере изменения во времени числа ошибок в программе.
В этой модели прогнозируется надежность программы на основе данных, полученных во время тестирования. В модели вводится суммарное время функционирования, которое отсчитывается от момента начала тестирования программы (с устранением обнаруженных ошибок) до контрольного момента, когда производится оценка надежности. Тестирование информационной подсистемы проводится в течение одного месяца (= 168 ч.).
Предполагается, что все ошибки в программе независимы и проявляются в случайные моменты времени с постоянной средней интенсивностью в течение всего времени выполнения программы. Это означает, что число ошибок, имеющихся в программе в данный момент, имеет пуассоновское распределение, а временной интервал между двумя программами распределен по экспоненциальному закону, параметр которого изменяется после исправления ошибки.
Если M - число ошибок, имеющихся в программе перед фазой тестирования (M = 10); m() - конечное число исправленных ошибок, а m 0 () - число оставшихся ошибок, тогда
m 0 () = M - m() (4.4)
При принятых предположениях интенсивность отказов пропорциональна m 0 (), т.е.
где C - коэффициент пропорциональности, учитывающий реальное быстродействие системы и число команд в программе.
Перед началом работы системы (t = 0) ни одна ошибка исправлена не была (= 0), поэтому
Будем характеризовать надежность программы после тестирования в течение времени средним временем наработки на отказ:
Следовательно,
Введем - исходное значение среднего времени наработки на отказ перед тестированием (= 1000 ч.). Тогда
В результате имеем
Очевидно, что среднее время наработки на отказ увеличивается по мере выявления и исправления ошибок.
Расчет надежности разработанной информационной системы показал, что надежность программного обеспечения в несколько раз ниже надежности аппаратуры. Это можно объяснить двумя основными причинами:
В информационной системе используется испытанная аппаратура, прошедшая долговременное тестирование;
На тестирование информационной системы отведено недостаточное время для получения достоверных данных.
Следовательно, увеличение времени тестирования позволит более точно определить основные показатели надежности разработанной системы и увеличить ее надежность.







