Научная статья на тему 'Метод повышения надежности программного обеспечения в системах управления движением поездов'

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

CC BY
146
23
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
надёжность / программное обеспечение / инжиниринг / система управления движением поездов / reliability / software / engineering / control system railway transport

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Чепцов М. Н., Сребная И. Г.

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Чепцов М. Н., Сребная И. Г.

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

Method of software reliability improvement of the control system railway transport

The article discusses the methods and models used to improve the reliability of software. A method for improving the reliability and safety of microprocessor automation devices is proposed.

Текст научной работы на тему «Метод повышения надежности программного обеспечения в системах управления движением поездов»

УДК 004.052.2

ЧЕПЦОВ М.Н., д.т.н., профессор (Донецкий институт железнодорожного транспорта) СРЕБНАЯ И.Г., ассистент (Донецкий институт железнодорожного транспорта)

Метод повышения надежности программного обеспечения в системах управления движением поездов

Cheptsov M.N., Doctor of technical science, professor (DRTI) Srebnaja I.G., Assistant (DRTI)

Method of software reliability improvement of the control system railway transport

Введение

Компьютерные и

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

централизации, блокировки (СЦБ), так и показателей их надёжности и безопасности. Вместо жёсткого однозначного алгоритма построения релейных систем ЖАТ внедряются новые принципы их реализации за счёт применения современных программных средств, включая элементы

искусственного интеллекта [2, 3].

Одним из основных требований, которые должны учитываться при разработке систем ЖАТ, является обеспечение заданных в нормативной документации показателей надежности и безопасности ПО [4].

Анализ публикаций

Как известно, причинами появления отказов и сбоев микропроцессорной системы являются

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

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

законченности программы.

Несколько иной подход представлен в работе [6], где предложен статистический метод, основанный на внесении в программу искусственных ошибок. Однако его применение затруднительно, так как результат их выявления зависит от опыта человека, проводящего анализ. Этого недостатка лишен функциональный подход, предложенный в работе [7], где

программное обеспечение

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

Следует отметить, что

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

В свою очередь современный подход к программированию предполагает применение средств модульного тестирования [8, 9], которое позволяет осуществлять проверку на корректность отдельных модулей вне зависимости от общего объема программного обеспечения.

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

Цель работы_

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

Основной материал_

Отсутствие ошибок программного обеспечения не является гарантией

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

Рассмотрим пример возможной реализации в программном обеспечении проверки условий безопасности в пусковой цепи схемы управления стрелкой [10]. Пусковая цепь предназначена для включения управляющих реле с проверкой условий безопасности движения - свободности стрелочного участка (реле СП) и отсутствия замыкания этой стрелки в установленном маршруте (реле З). В результате её функционирования происходит подключение двигателя к рабочей цепи. Тогда алгоритм программного обеспечения

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

микропроцессорного устройства, можно представить в виде:

Х(0 = [х1Ю,х2Ю], (1)

где х^) - входная информация о замкнутости стрелки в маршруте;

х2(^ - входная информация о свободности стрелочной секции.

После поступления сигналов х-(£) и х2(^ выполняется проверка выполнения условий безопасности в блоках Ъ1 и Ъ2 соответственно.

Рис. 1. Алгоритм функционирования пусковой цепи стрелки

базе нейросетевого элемента «И», состоящего из 3-х нейронов (2 - во входном слое, 1 - в выходном) [11]. Особенностью данного способа является генерация выходного сигнала только по фиксированным значениям на входах: 1,0 и 0,0, что позволяет исключить непредвиденное

срабатывание микропроцессорного устройства. Тогда описание алгоритма (см. рис. 1) можно представить в виде некоторой функции F(t), результат на выходе которой зависит от значений сигналов на входах х±(1), х2^):

-, (3)

где

_ 1 Х1(^ = 1 + ек-(1-ч*у

_ 1

Х2(?> = 1 + ек-(1-ч*у

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

= рХО, если %1(Ь) = 1 и Х2ОО = 1, (2\ " (С) {0, если х1 (О = 0 или х2 (С) = 0. (2)

При воздействии не выявленных в процессе тестирования ошибок происходит искажение выходного сигнала блоков Ь1 и Ъ2 вследствие чего возможно срабатывание

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

где х^), х2(1) - значения на входах элемента;

Н^) - значение на выходе; к - весовой коэффициент нейросетевого элемента;

ц - коэффициент наклона функции возбуждения нейронов.

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

Рис. 2. Реализация фрагмента алгоритма с помощью нейросетевого элемента «И»

Из выражения (2) видно, что в области определения х^) Е [-го; от] , х2(0 Е [-от; от] значения функции лежат в диапазоне Щх-^^х^)) Е [0; 1] , что соответствует таблице истинности элемента:

Таблица 1 Истинность нейросетевого элемента «И»

Xi(t) *2(0 tf(xi(t),X2(0)

0 0 0

1 0 0

0 1 0

1 1 1

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

Выводы

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

микропроцессорных системах ЖАТ.

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

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

обеспечения.

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

1. Теег, Г. Системы автоматики и телемеханики на железных дорогах мира / Г. Теег, С. Власенко. - М.: ИНТЕКСТ, 2010. - 490 с.

2. Горелик, А.В. Системы железнодорожной автоматики, телемеханики и связи / А.В. Горелик, Д.В. Щалягин, Ю Г. Боровков, В.Е. Митрохин. - М.: ФГБОУ «Учебно-методический центр по образованию на железнодорожном транспорте», 2012. -272 с.

3. Рассел, С. Искусственный интеллект. Современный подход: пер. с англ. / С. П. Рассел, П. Норвиг. - М.: ООО «И.Д. Вильямс», 2016. - 1408 с.

4. ГОСТ 28195-99. Метод количественной оценки качества программных средств.

5. Казарин, О.В. Безопасность программного обеспечения компьютерных систем [Монография] / О.В. Казарин. - М.: МГУЛ, 2003. -212 с.

6. Павловская, О.О. Статические методы оценки надежности программного обеспечения. Серия «Компьютерные технологии, управление, радиоэлектроника». -Вып. 10, 2007.

7. Степович-Цветкова, Г.С. Функциональный подход к надежности компьютерных программ / Г.С. Степович-Цветкова // Перспективы развития науки и образования. - М.: «АР-Консалт», 2013. - 155 с.

8. R. Osherove, The art of unit testing, Second Edition. Manning Publications Co., Unitet States of America, 2014. - 294 с.

9. D. Sale, Testing Python. John Wiley & Sons Ltd, The Atrium, Southern Gate, Chichester, West Sussex, PO19 8SQ, United Kingdom, 2014. - 243 с.

10. Рогачева, И.Л. Станционные системы автоматики / И.Л. Рогачева, А.А. Верламова, А.В. Леонтьев. - М.: ГОУ «Учебно-методический центр по образованию на железнодорожном транспорте», 2007. - 411 с.

11. Чепцов, М. Н. Методы синтеза сигнально-процессорной централизации стрелок и сигналов: монография / М. Н. Чепцов, А. Б. Бойник, Д. Н. Кузьменко. - Донец. ин-т ж. трансп. - Донецк, 2010. - 239 а

Аннотации

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

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

автоматики.

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

The article discusses the methods and models used to improve the reliability of software.

A method for improving the reliability and safety of microprocessor automation devices is proposed.

Keywords: reliability, software, engineering, control system railway transport.

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