Научная статья на тему 'Динамический опасный отказ программного обеспечения'

Динамический опасный отказ программного обеспечения Текст научной статьи по специальности «Электротехника, электронная техника, информационные технологии»

CC BY
195
26
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по электротехнике, электронной технике, информационным технологиям, автор научной работы — Чепцов М. Н.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Динамічна небезпечна відмова програмного забезпечення

У роботі сформульовано поняття динамічної небезпечної відмови програмного забезпечення мікропроцесорних пристроїв управління рухом поїздів, виконано синтез моделі, розглянуто умови виникнення відмови.

Текст научной работы на тему «Динамический опасный отказ программного обеспечения»

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

Список литературы

¡.Обеспечение безопасности движения на переездах железных дорог мира. // Автоматика телемеханика и связь, 1997. - № 11- с.30-31.

2.Телевизионные системы контроля на Государственных железных дорогах ФРГ. // Железные дороги мир, 1985. - № 3 - с.28-36.

3.Грязин Г.Н. Системы прикладного телевидения: Учебное пособие для вузов. -СПб.: Политехника, 2000. - 277с.: ил.

4.Грузман И.С., Киричук В.С., Косых В.П., Перетян Г.И., Спектор А.А. Цифровая обработка изображений в информационных системах: Учебное пособие. -Новосибирск: Изд-во НГТУ, 2000. - 168с.

5.Воробьев В.И., Грибунин В.Г. Теория и практика вивлейт-преобразования. -СПб.: ВУС, 1999. - 204с.

6.Shumaker L., Webb G. Recent advances in wavelet analysis. - New York: «Academic Press», 1993. - 480p.

УДК 656.25

Чепцов М.Н., к.т.н., доцент (ДонИЖТ)

ДИНАМИЧЕСКИЙ ОПАСНЫЙ ОТКАЗ ПРОГРАММНОГО

ОБЕСПЕЧЕНИЯ

Анализ исследований и публикаций, постановка задачи исследования. Теория надежности и безопасности систем железнодорожной автоматики и телемеханики (СЖАТ) сложилась как самостоятельная научная дисциплина в 50 - 60-х гг. прошлого столетия [1]. Необходимость ее выделения из общетехнической теории обусловлена

особенностями предметной области, связанными со спецификой СЖАТ и условиями их функционирования.

Впервые формулировка понятий и оценка значений безопасности устройств сделана в работе А.А. Эйлера и С.И. Залгаллер [2]. Дальнейшее становление и развитие положений теории связано со следующими именами: Доманицкий С.М., Дмитренко И.Е., Дружинин Г.В., Зекцер Д.М., Меньшиков Н.Я., Ягудин Р.Ш., Королев А.И., Моньяков Н.В., Перникис Б.Д., Кравцов Ю.А., и др.

Следует отметить два основных направления, прослеживающиеся в теории надежности и безопасности СЖАТ в настоящее время:

1) классический подход, присутствующий в работах Сапожникова В.В., Сапожникова Вл.В., Шаманова В.И. и др.;

2) статистическая теория безопасности Лисенкова В.М. [3].

Оба направления базируются на сходных понятиях и определениях, отличие состоит в методах анализа и синтеза моделей безопасности. В первом случае применяются индуктивные методы, когда доказательство безопасности СЖАТ производится для относительно простых устройств и отдельных элементов. Далее, путем обобщения, укрупнения, применения соответствующих методов, выводятся показатели безопасности систем. При втором подходе, преимущественно, используются дедуктивные методы - введены укрупненные характеристики безопасности: ответственный технологический процесс, риск потерь, состояние перевозочного процесса и т.д. Анализ и доказательство безопасности производится по нисходящей до отдельных узлов и элементов СЖАТ.

Классическое определение безопасности СЖАТ, как свойства системы быть устойчивым к возникновению опасных отказов, связано с основным элементом, его обеспечивающим - реле первого класса надежности. Как известно, данный элемент имеет специальную конструкцию, безопасность его функционирования обеспечивается физическим принципом - наличием неизменной во времени силой тяготения, т.е. при любом отказе заранее известно, что якорь отпадает под собственным весом и размыкает фронтовой контакт. Для доказательства безопасности любого схемного решения, построенного на данного типа реле, достаточно проанализировать возможные отказы каждого из элементов. Устройство считается безопасным, если любая неисправность любого элемента не приведет к опасному состоянию СЖАТ [1]. В данном случае рассматриваются статические отказы, возникшие в некоторый случайный момент времени t0. Причем считается, что устройство на промежутке времени функционирования t е [0; 10 [ исправно, а на

промежутке t е [^0; - неисправно, если не предполагается его восстановления.

С другой стороны, в СЖАТ существует ряд устройств, обеспечивающих безопасность функционирования, но построенных на реле не первого класса надежности. К таковым, например, относятся дешифраторы импульсно-проводной, кодовой автоблокировки, локомотивный дешифратор АЛСН и др. В данных случаях безопасность обеспечивается за счет динамической работы элементов, с учетом априорно известных временных характеристик их функционирования. При этом отсутствие опасных отказов обеспечивается за счет следующих физических принципов: емкости конденсаторов и индуктивности дросселей не могут увеличиться в процессе функционирования; время притяжения и отпадения якоря реле не может стать меньше определенной величины. Считая перечисленное очевидными фактами, классическая теория надежности и безопасности СЖАТ не рассматривает вероятности возникновения отказов, наступивших вследствие нарушения данных принципов.

Следует отметить, что областью научных исследований большинства перечисленных авторов, в основном являются технические средства, а не программное обеспечение (ПО). Так, в классической теории надежности и безопасности СЖАТ существует три понятия, классифицирующих отказы: внезапный, постепенный и перемежающийся, с разделением их на опасные и защитные. Однако, в приложении к программному обеспечению, постепенных отказов не существует, т.к. оно не подвержено постепенному изменению значений параметров в процессе старения. Многократно возникающий самоустраняющийся отказ аппаратуры одного и того же характера классически рассматривается в контексте перемежающегося [1]. Такой подход вполне оправдан при использовании как дискретной, так и микропроцессорной элементной базы, однако для программного обеспечения не вполне пригоден. Так, в основе моделирования надежности и безопасности технических средств лежит предположение, что в исходном состоянии устройство или система исправна и работоспособна. Отказы возникают вследствие внешних деструктивных воздействий и процессов старения элементов. В свою очередь программное обеспечение, не содержащее ошибок, считается абсолютно надежным. Отказы возникают вследствие проявления не выявленных в процессе проектирования и отладки ошибок ПО.

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

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

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

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

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

Условия возникновения опасного отказа.

Для управления объектами СЦБ при использовании микроэлектронной и микропроцессорной элементной базы, разработаны и широко применяются безопасные схемы согласования (БСС). К таковым, например, относятся трансформаторные схемы [4, рис. 11.31], [2, рис. 17.8], конденсаторные схемы умножения напряжения [4, рис. 11.33], [2,

рис. 17.2], схемы на DC/DC преобразователях [5, рис. 1.7] и др. Считается, что применение подобных схем в выходных каскадах устройств СЖАТ гарантированно отфильтровывает статические опасные отказы аппаратуры. На примере схемы [4, рис. 11.31], приведенной на рисунке 1, рассмотрим данный вопрос более подробно.

Рисунок 1 - Трансформаторная безопасная схема согласования и графики зависимости выходного напряжения и с от входного ивх

В исходном состоянии, при отсутствии сигнала и вх, транзистор УТ1 закрыт, в коллекторной цепи ток отсутствует, реле ИР без тока. При подаче импульсов ивх на базу УТ1 схема начинает работу в динамическом режиме. На вторичной обмотке трансформатора появляется импульсное напряжение, выпрямляемое диодом У01. Конденсатор С1 накапливает энергию импульсов, когда напряжение на нем станет равным напряжению срабатывания реле ИР, оно становится под ток.

Напряжение питания транзистора УТ1 должно быть меньше напряжения срабатывания реле ИР, что является основным условием безопасной работы схемы. Только в этом случае любая неисправность любого элемента схемы не приведет к ложному срабатыванию реле, следовательно, отказ будет являться защитным. В свою очередь статические отказы микропроцессорной или микроэлектронной аппаратуры (А), подключаемой к входу БСС (рисунок 2), могут

проявляться как электрический пробой (и вх = 1) или тепловой (и вх = 0).

И в первом и во втором случае реле ИР БСС обесточивается, устройство перейдет в защитное состояние.

Рисунок 2 - Структурная схема безопасного устройства

Предположим, что устройство А (рисунок 1) выполнено на микропроцессоре с программным обеспечением, выполняемым некоторую функциональность X), в соответствии с алгоритмом, содержащим

блоки проверки условий , блоки ввода-вывода информации (рисунок 3).

В общем случае Р(X) определяется множеством предикатов Р = {р1(х1,х2,...хп)\1 = 1,2,...,Ы}, зависящих от множества аргументов X={х^и=1,2,...,М} [6]. Однако в современных системах программное обеспечение достаточно сложное и зачастую множество Р не предусматривает реакцию на все возможные входные значения X, т.е.

существует некоторое множество X' е X, причем X' <£. X .

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

РО) = {Шкк,х(Ь)2,..х(^)п)\1 = 1,2,...,Ы}. (1)

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

Пример возникновения динамического опасного отказа.

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

структурной схеме, изображенной на рисунке 2 и выполняющей циклический алгоритм согласно рисунку 3.

Рисунок 3 - Алгоритм функционирования программного обеспечения

устройства А

Выходной сигнал = Р(^) или ¥(1) = 0 генерируется в

зависимости от выполнения условий в, содержащихся в предикатах (1). Допустим, Х(1) является периодической функцией (рис. 4), причем в каждом периоде значения аргументов от х(хг) до х(t2) описаны соответствующими предикатами согласно выражению (1). Значения аргументов от х(t3 ) до х(t4 ) не определены, т.е. [х(t3 )...х(t4 )] е X'(t) .

При наихудшем с точки зрения безопасности варианте, когда в результате непредусмотренного входного сигнала алгоритма попадает в блок вывода ¥(1) = ¥(1) (рисунок 3) имеем выходной сигнал иМд в виде периодических импульсов (рисунок 4). Безопасная схема БСС воспринимает их как полезный сигнал и реле ИР становится под ток (рисунок 1). Таким образом, при неучтенном в предикатах сигнале в блоке А возникает самовозбуждение, следовательно, микропроцессорное устройство переходит в опасное состояние. Так как в данном примере опасный отказ программного обеспечения вследствие наличия ошибок возникает периодически в течение некоторых коротких промежутков времени, то он подпадает под приведенное выше определение и его можно отнести к динамическому типу.

Синтез математической модели.

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

управления (ТАУ). Тогда, как рассмотренному примеру, так и большинству реальных СЖАТ соответствует структура с обратной связью

и передаточной характеристикой разомкнутого звена W(р) (рисунок

5).

Рисунок 4 - Входной и выходной сигналы устройства А

при его самовозбуждении

При такой структуре общей передаточной функции замкнутой системы соответствует выражение, представленное в операторной форме

[7]:

Ф(р) =

кр) = ^^1(р)

¥(р) 1 ± Ж^р^(р)

(2)

Рисунок 5 - Общая структура СЖАТ

В связи с тем, что функционирование программного обеспечения дискретно, то примем допущение о том, что выходная функция y(t) непрерывна, единственна и определенна в точках t0,t1,...,tn, причем период Лt = tn _ tn_1 равняется быстродействию микропроцессорного устройства. Тогда работу устройства А (рисунок 2) можно описать дифференциальным уравнением второго порядка:

Т21Ш + 2%Т^ + У(0 = ЬО) . (3)

Обозначения коэффициентов уравнения (3) являются принятыми в

ТАУ:

Т - постоянная времени, причем Т > 0 ; % - коэффициент демпфирования (затухания); к - коэффициент усиления. Как показано выше, опасным отказом устройства А может являться возникновение самовозбуждения в результате ошибок программного обеспечения, т.е. если выходная функция у(,) станет периодической. Это произойдет в случае наличия комплексных корней при решении характеристического квадратного уравнения, соответствующего однородному:

Т2а2 + 2%Та +1 = 0 . (4)

Корни квадратного уравнения:

аи =_±а±№_1), (5)

следовательно, условие возникновения генерации будет определяться неравенством 0 < % < 1.

Следует отметить, что в теории автоматического уравнения уравнение (3) применяется для описания колебательных процессов в звеньях, содержащих объекты с непрерывным (аналоговым) принципом

действия. В частности, при электротехнических расчетах: Т = СЬ -постоянная времени, образованная интегрирующим звеном, состоящим из

емкости и индуктивности; 2^ = CR - постоянная времени, образованная дифференцирующим звеном, состоящим из емкости и сопротивления.

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

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

Список литературы

1. Сапожников В.В., Сапожников Вл.В., Шаманов В.И. Надежность систем железнодорожной автоматики, телемеханики и связи: Учебное пособие для вузов ж.д. трансп./ Под ред. Вл.В. Сапожникова. - М.: Маршрут, 2003. - 263 с.

2. Эйлер А.А., Залгаллер С.И. Анализ способов защиты от ложных срабатываний контрольных реле стрелочных приводов // Сб. научных трудов ЛИИЖТ, 1953, вып. 5, с. 81-107.

3. Лисенков В.М. Статистичекая теория безопасности движения поездов. - М.: ВИНИТИ РАН, 1999. 332 с.

4. Сапожников Вл.В., Елкин Б.Н., Кокурин И.М. Станционные системы автоматики и телемеханики: Учеб. для вузов ж.-д. трансп. - М.: Транспорт, 1997. - 432 с.

5. Мкропроцесорна диспетчерська централiзацiя "КАСКАД" / М.1. Данько, В.1. Мойсеенко, В.З. Рахматов, В.1. Троценко, М.М. Чепцов: Навч. поабник. - Харюв, 2005. - 176 с.

6. Чепцов М. Н. Метод определения параметров безопасности программного обеспечения в микропроцессорных системах управления движением поездов // Збiрник наукових праць Дон1ЗТ, 2005. - №2 - с. 39 - 46.

7. Сапожников В.В., Кравцов Ю.А., Сапожников Вл.В. Теоретические основы железнодорожной автоматики и телемеханики: Учеб. для вузов / Под ред. В.В. Сапожникова. - М.: Транспорт, 1995. 320 с.

i Надоели баннеры? Вы всегда можете отключить рекламу.