ГОСТ Р МЭК 61508-7—2007
Параметры «толькодля чтения» и параметры «для чтения-записи» должны быть разделены, и доступ к ним
должен проверяться. Программныефункции должнырассматривать все параметры в качестве параметров «только
для чтения». Символьные константы не должны быть доступны для записи. Это помогает обнаруживать случай
ные перезаписи или ошибочное использование переменных.
Устойчивые кошибкам программные средства проектируются в«предположении», что ошибки существуют в
самой программной среде, либо используются выходящие за номиналы значения условий или используются
предполагаемые условия, но программные средства ведут себя заранее определенным способом. В этом случае
применяют следующие проверки:
- проверку на достоверность физических значений входных и промежуточных переменных;
- проверку влияния выходных переменных, предпочтительно путем прямого наблюдения соответствующих
изменений состояния системы;
- проверку самими программными средствами своей конфигурации, включая наличие и доступность пред
полагаемых аппаратных средств, а также завершенность самих программ, что особенно важно для поддержки
полноты безопасности в процессе их эксплуатации.
Некоторые из методов защиты программ, например проверки последовательности потока управления,
также справляются и с внешними ошибками.
Литература:
Dependability of Critical Computer Systenrs 1. F. J. Redmill. Elsevier Applied Science. 1988. ISBN 1-85166-203-0.
Dependability of Critical Computer Systems 2. F. J. Redmill. Elsevier Applied Science. 1989, IS8N 1-85166-381-9.
Software Engineering Aspects of Real-time Programming Concepts. E. Schoitsch. Computer Physics
Communications 41. North Holland. Amsterdam. 1986.
C.2.6 Стандарты no проектированию и кодированию
П р и м е ч а н и е — Ссылка на данный метод|’средство приведена в МЭК 61508-3 (таблица А.4).
С.2.6.1 Общие положения
Цель: упрощение верификации, с тем чтобы поддержать групповой объективный подход и установить стан
дартный метод проектирования.
Описание: в самом начале между участниками проекта должны быть согласованы необходимые правила,
охватывающие рассмотренные ниже методы проектирования и разработки (например JSP. MASCOT, сети Петри, и
т. д.), а также соответствующие стандарты кодирования (см. С.2.6.2).
Данные правила создаются для облегчения разработки, верификации, оценки и эксплуатации. При этом
должны учитываться доступные инструментальные средства, в частности, для аналитиков и развитие средств
проектирования [4].
Литература:
Dependability of Critical Computer Systems 1. F. J. Redmill. Elsevier Applied Science. 1988. ISBN 1-85166-203-0.
Verein Deutscher Ingenieure. Software-Zuverlassigkeit — Grundlagen. Konstruktive Mass-nahmen. Nach-
weisverfahren. VDI-Verlag. 1993. ISBN 3-18-401185-2.
С.2.6.2 Стандарты кодирования
П р и м е ч а н и е — Ссылка на данный метод/средство приведена в МЭК 61508-3 (таблица В.1).
Цель: упростить верификацию разработанного кода.
Описание: до выполнения кодирования должны быть согласованы подробные правила, которых следует
придерживаться. К таким правилам обычно относят:
- иметь подробные сведения о модульности, например о виде интерфейса, размерах программных моду
лей;
- использовать инкапсуляцию, наследование (ограниченное по глубине) и полиморфизм в случае объектно-
ориентированных языков;
- исключать или использовать ограниченно некоторые языковые конструкции,например «goto», «equivalence»,
динамические объекты, динамические данные, структуры динамических данных, рекурсию, указатели и т. п.;
- ограничивать прерывания, допустимые при выполнении критичного для безопасности кода;
- распечатывать программный код (формировать листинг);
- исключать безусловные переходы (например «goto») в программах на языках высокого уровня.
Данные правила созданы для облегчения процессов тестирования программных модулей, верификации.
оценки и обслуживания. При этом должны учитываться доступные инструментальные средства, в частности, для
аналитиков.
П р и м е ч а н и е — Более подробная информация по этим правилам приведена в С.2.6.3 — С.2.6.7
С.2.6.3 Отказ от динамических переменных или динамических объектов
П р и м е ч а н и е — Ссылка на данный метод/средство приведена в МЭК 61508-3 (таблица В.1).
Цель: исключить:
39