ГОСТ Р МЭК 61508-7—2007
ПРИМЕР -
assert <pre-condition>;
action 1;
action x;
assert <post-condition>;
Литература:
A Discipline of Programming. E. W. Dijkstra. Prentice-Hall. 1976.
The Science of Programming. D. Gries. Springer Verlag. 1981.
Software Development — A Rigorous Approach. С. B. Jones. Prentice-HaU. 1980.
C.3.4 Методы «подушки безопасности»
П р и м е ч а н и е — Ссылка на данный метод|’средство приведена в МЭК 61508-3 (таблица А.2).
Цель: защита от необнаруженных на этапах спецификации и реализации ошибок в программных средствах,
которые неблагоприятно влияют на их безопасность.
Описание: метод «подушки безопасности» представляет собой использование внешнего монитора, реали
зованного на независимом компьютере в другой спецификации. Данный метод касается исключительно гарантии
того, чтобы главный компьютер выполнял безопасные, не обязательно корректирующие, действия. «Подушка
безопасности» непрерывно контролирует главный компьютер и предотвращает вхождение системы в опасное
состояние. Кроме того, если обнаружится, что главный компьютер вошел в потенциально опасное состояние,
система должна возвратиться обратно в безопасное состояние с помощью либо «подушки безопасности», либо
главного компьютера.
Аппаратные и программные средства «подушки безопасности» следует классифицировать и квалифициро
вать в соответствии с подходящим SIL.
Литература:
Using Al Techniques to Improve Software Safety. Proc. IFAC SAFECOMP 88. Sarlat, France. Pergamon Press.
October 1986.
C.3.5 Многовариантное программирование
П р и м е ч а н и е — Ссылка на данный метод/средство приведена в МЭК 61508-3 (таблица А.2).
Цель: обнаружение и наложение маски при выполнении программ на невыявленные на этапах проектиро
вания и реализации ошибки программных средств для предотвращения критичных для безопасности отказов
системы и продолжения ее правильной работы.
Описание: при многовариантном программировании заданная программная спецификация проектирует
ся и реализуется различными способами N раз. Одни и те же входные значения поступают в N версий, и сравни
ваются результаты, выданные N версиями. Если результат определяется как правильный, он поступает на выходы
компьютера.
N версий могут выполняться параллельно на различных компьютерах, либо все версии могут выполняться
на одном компьютере с последующим сравнением полученных результатов на том же компьютере. Для этих N
результатов могут быть использованы различные стратегии сравнения и в зависимости от заданных требований
применяются следующие стратегии:
- если система находится в безопасном состоянии, можно потребовать полного согласия (все N результатов
одинаковы), в противном случае используется выходное значение, которое заставит систему перейти в безопас
ное состояние. Для простых пошаговых систем сравнение может обеспечить безопасность. В этом случае безо
пасное действие гложет быть разбито по шагам, если какая-либо версия реализует пошаговые операции. Этот
подход обычно используется только для двух версий (fV= 2):
- для систем, находящихся в опасном состоянии, могут быть реализованы стратегии мажоритарного срав
нения. В случаях, если отсутствует общее согласие, могут использоваться вероятностные подходы с тем, чтобы
максимизировать вероятность выбора правильного значения, например, принять среднее значение, временно
зафиксировать выходы, пока не будет достигнуто согласие и т. п.
Данный метод не устраняет ошибок, не выявленных при проектировании программ, а также ошибок в интер
претации спецификации, однако он является средством для обнаружения и маскирования ошибок, прежде чем
они смогут повлиять на безопасность.
Литература:
Dependable Computing: From Concepts to Design Diversity. A. Avizienis and J. C Laprie. Proc. IEEE 74 (5). May
1986.
A Theoretical Basis for Analysis of Multi-version Software subject to Co-incident Failures. D. E. Eckhardt and L. D.
Lee. IEEE Trans SE-11 (12). 1985.
Computers can now perform vital functions safely. Otto Berg Von Linde, Railway Gazette International. Vol. 135.
No. 11. 1979.
C.3.6 Блоки восстановления
П р и м е ч а н и е — Ссылка на данный метод’средство приведена в МЭК 61508-3 (таблица А.2).
44