Примечания
1 См. также таблицы А.1 (приложение А) и В.7 (приложение В).
2 Данная стадия представлена на рисунке 3 (см. 9.1).
7.2.1 Цели
7.2.1.1 Первой целью настоящего подраздела является определение требований к безопасности программного обеспечения как требований к функциям безопасности программного обеспечения и требований к полноте безопасности программного обеспечения.
7.2.1.2 Второй целью настоящего подраздела является определение требований к функциям безопасности каждой Е/Е/РЕ системы, которые нужны для реализации этих функций безопасности.
7.2.1.3 Третьей целью настоящего подраздела является определение требований к полноте безопасности для каждой связанной с безопасностью Е/Е/РЕ системы, необходимых для достижения уровня полноты безопасности, назначенного каждой функции безопасности, предназначенной для этой Е/Е/РЕ системы, связанной с безопасностью.
7.2.2 Требования
Примечание - В большинстве случаев эти требования выполняются комбинацией базового встраиваемого программного обеспечения и программных модулей, которые разработаны специально для конкретного приложения. Именно комбинация этих двух видов программного обеспечения позволяет достигать характеристик, описанных в подразделах, приводимых ниже. Точная граница между базовым и прикладным программным обеспечением зависит от выбранной архитектуры программной системы (см. 7.4.3 и рисунок 6).
Архитектура программируемой электроники |
||
Архитектура аппаратных средств РЕ |
Архитектура программного обеспечения РЕ |
|
Базовые и прикладные аппаратные средства РЕ |
Встроенное программное обеспечение РЕ |
Прикладное программное обеспечение РЕ |
Примеры: - диагностические тесты, - избыточные процессоры, - сдвоенные платы ввода/вывода. |
Примеры: - коммуникационные драйверы, - обработка отказов, - управляющие программы. |
Примеры: - функции ввода/вывода, - производные функции (например, проверка датчиков, если она не предоставляется как утилита или встроенная программа). |
РЕ - программируемая электроника; NP - непрограммируемые устройства; Н/W - аппаратные средства; S/W - программное обеспечение; MooN - М из N (например 1оо2 представляет собой 1 из 2).
Рисунок 6 - Взаимосвязь между архитектурой аппаратного и программного обеспечения программируемой электроники
7.2.2.1 Если требования к безопасности программного обеспечения уже были определены в требованиях к Е/Е/РЕ системам, связанным с безопасностью (МЭК 61508-2, пункт 7.2), повторять их не требуется.
7.2.2.2 Спецификация требований к безопасности программного обеспечения должна быть выработана на основе требований к безопасности Е/Е/РЕ систем, связанных с безопасностью (МЭК 61508-2), и требований к планированию безопасности (см. раздел 6). Эта информация должна быть доступна для разработчика программного обеспечения.
Примечание - Это требование означает, что должно быть тесное взаимодействие между разработчиком E/E/PES и разработчиком программного обеспечения (МЭК 61508-2 и МЭК 61508-3). По мере того, как требования к безопасности и архитектура программного обеспечения (см. 7.4.3) становятся более определенными, может проявляться влияние на архитектуру аппаратных средств E/E/PES, и по этой причине становится важным тесное взаимодействие между разработчиками аппаратных средств и программного обеспечения (см. рисунок 4).
7.2.2.3 Спецификация требований к безопасности программного обеспечения должна быть достаточно подробной для того, чтобы обеспечить стадии проектирования и внедрения информацией для обеспечения требуемой полноты безопасности и позволить выполнить оценку функциональной безопасности.
Примечание - Уровень детальности спецификации может изменяться в зависимости от сложности приложения.
7.2.2.4 Разработчик программного обеспечения должен просмотреть информацию, содержащуюся в 7.2.2.2, для того чтобы гарантировать, что требования определены адекватным образом. В частности, разработчик программного обеспечения должен учесть следующее:
a) функции безопасности;
b) конфигурацию или архитектуру системы;
c) требования к полноте безопасности аппаратных средств (программируемой электроники, датчиков и устройств привода);
d) требования к полноте безопасности программного обеспечения;
e) производительность и время отклика;
f) интерфейсы оборудования и оператора.
7.2.2.5 Разработчик программного обеспечения должен установить процедуры для устранения разногласий при назначении уровня полноты безопасности программного обеспечения.
7.2.2.6 В той степени, в которой этого требует уровень полноты безопасности, требования к безопасности программного обеспечения должны быть выражены и структурированы так, чтобы они:
a) были ясными, точными, недвусмысленными, пригодными для верификации, тестирования, поддержки и выполнения и соразмерными с уровнем полноты безопасности;
b) были пригодными для того, чтобы можно было определить их источник в спецификации требований к безопасности Е/Е/РЕ систем;
c) не содержали информации и описаний, которые являются двусмысленными и/или могут быть не поняты теми, кто использует документ на той или иной стадии жизненного цикла систем безопасности.
7.2.2.7 В требованиях к безопасности программного обеспечения должны быть подробно описаны все соответствующие режимы работы EUC, если только они не были уже адекватно определены в требованиях к безопасности Е/Е/РЕ систем, связанных с безопасностью.
Примечание - В большинстве случаев это требование будет достигаться объединением общего встроенного и специального прикладного программного обеспечения. Именно от этого объединения требуется обеспечение характеристик, удовлетворяющих требованиям к безопасности. Точное разделение между общим и специальным прикладным программным обеспечением зависит от выбранной архитектуры программного обеспечения (см. 7.4.3 и рисунок 4).
7.2.2.8 Спецификация требований к безопасности программного обеспечения должна определять и документировать все относящиеся к безопасности и иные необходимые ограничения, связанные с взаимодействием между аппаратными средствами и программным обеспечением.
7.2.2.9 В той степени, в которой этого требует описание проекта архитектуры аппаратных средств Е/Е/РЕ систем, спецификация требований к безопасности программного обеспечения должна учитывать следующее:
a) самоконтроль программного обеспечения (например, МЭК 61508-7, пункты С.2.5 и С.3.10 приложения С);
b) мониторинг программируемой электронной аппаратуры, датчиков и устройств привода;
c) периодическое тестирование функций безопасности во время выполнения программы;
d) разрешение тестирования функций безопасности во время работы EUC.
7.2.2.10 Если Е/Е/РЕ система, связанная с безопасностью, должна выполнять функции, не относящиеся к безопасности, эти функции должны быть четко указаны в спецификации требований к безопасности программного обеспечения.
7.2.2.11 Спецификация требований к безопасности программного обеспечения должна выражать необходимые характеристики безопасности продукта, а не проекта. С учетом 7.2.2.1 - 7.2.2.10, в зависимости от конкретных обстоятельств, должны быть определены следующие положения:
a) требования к функциям безопасности программного обеспечения:
- функции, которые позволяют EUC достигать или поддерживать безопасное состояние,
- функции, связанные с обнаружением, оповещением и обработкой ошибок аппаратных средств программируемой электроники,
- функции, связанные с обнаружением, оповещением и обработкой ошибок датчиков и устройств привода,
- функции, связанные с обнаружением, оповещением и обработкой ошибок в самом программном обеспечении (самоконтроль программного обеспечения),
- функции, связанные с периодическим тестированием функций в режиме реального времени,
- функции, связанные с периодическим тестированием функций в автономном режиме,
- функции, обеспечивающие безопасную модификацию PES,
- интерфейсы функций, не связанных с безопасностью,
- производительность и время отклика,
- интерфейсы между программным обеспечением и PES.
Примечание - Интерфейсы должны включать средства онлайнового и автономного программирования;
b) требования к полноте безопасности программного обеспечения:
- уровни полноты безопасности для каждой функции перечисления а).
Примечание - Назначение полноты безопасности компонентам программного обеспечения описано в МЭК 61508-5, приложение А.
Примечание - Эта стадия представлена на рисунке 3 (см. 9.2).
7.3.1 Цели
Целью требований настоящего подраздела является разработка плана подтверждения соответствия безопасности программного обеспечения.
7.3.2 Требования
7.3.2.1 В ходе планирования должны быть определены процедурные и технические шаги, которые нужно использовать для того, чтобы продемонстрировать, что программное обеспечение удовлетворяет требованиям безопасности (см. 7.2).
7.3.2.2 План подтверждения соответствия безопасности программного обеспечения должен содержать следующие положения:
a) описание этапов подтверждения соответствия;
b) перечень лиц, осуществляющих подтверждение соответствия;
c) идентификацию соответствующих режимов работы EUC, включая:
- подготовку к использованию, а также установку и настройку,
- работу в режиме запуска и обучения, в автоматическом, ручном, полуавтоматическом и стационарном режимах,
- переустановку, выключение, сопровождение,
- предполагаемые ненормальные режимы;
d) идентификацию программного обеспечения, связанного с безопасностью, для которого должна быть проведена процедура подтверждения соответствия, для каждого режима работы EUC до момента его ввода в эксплуатацию;
e) техническую стратегию для подтверждения соответствия (например, аналитические методы, статистическое тестирование и т.п.) (см. 7.3.2.3);
f) средства (методы) и процедуры в соответствии с перечислением е), которые должны быть использованы для подтверждения соответствия каждой функции требованиям к функциям безопасности программного обеспечения (см. 7.2) и требованиям к полноте безопасности программного обеспечения (см. 7.2);
g) конкретные ссылки на требования к безопасности программного обеспечения (см. 7.2);
h) условия, в которых должны происходить процедуры подтверждения соответствия (например, при тестировании может потребоваться использование калиброванных инструментов и оборудования);
i) критерии прохождения/непрохождения подтверждения соответствия (см. 7.3.2.5);
j) политику и процедуры, используемые для оценки результатов подтверждения соответствия, в частности, при оценке отказов.
Примечание - Эти требования основаны на общих требованиях МЭК 61508-1, пункт 7.8.
7.3.2.3 Техническая стратегия для подтверждения соответствия программного обеспечения, связанного с безопасностью (см. таблицу А.7, приложение А), должна содержать следующую информацию:
a) выбор ручных или автоматических методов, или и тех и других;
b) выбор статических или динамических методов, или и тех и других;
c) выбор аналитических или статистических методов, или и тех и других.
7.3.2.4 В рамках процедуры подтверждения соответствия программного обеспечения, связанного с безопасностью, если этого требует уровень полноты безопасности (МЭК 61508-1, пункт 8.2.12), область применения и содержание планирования подтверждения соответствия безопасности программного обеспечения должны быть изучены экспертом или третьей стороной, представляющей эксперта. Эта процедура должна также включать заявление о присутствии эксперта при испытаниях.
7.3.2.5 Критерии прохождения/непрохождения при завершении подтверждения соответствия программного обеспечения должны включать:
a) необходимые входные сигналы, включая их последовательность и значения;
b) предполагаемые выходные сигналы, включая их последовательность и значения и
c) другие критерии приемки, например использование памяти, хронометраж, допустимые интервалы для значений.
Примечание - Эта фаза представлена на рисунке 3 (см. 9.3).
7.4.1 Цели
7.4.1.1 Первой целью требований настоящего подраздела является создание такой архитектуры программного обеспечения, которая удовлетворяла бы требованиям к безопасности программного обеспечения (см. 7.2) в отношении необходимого уровня полноты безопасности.
7.4.1.2 Второй целью требований настоящего подраздела является анализ и оценка требований, предъявляемых к программному обеспечению со стороны аппаратных средств Е/Е/РЕ систем, связанных с безопасностью, включая значение взаимодействия между аппаратными средствами и программным обеспечением Е/Е/РЕ систем для безопасности управляемого оборудования.
7.4.1.3 Третьей целью требований настоящего подраздела является выбор подходящего набора инструментальных средств, включая языки программирования и компиляторы, который соответствовал бы заданному уровню полноты безопасности на протяжении всего жизненного цикла систем безопасности и способствовал бы выполнению процессов верификации, подтверждения соответствия, оценки и модификации.
7.4.1.4 Четвертой целью требований настоящего подраздела является проектирование и реализация программного обеспечения, которое удовлетворяло бы специфицированным требованиям к безопасности программного обеспечения (см. 7.2) в отношении необходимого уровня полноты безопасности. Это программное обеспечение должно быть пригодным для анализа и верификации и обладать способностью к безопасной модификации.