Надежность
ПО и излишнее срабатывание
За
последнее время я ознакомился с несколькими работами, посвященными «надежности
программного обеспечения».
Первую
[1] я просто прочитал и включил в список литературы по надежности цифровых
устройств релейной защиты [3], а на вторую [2] написал рецензию
[4].
Между
собой эти работы объединяет рисунок, воспроизведенный ниже, где повторены
подрисуночные подписи из этих работ.
|
Интенсивность
отказов программного обеспечения и аппаратной части системы РЗА. (Рисунок
4 из [2]) |
Вид функции
интенсивности отказов для ПО и аппаратной части. (Рисунок 1 из
[1]) |
Первое,
что вызывает вопрос после ознакомления с рисунком, подрисуночными подписями к
нему и текстом статей – появление у ПО неизвестной до сих пор характеристики -
интенсивности отказов.
В
этих работах отмечено, что особенность «надежности программного обеспечения
заключается в том, что оно (ПО – примеч. моё) не изнашивается, надежность ПО со
временем лишь увеличивается при наличии системы исправления ошибок».
Как
изменяется надежность ПО, не имеющей ошибок, в этих работах ничего не
сказано.
Другими
словами, такой подход требует обязательного наличия ошибок в ПО, ведь только
постоянное выявление ошибок (авторы приравнивают наличие ошибки к отказу ПО,
хотя в стандарте [6] ошибка рассмотрена как дефект) в течение всего жизненного
цикла позволяет нарисовать график, приведенный выше.
Здесь будет нелишним задать вопрос, как будет изменяться график в том
случае, когда в ПО будут выявлены все ошибки, например, в момент времени
t1?
Неясно
так же, как изменяется график для ПО, имеющего ошибки, не влияющие на его
работу?
Кстати,
термин «интенсивность» отказов ПО отсутствует в терминологических стандартах [5,
6], а требование надежности в этих документах сформулировано только для
программного средства.
В
стандарте [6] надежность программного средства определена как его способность
сохранять заданный уровень пригодности в заданных условиях в течение заданного
интервала времени.
Примечание
к определению этого термина в конце концов связывает надежность программного
средства с надежностью работающей совместно с ним
технической системы, более того сводит к всё к качеству
ПО.
В
других публикациях, например, в [8] предлагают различать понятия «ошибка» и
«отказ». Применительно к надежности ПО, ошибка - это погрешность или искажение
кода программы, неумышленно внесенные в нее в процессе разработки, которые в
ходе функционирования этой программы могут вызвать отказ или снижение
эффективности функционирования.
Под
отказом автор [8] предлагает понимать событие, заключающееся в нарушении
работоспособности объекта, как это предусмотрено в стандарте [7] для ТС.
В
публикации [9] надежность программного обеспечения так же представлена как
следствие исключения ошибок проектирования, т.е. ошибок, внесенных в процессе
разработки программного обеспечения.
В
конечном итоге в работе [2] надежность ПО предложено определять
логико-вероятностным методом, опираясь на данные о надежности логических
элементов.
На
мой взгляд в дальнейших рассуждениях допущена принципиальная ошибка - высказано два ошибочных
предположения:
-
надежность аппаратной части не будет оказывать влияния на все виды отказов
релейной защиты;
-
надежность ПО является составляющей частью всех функций релейной
защиты.
После
этого автор работы [2] сводит отказ в выполнении логических операций к одну из
трёх видов отказов релейной защиты.
При
этом в расчетную схему «отказ в срабатывании» включена аппаратная часть, что
противоречит высказанному ранее предположению о том, что надежность аппаратной
части не будет оказывать влияния на все виды отказов релейной
защиты.
В
расчетной схеме «излишнее срабатывание», в отличие от двух других расчетных
схем, исключен исполнительный элемент, что вызывает вполне естественный вопрос
– как же происходит «излишнее срабатывание» без исполнительного
элемента?
В
конце публикации [2] автор предлагает надежность ПО оценивать через показатель
эффективности, вводя в этот показатель коэффициенты неготовности, связь которых
с надежностью ПО никак не пояснена.
Более того, предложенный автором интегральный показатель эффективности
содержит такие показатели как «средняя наработка на отказ», «поток повреждений»
и другие. О связи этих показателей с надежностью ПО в статье так же нет никаких
пояснений.
Кроме этого, принципиальная ошибка допущена при выделении трёх видов
отказов: «ложное срабатывание» [11], «отказ в срабатывании», «излишнее
срабатывание» [12].
Почему-то всё это напоминает формулы надежности [13], предлагаемые
другими специалистами.
Литература
1.
Типикина
А.П., Певцова Л.С. Оценка
программной надежности микропроцессорных релейных защит //
[Электронный ресурс], режим доступа: http://naukovedenie.ru/PDF/74TVN215.pdf (Интернет-журнал
«Науковедение» ISSN 2223-5167 http://naukovedenie.ru/)
2.
Трофимов А.С. Метод оценки надежности цифровой релейной защиты энергосистем. //
Релейщик, №3, 2016, С. 29
3.
Захаров О.Г. Библиография
работ по надежности цифровых устройств релейной защиты
// [Электронный ресурс], режим доступа: http://rza.org.ua/blog/a-64.html
4.
Оцениваем
надежность ЦРЗА? // [Электронный
ресурс], режим доступа: http://rza.org.ua/blog/a-320.html
5.
ГОСТ
Р ИСО/МЭК 9126-93
Информационная технология. Оценка программной продукции. Характеристики качества
и руководства
по
их применению // [Электронный ресурс], режим доступа: http://docs.cntd.ru/document/1200009076
6.
ГОСТ 28806-90. Качество программных
средств.
Термины и определения. // [Электронный ресурс], режим доступа: http://www.gosthelp.ru/gost/gost10605.html
7.
ГОСТ 27.002 – 2009.
Надежность в технике. Термины и определения.
//
[Электронный ресурс], режим доступа: http://guap.ru/guap/standart/kach/gost_r_27_002-2009.pdf
8.
Дроботун Е. Б. Надежность
программного обеспечения. Виды и критичность ошибок
// [Электронный ресурс], режим доступа: http://www.ivtn.ru/2009/pdf/d09_04.pdf
9.
Надежность
программного обеспечения
// [Электронный ресурс], режим доступа: http://www.tehprog.ru/index.php_page=lecture13.html
10.
ГОСТ 19871-90. Обеспечение систем
обработки информации программное.
Термины и определения. // [Электронный ресурс], режим доступа: http://docs.cntd.ru/document/gost-19781-90
11.
Захаров О.Г. Ложное
срабатывание
// [Электронный ресурс], режим доступа: http://www.energoboard.ru/articles/3040-lognoe-srabativanie.html
12.
Захаров О.Г. Ложное или излишнее срабатывание? //
[Электронный ресурс], режим доступа: http://rza.org.ua/blog/a-66.html
13.
Захаров О.Г. Формулы
надежности
// [Электронный ресурс], режим доступа: http://rza.org.ua/article/read/Formuly-nadezhnosti.html
© ЗАХАРОВ О.Г. 2016::: 2017
2013 | 2014 | 2015 | 2016 |
2010 | 2011 | 2012 |
2003 | 2004 | 2005 | 2007 | 2008 | 2009 |
1970-1992 | 1992-1996 |