Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Программные методы обеспечения безопасности



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

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

· безопасность собственно программного обеспечения (ПО);

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

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

5.1 Структура программного обеспечения
микропроцессорной централизации

Программное обеспечение микропроцессорной централизации состоит из двух больших блоков – системного и прикладного. Ядром системного ПО является специализированная операционная система (ОС) реального времени. Функции операционной системы не зависят от непосредственных задач системы централизации и заключаются в выделении ресурсов процессора для решения различных функциональных задач. Операционная система определяет:

· очередность выполнения вычислительных процессов;

· обслуживание и управление датчиками времени;

· назначение прерываний;

· управление выдачей синхронизирующих сигналов.

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

Операционную систему дополняют пакеты программ, ориентированные на техническое обеспечение системы. Функциями этих пакетов программ являются:

· повторный запуск системы, включая проверки и синхронизацию;

· актуализация ЭВМ (подключение восстановленного канала без перерыва в работе системы);

· обслуживание прерываний;

· проверка ЭВМ в реальном масштабе времени;

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

· специальные функции времени (управление таймером, тактирование системы).

Прикладное ПО реализует функции системы централизации. Оно состоит из модели станции и пакетов прикладных программ, реализующих типовые функции.

Модель станции состоит из двух частей: модели конфигурации и модели состояния. Модель конфигурации является неизменяемой частью и содержит информацию о конфигурации станции, размещении напольного оборудования, внешних системах (автоблокировке (АБ), диспетчерской централизации (ДЦ), автоматической локомотивной сигнализации (АЛС) и других). Модель состояния содержит оперативную информацию о состоянии напольного оборудования, поездном положении, текущем состоянии системы, отказах и сбоях технических средств и т.п.

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

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

Пакет «Управление и индикация» функционально адаптирует к соответствующим требованиям пользователя клавиатуру, табло, дисплей и печатающее устройство для протоколирования эксплуатационного процесса и регистрации нарушений.

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

Пакет «Сопряжение с внешними системами» содержит программы для организации связи с устройствами АБ, ДЦ, АЛС, индикации номеров поездов, телеуправления и телесигнализации.

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

5.2 Основные принципы обеспечения безопасности
программного обеспечения

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

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

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

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

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

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

Предупреждение ошибок – наиболее эффективный путь обеспечения надежности, так как ошибку легче предупредить, чем потом обнаружить и исправить. Методы предупреждения ошибок в основном применяются на этапе проектирования. Для предупреждения ошибок используют рациональную организацию труда разработчиков ПО, методы структурного проектирования и автоматизацию проектирования [7]. Эти методы позволяют систематизировать и упростить процессы проектирования ПО, сделать реальной задачу написания корректных программ с малым количеством ошибок.

Рассмотрим остальные методы обеспечения надежности и безопасности ПО более подробно.





Дата публикования: 2014-11-02; Прочитано: 1003 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.026 с)...