ГОСТ Р МЭК 61508-3—2007
7.4.3.3Любые изменения, которые может потребоваться внести в специфицированные требова
ния к Е/Е/РЕ системе, связанной с безопасностью, после использования мероприятий 7.4.3.2 должны
быть согласованы с разработчиком Е/Е/РЕ систем и документированы.
П р и м е ч а н и е — Итерационное взаимодействие между архитектурой аппаратных средств и программно
го обеспечения является неизбежным (см. рисунок S). поэтому существует необходимость в обсуждении с разработ
чиком аппаратуры таких вопросов, как спецификация тестирования интеграции программируемой электронной
ап паратуры и программного обеспечения (см. 7.5).
7.4.4 Требования кинструментальным средствам поддержки иязыкам программирования
П р и м е ч а н и я
1 См. также таблицу А.З (приложение А).
2 Выбор инструментов для разработки зависит от характера процессов разработки программного обеспече
ния и его архитектуры (см. 7.4.3).
Если пользовательское прикладное программирование выполняется на языке сограниченной варьируемос-
тью при низких уровнях полноты безопасности, то круг необходимых инструментов и языков программирования
может быть ограничен стандартными языками ПЛК. редакторами и загрузчиками. Ответственность за соответ
ствие 7.4.4 будет лежать, следовательно, главным образом на поставщике.
При более высоких уровнях полноты безопасности могут потребоваться ограниченные подмножества языка
ПЛК. а также средства верификации и отладки, такие как анализаторы кода и имитаторы. В этих условиях ответ
ственность лежит и на поставщике, и на пользователе.
Инструментарий для встраиваемых приложений, использующий языки с полной варьируемостью. должен
быть более разнообразным даже а случае низких уровней полноты безопасности. Ответственность за соответ
ствие 7.4.4 будет лежать, главным образом, на разработчиках программного обеспечения. В их число входит
поставщик ПЛК. который может использовать языки сполной аарьируемостыо а языке снизким уровнем варьируе-
мости для обеспечения пользовательского прикладного программирования.
7.4.4.1 В зависимости от характера программного обеспечения ответственность за соответ
ствие 7.4.4 может лежать только на поставщике, только на пользователе или на обеих сторонах (см.
7.4.4. примечание 2). Разделение ответственности должно бытьдокументировано во время плани
рования безопасности (см. раздел 6).
7.4.4.2 Должен быть выбран набор интегрированных инструментальных средств, соответствую
щий требуемому уровню полноты безопасности и включающий языки программирования, компилято
ры. средства управления конфигурацией и, при необходимости, автоматизированные средства
тестирования. Следует учитывать способность инструментальных средств (необязательно тех. кото
рые использовались при первоначальной разработкесистемы) выполнять необходимыезадачи на про
тяжении всего жизненного цикла Е/Е/РЕ систем, связанных с безопасностью.
7.4.4.3 В той степени, в которой этого требует уровень полноты безопасности, выбранные языки
программирования должны.
a) иметь транслятор/компилятор. который либо обладает сертификатом, подтверждающим соот
ветствие национальному или международному стандарту, либо должен быть оценен для проверки его
пригодности;
b
) быть полностью и однозначно определенными либо ограниченными до подмножества одно
значно определяемых элементов;
c) соответствовать характеристикам приложения;
d) обладать свойствами, облегчающими обнаружение ошибок программирования;
e) поддерживать характеристики, соответствующие методу проектирования.
7.4.4.4 Если требования 7.4.4.3 не могут быть выполнены, то при описании проекта архитектуры
программного обеспечения (см. 7.4.3) следует документировать обоснование использования альтер
нативного языка программирования. В обосновании должны быть подробно рассмотрены пригодность
языка программирования, а также дополнительные мероприятия, относящиеся к известным недостат
кам языка.
7.4.4.5 Стандарты составления программ должны быть:
a) рассмотрены экспертом на предмет определения пригодности и
b
) использованы при разработке всегопрограммногообеспечения, связанного сбезопасностью.
7.4.4.6 Стандарты составления программдолжны определятьправильные методы программиро
вания. запрещать использование небезопасных возможностей языка (например, неопределенных осо
бенностей языка, неструктурированных конструкций и т.п.) и определять процедуры для
18