ГОСТ Р МЭК 61508-7—2012
Цель. Обнаружение сбоев в системе, которые могут привести к отказам и тем самым обеспечить основу
для контрмер, направленных на минимизацию числа последующих сбоев.
Описание. Обнаружение сбоев представляет собой действие по проверке системы на наличие ошибоч
ных состояний (обусловленных сбоями в проверяемой (под)системе). Основная цель обнаружения сбоев состоит
в том. чтобы предотвратить появление неверных результатов. Система, действущая в сочетании с параллельно
работающими компонентами, останавливающими управление, в случае, если она обнаруживает, что ее собствен
ные результаты некорректны, называется самолроверяемой.
Обнаружение сбоев основывается на принципах избыточности [в основном при обнаружении сбоев аппарат
ных средств (см. МЭК 61508-2. приложение А)] и разнообразия (программные ошибки). Необходим один из спосо
бов голосования для определения корректности результатов. Применимы специальные методы, к которым относят
ся программирование утверждений, программирование W-версий и различные методы контроля. Для аппаратных
средств: введение дополнительных сенсоров: контуров регулирования: кодов, проверяющих ошибки, и др.
Обнаружение сбоев может обеспечиваться проверками в области значений или временной области на раз
личных уровнях, особенно на физическом уровне (температура, напряжение и т. п.). логическом (коды, обнаружи
вающие ошибки), функциональном (утверждения) или внешнем (проверки достоверности). Результаты этих про
верок могут быть сохранены и связаны с данными, на которые повлиял сбой, с тем чтобы обеспечить возможность
отслеживания отказов.
Сложные системы состоят из подсистем. Эффективность обнаружения ошибок, диагностики и компенсации
ошибок зависит от сложности взаимодействия между подсистемами, влияющими на распространение ошибок.
Диагностику ошибок следует применять на уровне самых малых подсистем, поскольку подсистемы меньших
размеров допускают более детальную диагностику ошибок (обнаружение ошибочных состояний).
Интегрированные информационные системы уровня предприятия могут обычным способом передавать со
стояния безопасности системы, в том числе информацию диагностического тестирования, другим управляющим
системам. При обнаружении некорректного поведения оно может быть выделено и использовано для запуска кор
ректирующих действий до возникновения опасной ситуации. При появлении инцидента документирование такого
некорректного поведения может способствовать его последующему анализу.
Литература:
Dependability of Critical Computer Systems 1. F.J. Rednrttll, ElsevierApplied Science. 1988. ISBN 1-85166-203-0.
C.3.2 Коды обнаружения и исправления ошибок
П р и м е ч а н и е — Ссылка на данный метод/средство приведена в МЭК 61508-3 (таблица А.2).
Цель. Обнаружение и исправление ошибок в чувствительной к ним информации.
Описание. Для информации, состоящей из л битов, генерируется закодированный блок из к битов, который
позволяет обнаруживать и исправлять лошибок. Примерами могут служить код Хэмминга и полиномиальные коды.
Следует отметить, что в системах, связанных с безопасностью, чаще необходимо уничтожить ошибочные дан
ные. чем пытаться исправлять их. поскольку лишь заранее определенная часть ошибок может быть исправлена.
Литература:
Fundamentals of Еnor-correcting Codes, W. Huffman. V. Pless. Cambridge University Press. 2003. ISBN
0521782805. 9780521782807
C.3.3 Программирование с проверкой ошибок
П р и м е ч а н и е — Ссылка на данный метод/средство приведена в МЭК 61508-2 (таблица А.18) и в МЭК
61508-3 (таблица А.2).
Цель. Обнаружение ошибок, оставшихся при проектировании программных средств, в процессе выполнения
программ в целях предотвращения критичных для безопасности отказов систем, и продолжение правильного вы
полнения программы.
Описание. В методе программирования утверждений уже заложена идея проверки предусловий (до выпол
нения последовательности операторов начальные условия проверяют на соответствие) и постусловий (проверяют
результаты после выполнения последовательности операторов). Если предусловия или постусловия не соблюда
ются, то выдается сообщение об ошибке.
Пример —
assert < pre-condition>;
action 1;
action x;
assert < post-condition>;
Литература:
Exploiting Traces in Program Analysis. A. Groce. R. Joshi. Lecture Notes in Computer Science, vol. 3920. Springer
Berlin/Heidelberg, 2006. ISBN 978-3-540-33056-1.
Software Development — A RigorousApproach. С. B. Jones. Prentice-Hall. 1980.
C.3.4 Методы контроля
П р и м е ч а н и е — Ссылка на данный метод/средство приведена в МЭК 61508-3 (таблица А.2).
48