Статус документа
Статус документа

ГОСТ Р МЭК 61508-3-2007 Функциональная безопасность систем электрических, электронных, программируемых электронных, связанных с безопасностью. Часть 3. Требования к программному обеспечению

Приложение А
(обязательное)

     
Руководство по выбору методов и средств


Некоторые из подразделов настоящего стандарта имеют ассоциированные с ними таблицы, например подраздел 7.2 связан с таблицей А.1. Более подробные таблицы, содержащиеся в приложении В, раскрывают содержание некоторых элементов таблиц приложения А, например таблица В.2 раскрывает содержание динамического анализа и тестирования из таблицы А.5.

Обзор методов и средств, упоминаемых в приложениях А и В, приведен в МЭК 61508-7. Для каждого из них даны рекомендации по уровню полноты безопасности, изменяющемуся от 1 до 4. Эти рекомендации обозначаются следующим образом:

HR: настоятельно рекомендуется использовать этот метод или средство для данного уровня полноты безопасности. Если метод или средство не используются, то на этапе планирования безопасности этому должно быть дано подробное объяснение, которое должно быть согласовано с экспертом.

R: метод или средство рекомендуется использовать для данного уровня полноты безопасности, но степень обязательности рекомендации ниже, чем в случае рекомендации HR.

---: для данного метода или средства не даются рекомендации ни за, ни против.

NR: данный метод или средство определенно не рекомендуется для этого уровня полноты безопасности. Если данный метод или средство используются, то на стадии планирования безопасности этому должно быть дано подробное обоснование, которое следует согласовать с экспертом.

Методы и средства следует выбирать в соответствии с уровнем полноты безопасности. Альтернативные или эквивалентные методы и средства обозначаются буквой, следующей за номером. Следует выполнять только один из альтернативных или эквивалентных методов/средств.

Ранжирование методов и средств связано с концепцией эффективности, используемой в МЭК 61508-2. При прочих равных условиях методы, имеющие ранг HR, будут более эффективны в предотвращении внесения систематических ошибок при разработке программного обеспечения либо (при разработке архитектуры программ) будут более эффективны при выявлении ошибок, оставшихся необнаруженными на этапе выполнения, по сравнению с методами, имеющими ранг R.

При большом числе факторов, влияющих на полноту безопасности программного обеспечения, невозможно дать алгоритм, определяющий такую комбинацию методов и средств, которая была бы корректной для любого заданного приложения. Тем не менее, руководство по использованию этих таблиц, иллюстрированное двумя рабочими примерами, приведено в МЭК 61508-6.

В случае конкретного приложения соответствующая комбинация методов или средств должна быть сформулирована при планировании безопасности, при этом методы и средства должны использоваться, если примечания к таблице не налагают иных требований.

Предварительное руководство по интерпретации таблиц для прикладного программирования приведено в МЭК 61508-6.

Примечание - Ссылки указывают на подробные описания методов/средств, приведенные в МЭК 61508-7.


Таблица А.1 - Спецификация требований к безопасности программного обеспечения (см. 7.2)

Метод/средство*

Ссылка

SIL1

SIL2

SIL3

SIL4

1 Компьютерные средства разработки спецификаций

В.2.4

R

R

HR

HR

2а Полуформальные методы

Таблица В.7

R

R

HR

HR

2b Формальные методы, использующие, например, CCS, CSP, HOL, OBJ, LOTOS, временную логику, VDM и Z

С.2.4

---

R

R

HR

* Методы/средства следует выбирать в соответствии с уровнем полноты безопасности. Альтернативные или эквивалентные методы/средства обозначаются буквами, следующими за числом. Следует выполнять только один из альтернативных или эквивалентных методов/мероприятий.

Примечания

1 Спецификация требований к безопасности программного обеспечения всегда будет требовать описания задачи на естественном языке и использования необходимой системы математических обозначений, отражающих содержание приложения.

2 Таблица отражает дополнительные требования для ясного и точного определения требований к безопасности программного обеспечения.



Таблица А.2 - Проектирование и разработка программного обеспечения: проектирование архитектуры программ (см. 7.4.3)

Метод/средство*

Ссылка

SIL1

SIL2

SIL3

SIL4

1 Обнаружение и диагностика ошибок

С.3.1

---

R

HR

HR

2 Коды с обнаружением и исправлением ошибок

С.3.2

R

R

R

HR

3а Программирование с проверкой на ошибки

С.3.3

R

R

R

HR

3b Методы "подушки безопасности"

С.3.4

---

R

R

R

3c Многовариантное программирование

С.3.5

R

R

R

HR

3d Блоки восстановления

С.3.6

R

R

R

R

3е Восстановление предыдущего состояния

С.3.7

R

R

R

R

3f Переход к последнему достигнутому состоянию

С.3.8

R

R

R

R

3g Повторный запуск механизмов восстановления после ошибок

С.3.9

R

R

R

HR

3h Запоминание достигнутых состояний

С.3.10

---

R

R

HR

4 Постепенное отключение блоков

С.3.11

R

R

HR

HR

5 Искусственный интеллект - исправление ошибок

С.3.12

---

NR

NR

NR

6 Динамическая реконфигурация

С.3.13

---

NR

NR

NR

7а Структурные методы, включая, например, JSD, MASCOT, SADT и Yourdon

С.2.1

HR

HR

HR

HR

7b Полуформальные методы

Таблица В.7

R

R

HR

HR

7с Формальные методы, включая, например, CCS, CSP, HOL, LOTOS, OBJ, временную логику, VDM и Z

С.2.4

---

R

R

HR

8 Компьютерные средства разработки спецификаций

В.2.4

R

R

HR

HR

* Методы/средства следует выбирать в соответствии с уровнем полноты безопасности. Альтернативные или эквивалентные методы/средства обозначаются буквами, следующими за числом. Следует выполнять только один из альтернативных или эквивалентных методов/средств.

Примечание - Приведенные в данной таблице средства, касающиеся устойчивости к ошибкам (контроль ошибок), должны рассматриваться совместно с требованиями, описанными в МЭК 61508-2, к архитектуре и контролю ошибок для аппаратных средств программируемых электронных устройств.



Таблица А.3 - Проектирование и разработка программного обеспечения: инструментальные средства поддержки и языки программирования (см. 7.4.4)

Метод/средство*

Ссылка

SIL1

SIL2

SIL3

SIL4

1 Выбор соответствующего языка программирования

С.4.6

HR

HR

HR

HR

2 Использование языков программирования со строгой типизацией

С.4.1

HR

HR

HR

HR

3 Подмножество языка

С.4.2

---

---

HR

HR

4а Сертифицированные средства

С.4.3

R

HR

HR

HR

4b Инструментальные средства, заслуживающие доверия на основании опыта использования

С.4.4

HR

HR

HR

HR

5а Сертифицированный компилятор

С.4.3

R

HR

HR

HR

5b Трансляторы, заслуживающие доверия на основании опыта использования

С.4.4

HR

HR

HR

HR

6 Библиотека проверенных/сертифицированных модулей и компонентов

С.4.5

R

HR

HR

HR

* Методы/средства следует выбирать в соответствии с уровнем полноты безопасности. Альтернативные или эквивалентные методы/средства обозначают буквами, следующими за числом. Следует выполнять только один из альтернативных или эквивалентных методов/средств.



Таблица А.4 - Проектирование и разработка программного обеспечения: детальное проектирование (см. 7.4.5 и 7.4.6)

Метод/средство*

Ссылка

SIL1

SIL2

SIL3

SIL4

1а Методы, использующие структурирование, включая, например, JSD, MASCOT, SADT и Yourdon

С.2.1

HR

HR

HR

HR

1b Полуформальные методы

Таблица В.7

R

HR

HR

HR

1с Формальные методы, включая, например, CCS, CSP, HOL, LOTOS, OBJ, временную логику, VDM и Z

С.2.4

---

R

R

HR

2 Компьютерные средства проектирования

В.3.5

R

R

HR

HR

3 Защитное программирование

С.2.5

---

R

HR

HR

4 Модульный подход

Таблица В.9

HR

HR

HR

HR

5 Стандарты для проектирования и кодирования

Таблица В.1

R

HR

HR

HR

6 Структурное программирование

С.2.7

HR

HR

HR

HR

7 Использование проверенных/верифицированных программных модулей и компонентов (по возможности)

С.2.10, С.4.5

R

HR

HR

HR

* Методы/средства следует выбирать в соответствии с уровнем полноты безопасности. Альтернативные или эквивалентные методы/средства обозначают буквами, следующими за числом. Следует выполнять только один из альтернативных или эквивалентных методов/средств.