ГОСТ Р МЭК 61508-3— 2012
Приложение F
(справочное)
Методы, не допускающие взаимодействия между элементами программного обеспечения
на одном компьютере
F.1 Введение
Независимое выполнение элементов программного обеспечения, работающих в одной компьютерной систе
ме (состоящей из одного или более процессоров с памятью и другими устройствами, совместно используемыми
этими процессорами), можно обеспечить и продемонстрировать с помощью различных методов. Настоящее при
ложение рассматривает некоторые методы, не допускающие взаимодействие [между элементами с
различной стойкостью к систематическим отказам, между элементами, разработанными для реализации (или для
принятия участия в реализации) одной и той же функции безопасности, или между программным обеспечением,
реализую щим функции, связанные с безопасностью, и программным обеспечением, реализующим функции, не
связанные с безопасностью, на одном компьютере].
П р и м е ч ан и е — Термин «независимость выполнения» означает, что элементы в процессе их выполнения
не будут неблагоприятно влиять друг на друга, то есть это не приведет к появлению опасного отказа. Этот термин
используется, чтобы отличить другие аспекты независимости, которые могут потребоваться между элементами (в
частности, «разнообразие») и которые соответствуют другим требованиям настоящего стандарта.
F.2 Области поведения
Независимость выполнения должна быть обеспечена и продемонстрирована в областях пространства и
времени.
Пространственная область. Данные, используемые одним элементом, не должны быть изменены другим
элементом. В частности, данные не должны быть изменены элементом, не связанным с безопасностью.
Временная область. Функционирование одного элемента не должно приводить к неправильному функциони
рованию другого элемента, используя слишком большую часть общего времени процессора, или блокируя работу
другого элемента, запирая какой-либо совместно используемый ресурс.
F.3 Анализ причин
Для демонстрации независимости выполнения должна быть проведена для предложенного проекта иденти
фикация всех возможных причин взаимовлияний между умозрительно независимыми (невзаимовлияющими) функ
ционирующими элементами в пространственной и временнбй областях. Анализ должен быть проведен при нор
мальных условиях функционирования и в условиях отказа и должен рассмотреть (но не должен быть ограничен):
a) использование совместно используемой оперативной памяти;
b
) использование совместно используемых периферийных устройств;
c) совместное использование времени процессора (где два или более элементов выполняются на одном
процессоре);
d) коммуникации между элементами, необходимые для создания проекта всей системы;
e) возможность того, что отказ в одном элементе (такой как переполнение или исключительная ситуация
деления на ноль, или неправильное вычисление указателя) может вызвать последовательные отказы в других
элементах.
Для обеспечения и обоснования независимости выполнения необходимо рассмотреть все эти идентифици
рованные источники взаимовлияний.
F.4 Обеспечение пространственной независимости
Методы для обеспечения и демонстрации пространственной независимости включают в себя:
a) Использование аппаратной защиты памяти между различными элементами, включая элементы, разли
чающиеся стойкостью к систематическим отказам.
b
) Использование операционной системы, котораядля каждого элемента реализует отдельный процесс с его
собственным пространством виртуальной памяти, поддерживаемым аппаратной защитой памяти.
c) Использование строгого анализа проекта, исходного кода и. возможно, обьектного кода для демонстрации
отсутствия любых явных или неявных обращений одного элемента программного обеспечения к памяти другого
элемента, которые могут привести к искажению данных, принадлежащих этому элементу (для случая отсутствия
аппаратной защиты памяти).
d) Программная защита от недопустимой модификации элементом с более низким уровнем полноты данных
элемента с болев высоким уровнем полноты.
Данные нельзя передавать от элемента с более низким уровнем полноты к элементу с более высоким уров
нем. если элемент с более высоким уровнем полноты не может проверить наличие у данных достаточного уровня
полноты.
84