Автореферат разослан " " 1996 г
Вид материала | Автореферат |
- Автореферат разослан " " 1996, 233.35kb.
- Автореферат разослан 2010, 247.49kb.
- Автореферат разослан 22 ноября 2011, 810.64kb.
- Автореферат разослан, 378.04kb.
- Автореферат разослан 2009, 589.75kb.
- Автореферат разослан 2004, 676.99kb.
- Автореферат разослан 2007, 489.7kb.
- Автореферат разослан 3 ноя, 388.48kb.
- Автореферат разослан 2008, 441.97kb.
- Автореферат разослан 2011, 854.41kb.
МПС РФ
Московский государственный университет
путей сообщения
¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾
На правах рукописи
УДК 656.2.08: 681.3.6 (043.3)
ГРУШКА Валерий Анатольевич
МЕТОД ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ ПРОГРАММНЫХ СРЕДСТВ
СИСТЕМ ИНТЕРВАЛЬНОГО РЕГУЛИРОВАНИЯ
С ИСПОЛЬЗОВАНИЕМ СЕТЕЙ ПЕТРИ
Специальность 05.22.08 – Эксплуатация железнодорожного транспорта
(включая системы сигнализации, централизации и блокировки)
А в т о р е ф е р а т
диссертации на соискание ученой степени
кандидата технических наук
Москва - 1996
Работа выполнена в Московском государственном университете путей сообщения.
Научный руководитель – доктор технических наук, профессор
Лисенков В.М.
Официальные оппоненты – доктор технических наук, профессор
Горелов Г.В.
кандидат технических наук
Астрахан В.И.
Ведущее предприятие – Управление сигнализации, связи и
вычислительной техники МПС РФ
Защита состоится “___”____________ 1996 г. в _____ час. ____ мин.
на заседании диссертационного совета Д 114.05.04 Московского государственного университета путей сообщения.
Ауд. _______.
С диссертацией можно ознакомиться в библиотеке МИИТа за
______ дней до защиты.
Автореферат разослан “___”__________ 1996 г.
Отзывы на автореферат в двух экземплярах, заверенных печатью, направлять по адресу: 101475, Москва, ул. Образцова, 15.
Ученый секретарь диссертационного
совета д.т.н., профессор В.И. Шелухин
ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ
Актуальность работы. Активное использование программного обеспечения (ПО) в системах интервального регулирования движения поездов (ИРДП), где сбой или отказ могут привести к непредсказуемым последствиям для здоровья и жизни человека, окружающей среды или сооружений, предполагает принятие специальных мер для обеспечения безопасности функционирования управляющей системы. Несмотря на обширные исследования, проведенные за последние десятилетия в области программирования, до сих пор создание ПО является искусством. Идеи решения проблем при этом творчески вырабатываются программистами. Такая ситуация сохраняется благодаря тому, что ни один из известных подходов к обеспечению безопасности ПО не гарантирует отсутствия в нем опасных ошибок. А, значит, не может быть уверенности в безопасности всей системы, компонентом которой является ПО.
Известны случаи, когда ошибки в программном обеспечении имели катастрофические последствия для целых космических проектов. Обнаруживались ошибки ПО и при создании ядерных реакторов, и в микропроцессорных системах автоблокировки, применяемых за рубежом. Все это на фоне общей тенденции роста удельного веса программного обеспечения в системах ИРДП требует принципиально новых подходов к процессам разработки и функционирования программы на всех стадиях ее жизненного цикла.
Цель и задачи исследований. Цель исследований состоит в разработке метода обеспечения безопасности программных средств, применяемых в системах интервального регулирования движения поездов. Для достижения указанной цели в диссертационной работе поставлены следующие задачи:
– исследование особенностей использования программного обеспечения в системах ИРДП, анализ мер по повышению его безопасности;
– обоснование и выбор математической модели безопасности, позволяющей проводить комплексный анализ ПО на вероятность возникновения в нем опасных ошибок;
– разработка методики количественной оценки уровня безопасности программных средств;
– разработка методов построения ПО, обеспечивающих устойчивость программ к опасным отказам.
Объект исследования. Для разработки метода повышения безопасности программных средств, применяемых в системах ИРДП, проведен анализ литературных источников по теме. Обобщены подходы, используемые для разработки ПО в системах с повышенными требованиями по безопасности, в том числе в микропроцессорных системах автоблокировки. Исследованию подлежало программное обеспечение систем АБ-Е1, АБ-Е2, АБ-ЧКЕ, МСКП, эксплуатируемое на железных дорогах России.
Научная новизна. Научная новизна диссертационной работы состоит в следующем:
– на основе анализа существующих методов снижения риска возникновения опасных ситуаций предложена математическая модель безопасности программного обеспечения, построенная на ингибиторной временной сети Петри (ИВСП);
– сформулированы основные определения и разработана методика обнаружения опасных состояний ПО; по данной методике написана и проверена на практике программа анализа ИВСП на безопасность;
– разработана методика количественной оценки безопасности программного обеспечения, построенного на основе предлагаемой модели;
– разработаны и апробированы на практике схемы ИВСП для отказоустойчивого программного обеспечения.
Практическая ценность. Теоретические исследования и практические разработки выполнены в рамках научно-исследовательских и опытно-конст-рукторских работ, проводимых по приказам Министра путей сообщения: “Микроэлектронная система автоблокировки АБ-Е1” (1989–1991 гг.); “Микро-процессорная система числовой кодовой автоблокировки АБ-ЧКЕ”; “Микро-процессорная система автоблокировки с децентрализованным размещением аппаратуры и рельсовыми цепями без изолирующих стыков АБ-Е2”. Последние темы включены в “Программу разработки и внедрения средств СЦБ, связи и вычислительной техники на железных дорогах России на период 1993–2000 гг.”, выполняемую в соответствии с Указанием Министра путей сообщения № 152-у от 1 июля 1993 года.
Апробация работы. Основные положения диссертации были доложены и получили одобрение на заседании кафедры “Автоматика и телемеханика на железнодорожном транспорте” МИИТа, на конференции “Неделя науки-94”, международном симпозиуме “Безопасность перевозочных процессов” (апрель 1995 года).
Публикация. По теме диссертации опубликованы три статьи, написанные лично автором.
Объём работы. Диссертация состоит из введения, четырёх глав, заключения, списка литературы и приложения. Общий объём работы – 138 страниц, в том числе 105 страниц машинописного текста. Содержит 26 иллюстраций, 1 таблицу. Список использованных источников включает 68 работ.
СОДЕРЖАНИЕ РАБОТЫ
Во введении обоснована актуальность выбранной темы и кратко изложены основные направления исследований. В диссертации предлагается новый подход к решению проблемы безопасности программного обеспечения, основанный на использовании средств, позволяющих моделировать процесс выполнения ПО в реальном масштабе времени с одновременным контролем выполнения требований его безопасности. Ориентированный в первую очередь на ПО встраиваемых микроЭВМ, применяемых в микропроцессорных системах ИРДП, он, тем не менее, может быть распространен и на более сложные объекты, включающие в себя, например, взаимодействие с оператором.
В первой главе даны определения, касающиеся безопасности программных средств, выявлены причины возникновения отказов ПО. Проведен обзор и дан анализ существующим подходам к повышению безопасности. Сформулированы основные задачи исследования.
В основе теории безопасности лежат понятия штатного, нештатного неопасного, нештатного опасного и защищенного состояния процесса движения поезда. Под безопасностью программного средства системы управления движением понимается свойство программного средства не инициировать с определенной вероятностью опасных решений системы управления в течение некоторого интервала времени, приводящих к переходу перевозочного процесса в нештатное опасное состояние. Опасная ошибка ПО – ошибка модуля программы системы управления, обусловливающая переход перевозочного процесса в нештатное опасное состояние.
На рис. 1 в обобщенном виде показаны основные причины возникновения отказов программного обеспечения. Так, причинами отказов ПО могут служить аппаратура системы, действия оператора, программные ошибки, преднамеренные действия по отношению к программе (несанкционированный доступ). Основное внимание в диссертации уделено программным ошибкам, т.е. ошибкам, допускаемым программистами при реализации проектных решений. Все их множество можно разделить на следующие три группы:
– синтаксические ошибки, т.е. ошибки, заключающиеся в невыполнении грамматических правил языка программирования;
– ошибки времени выполнения, или семантические ошибки, т.е. ошибки, возникающие в то время, когда программа непосредственно исполняется из-за непонимания программистом при её написании значения или действия той или иной конструкции языка программирования;
– логические ошибки, связанные с неправильной реализацией исходных спецификаций на ПО.
Наибольшую сложность представляет собой обнаружение и исправление ошибок времени выполнения и логических ошибок. Фактически речь идет о дефектах, присущих программе. Трудности их выявления для сложных программных продуктов обусловлены наличием огромного количества возможных входных наборов данных, проверить все множество которых вручную оказывается нереальным.
Для предотвращения возникновения опасных ошибок в программном обеспечении, выполняющем в системе функции управления и контроля, производится анализ ПО на безопасность. При этом на каждом этапе жизненного цикла процесса разработки программ определяется, удовлетворяет или нет данный продукт всем требованиям предыдущего этапа (верификация). Процесс верификации производится в основном ручными методами и не гарантирует отсутствие опасных ошибок в ПО. Поэтому на практике, при разработке микропроцессорных систем на железнодорожном транспорте ведущих стран мира, применяют методы и средства, о которых известно лишь, что они повышают безопасность ПО.
Решение о мерах повышения безопасности системы базируется на конечной оценке последствий возникновения опасных ошибок. Эта оценка может быть получена на основе: 1) имеющейся информации о безопасности отдельных компонентов и модулей; 2) данных об имевших ранее место несчастных случаях, происшедших на аналогичных системах. Однако такие подходы имеют смысл в применении к аппаратной части системы и практически неприменимы для ПО, поскольку программы часто модифицируются для каждого варианта применения. Даже, если ПО используется без модификации повторно, интерфейсы между компонентами значительно сложнее по сравнению с аппаратной частью. Это осложнение существенно затрудняет построения модели взаимодействия компонентов, которая могла бы наиболее точно объединить вероятности отказов отдельных компонентов в единую проблему неисправности.
Таким образом, основной задачей является создание такой математической модели безопасности ПО, которая бы позволила проводить его комплексный анализ на вероятность возникновения программных опасных ошибок, а также разработка методов построения ПО, обеспечивающих устойчивость программ к опасным отказам. Математическая модель должна удовлетворять следующим требованиям:
– большая мощность моделирования, позволяющая адекватно отражать процесс функционирования программ, в том числе управляющую логику;
– учет временных характеристик для моделирования проявления опасных ошибок программ, работающих в реальном масштабе времени;
– наличие механизма анализа на присутствие опасных ошибок в программе;
– возможность автоматизации процесса верификации на безопасность, в том числе комплексного анализа;
– возможность более широкого применения модели безопасности ПО, в частности, для анализа ошибок и сбоев аппаратных средств и неправильных действий оператора.
Разработка процедур анализа ПО на безопасность предполагает также создание методики разработки программ, построенных на основе такой модели.
Вторая глава посвящена разработке математической модели безопасности программного обеспечения.
В качестве модели функционирования ПО были выбраны сети Петри. Выбор определялся следующими причинами:
– сети Петри разрабатывались специально для моделирования процессов, протекающих при функционировании программного обеспечения;
– обладают большой гибкостью моделирования, позволяющей проводить одновременный анализ поведения системы, включающей в себя аппаратные, программные и человеческий факторы;
– позволяют анализировать процессы, протекающие в сложных системах, которым присущи совмещенность и параллелизм действий;
– отражают поведение процессов в динамике, что позволяет применять их для анализа систем реального времени;
– понятие состояния сети Петри легко может быть соотнесено с понятиями штатного, нештатного неопасного, нештатного опасного и защищенного состояний системы, лежащих в основе теории безопасности;
– автоматизация анализа такой сети не представляет трудностей и ограничена лишь мощностью и ресурсами вычислительной системы (быстродействие, объем памяти);
– существует положительный опыт использования сетей Петри при анализе безопасности ПО в других областях.
Одной из наиболее существенных особенностей сетей Петри является моделирование логики и порядка выполнения модулей ПО, что особенно важно для систем управления, где до 95% ошибок в разработке программного обеспечения падает не на вычислительные, арифметические операторы программ, а на операторы, обеспечивающие логику передачи управления внутри программного комплекса.
Как правило, простые сети Петри используются для анализа на высоком уровне проектирования программ, что обусловлено рядом их существенных недостатков:
1) имеют малую моделирующую мощность, не позволяющую учесть все нюансы функционирования ПО;
2) не учитывают временных характеристик ПО.
Для устранения этих недостатков предлагается объединить две разновидности сетей Петри: сети Петри со сдерживающими дугами (ингибиторные дуги) и временные сети Петри. Полученный подкласс (ингибиторные временные сети Петри (ИВСП)), сохранив мощность моделирования ингибиторных сетей Петри, позволяет учитывать временные параметры моделируемой системы.
Для определения временных задержек переходов предложено использовать два значения: максимальное Max и минимальное Min. На основании вышеизложенного сформулируем определение ИВСП, приемлемой для моделирования работы программного обеспечения.
Формально временные сети Петри с ингибиторными дугами имеют вид Ф = (P, T, I, O, Min, Max, m0), где
P = {p1 , p2 , ... , pn } – конечное множество позиций, n ³ 0;
T = {t1 , t2 , ... , tm } – конечное множество переходов, m ³ 0; P Ç T = Æ .
I: T ´ P ® {0, 1} – входная функция – отображение из переходов в комплекты позиций;
O: P ´ T ® {0, 1, r} – выходная функция – отображение из переходов в комплекты позиций (r – дуга-ингибитор);
m0 : P ® N – начальная маркировка (N – множество неотрицательных целых чисел);
– временные функции (R – множество неотрицательных действительных чисел), где Mini £ Maxi для всех i таких, что ti Î T.
Временные функции определяют жестко заданные значения мини-мального и максимального времени срабатывания каждого из переходов. Во время функционирования программы это время может динамически изменяться. Обозначим через E={tmin1, tmax1, tmin2, ..., tmaxm} текущие значения времен переходов, где tmini и tmaxi – соответственно минимальное и максимальное значения i-го перехода.
Определение: Переход tj Î T в ИВСП является разрешенным в момент времени t, если выполняются следующие условия:
1) m(pi) ³ #(pi, I(tj)), т.е. в каждой входной позиции tj находится не меньше фишек, чем из этой позиции исходит дуг в tj ;
2) отсутствие меток в позициях, связанных с переходом дугами-ингибиторами;
3) время t лежит в пределах tminj £ t £ tmaxj.
Состояние ИВСП определяется его маркировкой m и временами пере-ходов E. Запуск перехода изменяет состояние сети посредством изменения m и E. Разрешенный переход tj должен быть запущен до наступления момента времени tmaxj.
Определение. Переход tj в ИВСП может быть запущен всякий раз, когда он разрешен. В результате запуска разрешенного перехода tj в момент времени t образуется новая маркировка m'(pi) = m(pi) - #(pi, I(tj)) + #(pi, O(tj)) с новым вектором E, таким, что:
1) tminj = Min(tj),
tmaxj = Max(tj)
2) для каждого из других разрешенных в этот момент переходов
tmini = (tmini – t)+,
tmaxi = (tmaxi – t)+.
Значок (+) означает, что в случае если время становится отрицательным, то его значение обнуляется.
Введение в сеть Петри временных ограничений и сдерживающих дуг позволяет проводить анализ ПО систем реального времени любой степени сложности. Если в обычных сетях Петри переход запускается по логике И, то в ИВСП логика расширена до включения отрицаний. Таким образом ИВСП позволяют моделировать условия самого общего вида.
Для анализа ИВСП на безопасность строится дерево достижимости. Важность задачи достижимости обусловлена тем, что маркировка служит интерпретацией состояния системы. Так, например, если мы имеем множество маркировок H, отображающих опасные состояния данной системы, решение задачи достижимости позволяет выявить возможные пути их возникновения.
Для анализа программного обеспечения, представленного ингибиторной временной сетью Петри, была разработана программа, структурная схема которой представлена на рис.2. При этом для терминальных маркировок, т.е. маркировок, в которых нет ни одного разрешенного перехода, и для дублирующих маркировок, которые уже есть на дереве достижимости, исходящих из них дуг не строится. Это обеспечивает конечность дерева достижимости для ИВСП.
Наряду с основными параметрами сети (блок 2), вводится множество опасных состояний анализируемой программы H. В блоке 3 инициализируются текущая маркировка сети m, массив проанализированных состояний N и счетчик i, работающий по следующему принципу: уменьшение на 1 в случае перехода к новому состоянию, уменьшение на 1 при возврате к предыдущему (блоки 9, 10, 11). На каждом шаге производится проверка принадлежности текущей маркировки множеству опасных состояний (блоки 4, 5) и, в случае подтверждения, соответствующая запись в файл HAZARD.TXT. Далее проверяется, является ли текущая маркировка терминальной (блок 6), определяется следующая маркировка m' и, если она не дублирующая (блок 8), производится запуск.
Использование ингибиторных временных сетей Петри для анализа программного обеспечения на достижимость опасных ситуаций, в ряде случаев, не позволяет сделать однозначный вывод о его безопасности. Это связано с тем, что наряду с функциями управления, программа выполняет и функции вычисления, представляющие различные арифметические операции. Поэтому, для получения количественной оценки безопасности ПО необходимо учесть степень влияния функций вычисления. На рис.3 показан пример представления такой функции в виде ИВСП. Видно, что здесь проявляется неоднозначность поведения сети: в зависимости от результата выполнения функции (позиция P1) может сработать любой из двух переходов. Таким образом, функция вычисления в терминах ИВСП – это позиция сети, имеющая на выходе два или более разрешенных перехода.
Функция вычисления может либо влиять на оценку безопасности анализируемого с использованием ИВСП ПО, либо не влиять на нее. Это зависит, в первую очередь, от ее местонахождения на дереве достижимости и местонахождения множества опасных состояний H. На рис.4 показан пример дерева достижимости, где M1, M2, ..., MN – маршруты исполнения. Функция вычисления, лежащая на маршруте MN не оказывает влияния на вероятность возникновения опасного состояния. Назовем ее безопасной. Функцию, влияющую на выбор маршрута дерева достижимости, на котором находится хотя бы одно опасное состояние системы (маршрут M2), будем называть критической функцией.
Обозначим через N число всех возможных маршрутов дерева достижимости, а через K число критических функций i-го маршрута. Тогда вероятность правильного результата в i-ом маршруте будет равна:
, (1)
где Hi – множество опасных состояний на i-ом маршруте;
qj – вероятность возникновения ошибки ветвления в j-ой критической функции на i-ом маршруте.
В дальнейшем, для упрощения анализа, будем считать, что
, (2)
где: 1) Ki = 1 и qj = 0, если Hi = Æ ;
2) Ki = 1 и qj = 1, если Hi ¹ Æ и Ki = 0.
В реальных условиях конкретное исполнение программы происходит по одному из всех возможных N маршрутов. Выбор маршрута определяется обрабатываемыми данными, которые влияют на направление ветвления. Обозначим через wi вероятность реализации i-го маршрута. В результате вероятность отсутствия проявления опасной ошибки при реальном исполнении i-го маршрута программы определяется произведением вероятности выбора соответствующего маршрута и правильности его исполнения:
. (3)
Некоторые из ошибок ветвления могут быть обнаружены с вероятностью PИ . В этом случае
. (4)
Тогда полная вероятность безопасного функционирования программы при произвольных исходных данных определяется вероятностью выбора различных маршрутов и корректностью их исполнения
. (5)
Дальнейшее уменьшение риска возникновения опасных ошибок для этой модели связано, главным образом, с уменьшением вероятности qj. Таким образом, применение данной методики анализа программного обеспечения на безопасность позволяет:
1) исключить возможность появления опасных ошибок в функциях управления программ, чья доля является наибольшей для систем управления и контроля;
2) свести задачу безопасности ПО только к тем функциям, которые непосредственно влияют на вероятность возникновения нештатных опасных ситуаций;
3) сократить объемы и время отладки ПО до достижения требуемых уровней безопасности.
Третья глава посвящена вопросам разработки программного обеспечения на основе ИВСП. Рассмотрены схемы построения отказоустойчивых программ, сформулированы требования к языку программирования для ИВСП.
Наряду с мерами повышения безопасности путем уменьшения числа неисправностей ПО, существует проблема обеспечения устойчивости к воздействию опасных ошибок на стадии функционирования программ. Для возможности анализа поведения системы в случае возникновения такой ошибки был введен новый вид перехода – ошибочный переход tf , обозначаемый двойной линией. Переход tf может перевести систему в одно из двух ошибочных состояний (рис.5):
а) состояние F, не предусмотренное алгоритмом функционирования программы (нелегальное состояние);
б) предусмотренное алгоритмом функционирования (легальное состоя-ние).
Было введено также обозначение безопасного (защитного) состояния программы S. Практически это означает перевод технологического процесса в безопасное состояние и остановку выполнения программы. Введенные обозначения позволяют моделировать работу ПО в реальных условиях, имитировать возникновение различного рода ошибок и определять реакцию ПО на их возникновение.
На рис.6 показана схема защиты от возникновения ряда опасных ошибок в процессе функционирования ПО, реализованная в системах автоблокировки АБ-Е2, АБ-ЧКЕ, МСКП. Здесь позиция P1 и переход t1 определяют этап инициализации, а позиции P3 ... Pn – циклическое выполнение программы. Защитный механизм реализован посредством двух переходов в безопасное состояние: tS1 и tS2. tf1 и tf2 отображают соответственно возможные ошибочные переходы в легальное и нелегальное состояние. Этап инициализации заканчивается программированием таймера и передачей управления на вход программы. Таким образом первый прогон осуществляется принудительно (не по прерыванию), что позволяет отследить неправильную установку или сбой в работе таймера.
Случаи зацикливаний, переходов в нелегальные состояния отслеживаются на входе программы с использованием перехода tS1, время срабатывания которого должно быть равным нулю. В этом случае позиция Pn, символизирующая окончание цикла, остается пустой и не сдерживает срабатывание безопасного перехода. Таким образом, с задержкой не более t2 система перейдет в безопасное состояние S. При этом происходит остановка выполнения программы и запрет на возникновение прерываний от таймера (сдерживающая дуга у перехода t2).
Предлагаемая модель безопасности ПО предполагает разработку соответствующего ей языка программирования, который бы использовался в системах интервального регулирования движения поездов, учитывая их специфику и требования к безопасности. В диссертации затрагиваются лишь общие вопросы, связанные с характерными особенностями языка, создаваемого для проектирования безопасного ПО. При этом, первостепенное значение приобретает обеспечение корректности преобразования написанной программы к виду, описываемому моделью безопасности ИВСП.
В четвёртой главе рассмотрены вопросы практического применения метода повышения безопасности программ с использованием ИВСП, проанализированы возможности повторного использования исходного текста ПО с применением методологии объектно-ориентированного программирования (ООП).
Ряд положений диссертации было использовано при написании ПО систем автоблокировки АБ-ЧКЕ, АБ-Е2, МСКП. В них зацикливание или выход из-под контроля хода выполнения программы определяется с помощью таймера, который используется как сторожевой. По контрольным точкам отслеживается маршрут выполнения программы, который сравнивается с заранее заданным. Принятый метод циклической обработки позволяет в следующем цикле обнаружить возникновение опасной ошибки и перевести систему в безопасное состояние.
Одной из критических функций ПО всех перечисленных выше систем является процедура обнаружения полезного сигнала в рельсовой линии. Эту процедуру можно разделить на несколько этапов:
1) выпрямление входного сигнала y(t), считанного с АЦП
; (6)
2) интегрирование выпрямленного сигнала
, (7)
где H – число отсчетов на период принимаемого сигнала;
3) вычисление кумулятивной суммы
, (8)
где q1 , q2 – соответствующие значения сигнала в шунтовом и нормальном режимах на входе решающего устройства;
sп – дисперсия помехи на входе решающего устройства.
Решение о наличии или отсутствии полезного сигнала в рельсовой линии принимается исходя из сравнения с некоторым значением порога Hпор:
gt < Hпор – нет сигнала;
gt ³ Hпор – есть сигнал.
На рис.7 показана схема этой процедуры в виде ингибиторной временной сети Петри. Здесь позиция P5 отображает результат выполнения процедуры: фишка в этой позиции означает наличие полезного сигнала, а в противном случае – его отсутствие. Позиция P1 и переходы t1 и t2 служат для начальной инициализации P5 (отсутствие сигнала). Позиция P2 представляет собой непосредственно функцию вычисления, результат выполнения которой заносится в позицию P3, если gt < Hпор, или в позицию P4, если gt ³ Hпор. Из позиции P4 следует установка фишки в позицию P5 и переход на дальнейшее выполнение программы – позиция P6.
Для оценки безопасности критической функции применялась диверси-фикация программного обеспечения: создавался модуль, выполняющий аналогичные действия, но на языке высокого уровня. Результаты выполнения исходной процедуры и процедуры, написанной на языке Turbo Pascal, сравнивались между собой и все расхождения фиксировались.
Для уменьшения стоимости разработок и сокращения начального количества ошибок в программах, а, значит, и времени их отладки до требуемых уровней безопасности, предлагается решать задачу повторного использования кода программ не просто на уровне выполнения отдельных арифметических операций, а использовать целые модули и алгоритмы управления конкретными объектами. Такая возможность обусловлена появлением нового подхода в технологии программирования – объектно-ориентированного программирования, основанного на более высоком уровне абстрагирования и модульности.
З А К Л Ю Ч Е Н И Е
В настоящей диссертации, посвященной проблеме обеспечения безопасности программного обеспечения, применяемого в системах управления движением поездов, были решены следующие вопросы:
– предложены принципы повышения безопасности проектируемого программного обеспечения систем ИРДП, основанные на уменьшении числа невыявленных опасных ошибок;
– на основе анализа существующих методов снижения риска возник-новения опасных ситуаций предложена математическая модель безопасности программного обеспечения, построенная на ингибиторной временной сети Петри;
– сформулированы основные определения и разработана методика обнаружения опасных состояний ПО; по данной методике написана и проверена на практике программа анализа ИВСП на безопасность;
– разработана методика количественной оценки безопасности програм-много обеспечения, построенного на основе предлагаемой модели;
– предложена методика оценки уровня безопасности модулей программ, выполняющих функции вычисления;
– разработаны и апробированы на практике схемы ИВСП для отказоустойчивого программного обеспечения; в частности, приведены схемы защиты ПО от ошибок времени выполнения и проверки правильности хода выполнения программ с использованием структурной избыточной переменной;
– предложены конструкции построения и сформулированы основные требования, предъявляемые к языку программирования, отвечающего требованиям модели безопасности;
– обеспечена безопасность ряда критических функций при создании ПО микропроцессорных систем автоблокировки АБ-ЧКЕ, АБ-Е1, АБ-Е2, МСКП; проанализированы возможности повторного применения уже разработанных программных модулей во вновь создаваемом ПО.
Основные положения диссертации опубликованы в следующих работах:
1. Грушка В.А. Безопасность программного обеспечения устройств железнодорожной автоматики. //Тезисы докладов международной научно-практи-ческой конференции “Проблемы повышения функциональной и экономической устойчивости работы транспортного комплекса и его кадрового обеспечения в условиях рынка”.-Гомель, 1993.- с.117.
2. Грушка В.А. Контроль правильности функционирования программы микропроцессорной системы АБ-ЧКЕ. //Межвузовский сборник научных трудов МИИТа, 1993. Выпуск 876.- с.39-43.
3. Грушка В.А. Методы повышения безопасности программного обеспечения микропроцессорных систем управления движением поездов. //Тезисы докладов участников международного симпозиума “Безопасность перевозочных процессов”.-М., 25-28 апреля 1995 г.
ГРУШКА ВАЛЕРИЙ АНАТОЛЬЕВИЧ
МЕТОД ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ ПРОГРАММНЫХ СРЕДСТВ
СИСТЕМ ИНТЕРВАЛЬНОГО РЕГУЛИРОВАНИЯ
С ИСПОЛЬЗОВАНИЕМ СЕТЕЙ ПЕТРИ
Специальность 05.22.08 – Эксплуатация железнодорожного транспорта
(включая системы сигнализации, централизации и блокировки)
¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾
Сдано в набор
Подписано к печати Объём
Формат бумаги 60х90 1/16 Заказ Тираж 100
¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾
Типография МИИТа, 101475, ГСП, Москва, А-55, ул. Образцова, 15