Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение в теорию надёжности (печатный).docx
Скачиваний:
90
Добавлен:
09.11.2019
Размер:
2.14 Mб
Скачать

2.3.5 Рекомендации по повышению надёжности программного обеспечения

Как было показано в 2.3.1 количество оставшихся в ПО ошибок В пропорционально объёму программы V. Уменьшение числа различных операций и операндов , от которых зависит объём программы, приводит к снижению числа переданных ошибок. Из примеров 1 и 2 ясно, что можно рекомендовать следующие способы снижения количества переданных ошибок и повышения надёжности ПО:

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

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

3. Реализуемый алгоритм должен быть оптимальным по объёму используемого ОЗУ, т.е. по числу переменных. Этому требованию отвечает концепция использования локальных, рабочих переменных, стека.

4. Необходимо стремиться к тому, чтобы обходиться минимальным набором команд при реализации алгоритма.

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

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

1) совершенствование технологии программирования;

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

3) резервирование программ (создание структурной избыточности);

4) контроль и тестирование программ с последующей их коррекцией.

Контрольные вопросы:

1.Какая система имеет основное соединение элементов?

2.Как классифицируют методы расчёта надёжности при основном соединении элементов в системе?

3.Объясните суть метода «мажоритарного» резервирования.

4.Какие два метода структурного резервирования идентичны друг другу?

5.Перечислите способы преобразования сложных схем.

6.В каком методе резервирования используется интеграл Дюамеля?

7.Что такое «программная ошибка», «прогон программы»?

3 Расчёт показателей надёжности при проектировании

3.1 Расчёт функциональной надёжности системы

3.1.1 Определение термина «функциональная надёжность» системы

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

Иной подход к задачам расчёта надёжности заключается в оценке возможности выполнения заданных функций. Рассмотрим этот подход на примере методики расчёта надёжности АСУ ТП.

Простейшая ячейка АСУ ТП включает в себя комплекс технических средств (КТС), программное обеспечение технических средств (ПО), оперативный персонал – всё это естественным образом усложняет смысл показателей надёжности системы.

КТС и ПО соответствующим образом резервированы, а оперативный персонал действует в рамках заданных инструкций и правил управления технологическим процессом. В связи со сложной иерархической структурой системы и наложением на неё взаимодействия КТС, ПО и оператора обычно выделяют большую или меньшую степень работоспособности системы или, точнее, возможность выполнения системой функций в рамках технического регламента. Речь идёт о выполнении или не выполнении определенной функции или, в рамках этой функции, какой-то процедуры, т.е. следует оценивать «функциональную надёжность системы». Для рассматриваемой системы можно наметить следующие этапы расчёта функциональной надёжности:

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

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

3. Расчёт надёжности выполнения заданной функции оперативным персоналом.

3.1.2 Определение вероятности выполнения заданной функции для системы

«комплекс технических средств – программное обеспечение – оператор»

Таким образом, понятие успешности выполнения заданной процедуры определяют для каждого из элементов системы отдельно с учётом установленных для данной процедуры условий и значений технологических величин. Статистически вероятность безотказной работы Pi (t) можно определить как отношение числа успешных реализаций заданной для i – той функции АСУ ТП процедуры к общему числу запросов на выполнение этой процедуры, поступивших за некоторый интервал времени в реальных условиях функционирования системы. В общем случае вероятность Pi (t) определяют показатели надёжности элементов (КТС, ПО и персонал) i – той функции АСУ ТП, выполняющих соответствующую процедуру системы. Полагая, что успешное функционирование КТС, ПО и персонала при выполнении заданной процедуры являются независимыми в совокупности событиями, вероятность выполнения заданной функции можно определить выражением

(3.1)

Здесь - вероятности безотказной работы КТС, ПО и оператора.

Если можно пренебречь и персонала i - ой функции АСУ ТП, то вероятность выполнения заданной функции сводится к . Вероятность безотказной работы комплекса технических средств в зависимости от определения термина «успешное выполнение процедуры» и требований, предъявляемых к КТС вследствие этого определения, может выражаться через различные показатели надёжности КТС. Если в условие работоспособности КТС в момент поступления запроса включается и непрерывное сохранение этого состояния в течение интервала времени , то в стационарном состоянии

(3.2)

Если же интервал времени очень мал, а вероятностью отказа КТС в этом интервале можно пренебречь, то

(3.3)

или

(3.4)

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

(3.5)

Здесь - события отказов КТС, ПО, персонала.