автореферат диссертации по транспорту, 05.22.08, диссертация на тему:Метод обеспечения безопасности программных средств систем интервальногорегулирования с использованием сетей Петри

кандидата технических наук
Грушка, Валерий Анатольевич
город
Москва
год
1996
специальность ВАК РФ
05.22.08
Автореферат по транспорту на тему «Метод обеспечения безопасности программных средств систем интервальногорегулирования с использованием сетей Петри»

Автореферат диссертации по теме "Метод обеспечения безопасности программных средств систем интервальногорегулирования с использованием сетей Петри"

МПС РФ

Московский государственный университет путей сообщения

На правах рукописи УДК 656.22.05.08

ГРУШКА Валерий Анатольевич

МЕТОД ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ ПРОГРАММНЫХ СРЕДСТВ СИСТЕМ ИНТЕРВАЛЬНОГО РЕГУЛИРОВАНИЯ С ИСПОЛЬЗОВАНИЕМ СЕТЕЙ ПЕТРИ

Специальность 05.22.08 - Эксплуатация железнодорожного транспорта (включая системы сигнализации, централизации и блокировки)

'Автореферат диссертации на соискание ученой степени кандидата технических наук

Москва - 1996

Работ выполнена п Московском государственном ушшерсшете путей сообщения.

Научный руководитель - доктор технических наук, профессор

Лисенков D.M.

Официальные оппоненты - доктор технических наук, профессор

Горелов Г.В.

кандидат технических наук Астрахан В.И.

Ведущее предприятие - Управление сигнализации, связи и

вычислительной техники МПС РФ

Защита состоится " МОЛ_1996 г. в /4 час. мин.

на заседании диссертационного совета Д 114.05.04 Московского государствен ною университета путей сообщения. Луд. .

С диссертацией можно ознакомиться в библиотеке МППТа за • _ дней до защты.

Автореферат разослан ¿И'/х 4 1996 г.

Отзывы на автореферат в двух экземплярах, заверенных печатью, направят ь по адресу: 101475, Москва, ул. Образцова, 15.

Ученый сеьрешрь диссертационного ^

coBeia дл.п., профессор В П. Шелухин

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

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

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

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

- исследование особенностей использования программного обеспечения в системах ИРДП, анализ мер по повышению его безопасности;

- обоснование и выбор математической модели безопасности, позволяющем проводить комплексный анализ ПО на вероятность возникновения в нем опасных ошибок;

- разработка методики количественной оценки уровня безопасности программных средств;

- разработка методов построения ПО, обеспечивающих устойчивость программ к опасным отказам.

Объект исследования. Для разработки метода повышения безопасности программных средств, применяемых в системах ИРДП, проведен анализ литературных источников по теме. Обобщены подходы, используемые для разработан ПО в системах с повышенными требованиями по безопасности, в том числе в микропроцессорных системах автоблокировки. Исследованию подлежало программное обеспечение систем АБ-Е1, АБ-Е2, АБ-ЧКЕ, МСКП, эксплуатируемое на железных дорогах России.

Научная новизна. Научная новизна диссертационной работы состоит в следующем:

- на основе анализа существующих методов снижения риска возникновения опасных ситуаций предложена математическая модель безопасности программного обеспечения, построенная на ннгибиторной временной сети Петри (ИВСП);

- сформулированы основные определения и разработана методика обнаружения опасных состояний ПО; по данной методике написана и проверена на практике программа анализа ИВСП на безопасность;

- разработана методика количественной оценки безопасности программного обеспечения, построенного на основе предлагаемой модели;

- разработаны и апробированы на практике схемы ИВСП для отказоустойчивого программного обеспечения.

Практическая ценность. Теоретические исследования и практические разработки выполнены в рамках научно-исследовательских и опытно-конструкторских работ, проводимых по приказам Министра путей сообщения: "Микроэлектронная система автоблокировки АБ-Е1" (1989-1991 гг.); "Микропроцессорная система числовой кодовой автоблокировки АБ-ЧКЕ"; "Микропроцессорная система автоблокировки с децентрализованным размещением ап-

паратуры и рельсовыми цепями без изолирующих стыков АБ-Н2". Последние темы включены в "npoqmiMy разработки и внедрения средств СЦБ. связи и вычислительной техники на железных дорогах России на период 1903-2000 гг.", выполняемую в соответствии с Указанием Министра путей сообщения № 152-у от 1 июля 1993 года.

Апробация работы. Основные положения диссертации были доложены и получили одобрение на заседании кафедры "Автоматика и телемеханика на железнодорожном транспорте" МИИТа, на конференции "Неделя наукп-94", международном симпозиуме "Безопасность перевозочных процессов" (апрель 1995 года).

Публикация. По теме диссертации опубликованы три статьи, написанные лично автором.

Объём работы. Диссертация состоит m введения, четырёх глав, заключения, списка литературы и приложения. Общий объём работы - 138 страниц, в том числе 105 страниц машинописного текста. Содержит 26 иллюстрации, 1 таблицу. Список использованных источников включает 68 работ.

СОДЕРЖАНИЕ РАБОТЫ

Во введении обоснована актуальность выбранной темы и кратко изложены основные направления исследований. В диссертации предлагается новый подход к решению проблемы безопасности программного обеспечения, основанный на использовании средств, позволяющих моделировать процесс выполнения ПО в реальном масштабе времени с одновременным контролем выполнения требований его безопасности. Ориентированный в первую очередь на ПО встраиваемых микроЭВМ, применяемых в микропроцессорных системах ИРДГ1, он, тем не менее, может быть распространен и на более сложные объекты, включающие в себя, например, взаимодействие с оператором.

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

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

На рис. I в обобщенном виде показаны основные причины возникновения ■ отказов программного обеспечения. Так, причинами отказов Г10 могут служить аппаратура системы, действия оператора, программные ошибки, преднамеренные действия по отношению к программе (несанкционированный доступ). Основное внимание в диссертации уделено программным ошибкам, т.е. ошибкам, допускаемым программистами при реализации проектных решений. Все их множество можно разделить на следующие три группы:

- синтаксические ошибки, т.е. ошибки, заключающиеся в невыполнении грамматических правил языка программирования;

- ошибки времени выполнения, или семантические ошибки, т.е. ошибки, возникающие в то время, когда программа непосредственно исполняется из^а непонимания программистом при её написании значения или действия той или иной конструкции языка программирования;

- логические ошибки, связанные с н правильной реализацией исходных спецификаций на ПО.

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

Причины возникновения отказов програшшого обеспечения

Рис. 1

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

Решение о мерах повышения безопасности системы базируется на конечной оценке последствии возникновения опасных ошибок. Эта оценка может быть получена на основе: I) имеющейся информации о безопасности отдельных компонентой и модулей; 2) данных об имевших ранее место несчастных случаях, происшедших на аналогичных системах. Однако такие подходы имеют смысл в применении к аппаратной части системы и практически неприменимы для ПО, поскольку программы часто модифицируются для каждого варианта применения. Даже, если ПО используется без модификации повторно, интерфейсы между компонентами значительно сложнее по сравнению с аппаратной частью. Это осложнение существенно затрудняет построения модели взаимодействия компонентов, которая могла бы наиболее точно объединить вероятности отказов отдельных компонентов в единую проблему неисправности.

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

- большая мощность моделирования, позволяющая адекватно отражать процесс функционирования программ, в том числе управляющую логику;

- учет временных характеристик для моделирования проявления опасных ошибок программ, работающих в реальном масштабе времени;

- наличие механизма анализа на присутствие опасных ошибок в программе;

- возможность автоматизации процесса верификации на безопасность, в том числе комплексного анализа;

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

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

Вторая глава посвящена разработке математической модели безопасности программного обеспечения.

В качестве модели функционирования ПО были выбраны сети Петри. Выбор определялся следующими причинами:

- сети Петри разрабатывались специально для моделирования процессов, протекающих при функционировании программного обеспечения;

- обладают большой гибкостью моделирования, позволяющей проводить одновременный анализ поведения системы, включающей в себя аппаратные, программные и человеческий факторы;

- позволяют анализировать процессы, протекающие в сложных системах, которым присущи совмещенность и параллелизм действий;

- отражают поведение процессов в динамике, что позволяет применять их для анализа систем реального времени;

- понятие состояния сети Петри легко может быть соотнесено с понятиями штатного, нештатного неопасного, нештатного опасного и защищенного состояний системы, лежащих в основе теории безопасности;

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

- существует положительный опыт использования сетей Петри при анализе безопасности ПО в других областях.

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

Как правило, простые сети Петри используются для анализа на высоком уровне проектирования программ, что обусловлено рядом их существенных недостатков:

1) имеют малую моделирующую мощность, не позволяющую учесть все нюансы функционирования ПО;

2) не учитывают временных характеристик ПО.

Для устранении этих недостатков предлагается объединить две разновидности сетей Петри: сети Петри со сдерживающими дуг ами (ингибиторные дуги) и временные сети Петри. Полученный подкласс (ингибиторные временные сети 1 !етри (ИВСП)), сохранив мощность моделирования ннгибиторных сетей Петри, позволяет учитывать временные параметры моделируемой системы.

Для определения временных задержек переходов предложено использован, два значения: максимальное Мах и минимальное Min. На основанин вышеизложенного сформулируем определение ИВСП, приемлемой для моделирования работы программного обеспечения.

Формально временные сети Петри с ингибиторными дугами имеют вид . Ф - (!>, Г. I, О, Min, Мах, /tu), где

Р = {Pi ,р:, ..., р„ } - конечное множество позиций, п ¿0\

Г -- {I ¡.12,... , /„, } - конечное множество переходов, т ¿0] Р п Т-. 0.

I: Т х Р—> {0, 1} - входная функция - отображение из переходов в комплекты позиций;

0:РхТ->{0, 1,г}~ выходная функция - отображение из переходов в комплекты позиции (/■ -дуга-пнгнбитор);

щ : Р N - начальная маркировка (Ы - множество неотрицательных целых чиеел);

Л/ш.Г->Я 1

временные функции (II - множество неотрицательных

Мах:Т -> Щ

действительных чисел), гдеМУ^Л/ял/Для всех / таких, что /, е Т.

Временные функции определяют жестко заданные значения минимального и максимального времеци срабатывания каждого из переходов. Во время функционирования программы это время может динамически изменяться. Обозначим через Е-{т,„,„/,' г„а,/, г;,„„_>, ..., т,„ах,„} текущие значения времен переходов, где г„,,„, и соответственно минимальное и максимальное значения /'-го перехода.

Определение: Переход е Тл ИВСП является разрешенным в момент времени г, если выполняются следующие условия:

') /¿(рО ^ Н^)), т.е. в каждой входной позиции находится не меньше фишек, чем из этой позиции исходит дуг в Гу;

2) отсутствие меток в позициях, связанных с переходом дугами-ингибиторами;

3) время г лежит в пределах г,„,„; <т <

Состояние ИВСП определяется его маркировкой ц и временами переходов Е. Запуск перехода изменяет состояние сети посредством изменения // и Е. Разрешенный переход Г, должен быть запущен до наступления момента времени г„,„у.

Определение. Переход в ИВСП может быть запущен всякий раз, коь'ха он разрешен. В результате запуска разрешенного перехода /) в момент времени г

образче 1ся новая маркировка >1(р,) - М(р,. 1(1,)) + #(р„ 0(1,)) с новым

век юром К, таким, чю:

О гтт] =Мт(1)), г,„„у =Мах(1))

2) для каждого из других разрешенных в этот момент переходов

^гич <1 ~ (~~ Т) .

Значок (+) означает, что в случае если время становится отрицательным, то его значение обнуляется.

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

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

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

Наряду с основными параметрами сети (блок 2), вводится множество опасных состояний анализируемой программы Я. В блоке 3 инициализируются текущая маркировка сети р, массив проанализированных состояний N и счетчик /, работающий по следующему принципу: уменьшение на 1 в случае перехода к новому состоянию, уменьшение на 1 при возврате к предыдущему (блоки 9, 10, II). На каждом шаге производится проверка принадлежности текущей марки-роы.и множеству опасных состояний (блоки 4, 5) и, в случае подтверждения, со-

СТРУКТУРНАЯ СХЕМА ПРОГРАММЫ АНАЛИЗА ИВСП НА БЕЗОПАСНОСТЬ

Рис. 2

ошеи-тиуюидая запись и файл HAZARD.TXT. Далее проверяется, является ли текущая маркировки терминальной (блок 6), определяется следующая маркировка и, если она не дублирующая (блок 8), производится запуск.

Использование ишлбиторных временных сетей Петри для анализа программного обеспечения на достижимость опасных ситуаций, в ряде случаев, не позволяет сделать однозначный вывод о его безопасности. Это связано с тем, чю наряду с функциями управления, программа выполняет и функции вычисления, представляющие различные арифметические операции. Поэтому, для получения количественной оценки безопасности ПО необходимо учесть степень влияния функции вычисления. На рис.3 показан пример' представления такой функции в виде ИВСП. Видно, что здесь проявляется неоднозначность поведения сети: в зависимости от результата выполнения функции (позиция Р,) может срабоыть любой и:» двух переходов. Таким образом, функция вычисления в терминах ИВСП - это позиция сети, имеющая на выходе два или более разрешенных перехода.

Функция вычислении может либо влиять на оценку безопасности анализируемого с использованием ИВСП ПО, либо не влиять на нес. Это зависит, в первую очередь, от ее местонахождения на дереве достижимости и местонахождения множеава опасных состоянии //. На рис.4 показан пример дерева достижимости, где М¡, .... Л/,ч. - маршруты исполнения. Функция вычисления, лежащая на маршруте Мх не оказывает влияния на вероятность возникновения опасного состояния. 11азооем ее безопасной. Функцию, влияющую на выбор маршрута дерена достижимости, на котором находится хотя бы одно опасное состояние системы (маршрут А/;), будем называть критической функцией.

Обозначим через N число всех возможных маршрутов дерева достижи-моет, а через А' число кришческнх функций 1-го маршрута. Тогда вероятность правипынн о результата в ;'-ом маршруте будет равна:

Функция вычисления

М

Рис. 3

Дерево достижимости ИВСП

Опасное состояние

Рис. 4

С

1. если//, = 0

О, если//, *0 и А', =0 , (1)

к,

} [(¡-(¡,), ее ли//, и

1де //у - множество опасных состоянии на /-ом маршруте;

</, - вероятность возникновения ошибки ветвления в у'-ой критической функции на /-ом маршруте.

В дальнейшем, для упрощения анализа, будем считать, что

г.^йа-ъ)-■ (2)

/

где: I) Л', = 1 и - О, если = 0\

7) К, = I и (¡, = 1, если Н, *0\\ К, = 0.

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

р^п.-йа-«,) • (з)

1-1

Некоторые из ошибок ветвления могут быть обнаружены с вероятностью ¡ ¡, . В этом случае

к,

Х\(1-дг(1-Р )). (4)

Т<мда по.ша.1 вероятность безопасного функционирования программы •;{'»: и|'-.»1!и.о 1ьны>; (.сходных данных определяется вероятностью выбора раз-;жч1.!.!\ м.'.рьчруIоь н коррекиюстыо ич исполнения

г^р.-Ъг.-Па-яга-р,,,))- <5>

Ы1 „I ,.1

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

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

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

3) сократить объемы м время отладки ПО до достижения требуемых уровнен безопасности.

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

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

а) состояние не предусмотренное алгоритмом функционирования программы (нелегальное состояние);

б) предусмотренное алгоритмом функционирования (летальное сссюя-

ние).

Было введено также обозначение безопасного (защитою) сосгояинч про граммы .Ь". Практически это означает перевод техно ки ичесми о принкса и

Схемы ошибочных переходов

а) О

б> О

б р6

О

Рис. 5

Схема защиты от опасных ошибок в ипде ИВСП

о о о

р.

: Р?,

О

I! Рз

Таймер

'1Г л

и

р4г

V. 4»

и.

ф-4-ъ

о-1

I

Рис. 6

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

Па рис.6 показана схема защиты от возникновения ряда опасных ошибок в процессе функционирования ПО, реализованная в системах автоблокнропки АБ-Е2, АБ-ЧКЕ, МСКП. Здесь позиция Р, и переход 11 определяют этап инициализации, а позиции Р3 ... Рп - циклическое выполнение программы. Защитный механизм реализован посредством двух переходов в безопасное состояние: и 1/1 и /у? отображают соответственно возможные ошибочные переходы в легальное и нелегальное состояние. Этап инициализации заканчивается программированием таймера и передачей управления на вход программы. Таким образом первый прогон осуществляется принудительно (не по прерыванию), что позволяет отследить неправильную установку или сбой в работе таймера.

Случаи зацикливании, переходов в нелегальные состояния отслеживаются на входе программы с использованием перехода время срабатывания которого должно быть равным нулю. В этом случае позиция Р„, символизирующая окончание цикла, остается пустой и не сдерживает срабатывание безопасного перехода. Таким образом, с задержкой не более г, система перейдет в безопасное состояние 5. При этом происходит остановка выполнения программы и запрет на возникновение прерываний от таймера (сдерживающая дуга у перехода Ь).

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

В четвёртом г лаве рассмотрены вопросы практического применения метода повышения безопасности программ с использованием ИВСГ1, проанализированы возможности повторного использования исходною текста ПО с применением методологии обьектно-ориеншрованпого программирования (ООП).

Ряд положении диссертации было использовано при написании ПО систем автоблокировки АБ-ЧКО, АБ-Е2, МСКП. В них зацикливание пли выход из-под контроле хода выполнения программы определяется с помощью таймера, который используется как сторожевой. По контрольным точкам отслеживается маршрут- выполнения программы, который сравнивается с заранее заданным. Принятый метод циклической обработки позволяет в следующем цикле обнаружить возникновение опасной ошибки и перевести систему в безопасное состояние.

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

1) выпрямление входного сигнала y(t), считанного с АЦП

-U) = \y(t)\ ; (6)

2) интегрирование выпрямленного сигнала

— / " л h.l

гце Л - число отсчетов на период.принимаемого сигнала;

3) вычисление кумулятивной суммы

"(«^•ий)' • •

где 0i , 02 - соответствующие значения сигнала в шунтовом и нормальном режимах на t ходе решающего устройства;

о;, - дисперсия помехи на входе решающего устройства.

Решение о наличии или отсутствии полезною еншала в рельсовой линии принимается исходя из сравнения с некоторым значением порога Н,шр:

g, < Н,юр - нет сигнала; g, <> //„„„ - есть сигнал.

На рнс.7 показана схема этой процедуры в виде ингнбиторной временной сети Петри. Здесь позиция Р5 отображает результат выполнения процедур!.': фишка в этой позиции означает наличие полезного сигнала, а в противном случае - его отсутствие. Позиция Р, п переходы I, и и служат для начальной инициализации Р5 (отсутствие сигнала). Позиция Р: представляет собой непосредственно функцию вычисления, результат выполнения которой заносится в позицию Р3, если g, < Н„ор, или в позицию Р4, если g, >Н„ор. Из позиции Р4 следует установка фишки в позицию Р5 и переход на дальнейшее выполнение программы -позиция Р6.

Для оценки безопасности критической функции применялась диверсификация программного обеспечения: создавался модуль, выполняющий аналогичные действия, но на языке высокого уровня. Результаты выполнения исходной процедуры и процедуры, написанной на языке Turbo Pascal, сравнивались между собой и все расхождения фиксировались.

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

процедура обнаружения полезного

СИГНАЛА в рельсовой линии

Рис. 7

ЧЛКЛЮЧЕНИБ

1) настоящей диссертации, посвященной проблеме обеспечения безопасно-стн программного обеспечения, применяемого в системах управления движением поездов, были решены следу ющие вопросы:

- предложены принципы повышения безопасности проектируемого программного обеспечения систем ИРДП, основанные на уменьшении числа неиы-явленных опасных ошибок;

- на основе анализа существующих методов снижения риска возникновения опасных ситуаций предложена математическая модель безопасности программного обеспечения, построенная на вшгибиторной временной cem 11er-

ри;

- сформулированы основные определения и разработана методика обнаружения опасных состояний ПО; по данной методике написана и проверена на практике программа анализа ИВСП на безопасность;

-- разработана методика количественной оценю) безопасное m программного обеспечения, построенного на основе предлагаемой модели;

- предложена методика оценки уровня безопасносш модулей нрозрамм, выполняющих функции вычисления;

- разработаны и апробированы на практике схемы ИВСП для отказоустойчивого программного обеспечения; в частности, приведены схемы защип.! ПО от ошибок времени выполнения н проверки правильности хода выполнении программ с использованием структурной избыточной переменной;

- предложены конструкции построения и сформулированы основные зре-бования, предъявляемые к языку программирования, отвечающего )ребов.чпи«м модели безопасности;

- обеспечена безопасность ряда кришческнх фуикшзй при создании ПО

микропроцессорных систем аатобяокззровзш ЛБ-ЧКЕ, ЛБ-Е1, АП-Е2, MCKII; проанализированы возможности нояюриою сричиминич уже разработок.!« прозраммнмх модулей 1н> вновь создаваемом 110.

Основные положения диссертации опубликованы в следующих работах:

1. Грушка В.А. Безопасность программного обеспечения устройств железнодорожной автоматики. //Тезисы докладов международной научно-практн-ческой конференции "Проблемы повышения функциональной и экономической устойчивости работы транспортного комплекса и его кадрового обеспечения в условиях рынка".-Гомель, I993.-c.1I7.

2. Грушка В.А. Контроль правильности функционирования программы микропроцессорной системы АБ-ЧКЕ. //Межвузовский сборник научных трудов МИИТа, 1993. Выпуск 876,- с.39-43.

3. Грушка В.А. Методы повышения безопасности программного обеспечения микропроцессорных систем управления движением поездов. //Тезисы докладов участников международного симпозиума "Безопасность перевозочных процессов".-М., 25-28 апреля 1995 г.

ГРУШКА ВАЛЕРИЙ АНАТОЛЬЕВИЧ

МЕТОД ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ ПРОГРАММНЫХ СРЕДСТВ СИСТЕМ ИНТЕРВАЛЬНОГО РЕГУЛИРОВАНИЯ С ИСПОЛЬЗОВАНИЕМ СЕТЕЙ ПЕТРИ

Специальность 05.22.08 - Эксплуатация железнодорожного транспорта

(включая системы сигнализации, централизации и блокировки)

(-лик» в набор Л 9. 03.96.

1 ¡однксино к пгчаш 29- 03, 96. Объём 5,

Оор-.аг С>\:.пии 63<90 1/16 • Заказ 220. Тираж 100,

Ч т.01 ¡ .¡фи,- \Ц)И1л, 10!475. ГСП, Москва, А-55, ул. Образцова, 15