ГОСТ Р ИСО/МЭК 25051—2017
Приложение А
(справочное)
Рекомендации по оценке RUSP в приложениях, имеющих критическое значение
для ведения бизнеса или обеспечения безопасности
А.1 Общая информация
Как правило, RUSP используются в приложениях, сопряженных с низким уровнем риска. Многие из них разра
батывались без учета рисков, связанных с безопасностью, ведением бизнеса, юридической стороной дела или
целями организации. В приложениях, не имеющих критически важного значения, функции RUSP в случае выхода их из
строя или неправильной работы в худшем случае приведут к неудовлетворенности пользователя их работой. В связи
с чем разработчик должен обеспечить восстановление работы путем устранения дефектов, добавления и (или)
удаления функций с целью повышения удовлетворенности пользователей. Во многих подобных случаях
рыночная конъюнктура не требует проведения серьезного тестирования и допускает наличие в готовых к
использованию программных продуктах определенных дефектов.
Однако, если использование RUSP очевидным образом влияет на безопасность или ведение бизнеса,
последствия неверного применения или тестирования RUSP могут быть куда более серьезными. Возможности
использования RUSP в данной среде включают такие области, как авиация, медицинское оборудование, фарма
цевтика, космическая отрасль и исследования, телекоммуникации, строительство, бухгалтерский учет, подъемное
оборудование, железные дороги, оборонные системы и прочее. Управление воздушными и железнодорожными
перевозками, лечение раковых больных радиационным облучением, точность налоговой и бухгалтерекой отчетнос ти
и тому подобное — вот лишь немногие примеры систем, где даже одна ошибка может привести к серьезным
последствиям. Функциональные требования к этим системам учтены в самых разных архитектурах оборудования и
программного обеспечения, разработанных для широкого диапазона проектных задач. Некоторые проектные зада чи
могут быть реализованы ааппаратном обеспечении,например специализированные интегральные микросхемы и
логические устройства с функцией электрического программирования, а другие задачи — в готовом к
использованию программном продукте.
При оценке работы с RUSP в критических для безопасности и бизнеса ситуациях пользователю RUSP следует
рассмотреть свойства продукта и процесса, а также функции приложения.
Конструктивные особенности программного обеспечения, которые может поддерживать RUSP. включают
следующее.
А.2 Выявление неисправностей и адаптация, включая резервирование программного обеспечения
Выявление неисправностей представляет собой процесс проверки системы на наличие ошибочных состоя
ний. С помощью методов адаптации неисправностей можно выявлять «безопасные состояния*, при которых систе
ма функционирует должным образом. При помощи программ диагностики программное обеспечение производит
самопроверку, а также проверку оборудования на наличие неверных результатов. Программы диагностики можно
запускать периодически или обеспечить их непрерывную работу в виде фоновых процессов. В качестве диагности
ческих программ может применяться двойное (или более) дублирование расчетов, а также проверки при помощи
циклического кода. При работе с критически важными функциями резервирования голосование между резервируе
мыми компонентами используется с целью принятия решения о правильности работы таких компонентов.
(МЭК 61508-7. раздел 11).
А.З Исправление неисправностей путем повторения действия
Исправление неисправностей путем повторения действия часто используется в коммуникационных систе
мах. Этот метод не имеет распространения в быстрых системах, работающих в режиме реального времени. Систе
ма производит самоанализ неисправностей и перезапускается в предыдущее безопасное состояние, после чего
продолжает работу. При использовании в системах, работающих в режиме реального времени, необходимо
убе диться в том, что восстановление может быть завершено до того, как неисправность проявит себя на
внешнем системном уровне. (МЭК 61508-7. раздел 11]
А.4 М ультиверсионноепрограммирование
При мультиверсионном программировании независимые группы создают определенное (л) количество про
граммных продуктов, именуемых версиями. Как правило, для надежных систем создается три версии: две версии
можно использовать, если безопасное состояние является систематическим. Все версии программного продукта
являются частью системы программного обеспечения. Чтобы уменьшить риск отказов общего характера, использу
ются разные языки программирования и алгоритмы. При этом ошибки общего характера все же могут появляться
21