ГОСТ Р 53195.4—2010
ограничен стандартными языками ПЛК. редакторами и загрузчиками. В этом случае ответственность за выполне
ние требований 5.6.6 возлагается, главным образом, на поставщика.
2 При более высоких уровнях полноты безопасности могут потребоваться ограниченные подмножества
языка ПЛК. а также средства верификации и отладки, такие как анализаторы кода и имитаторы. В этих условиях
ответственность возлагается на поставщика и на пользователя.
3 Инструментарий для встраиваемых приложений, использующий языки с полной варьируемостью.должен
быть более разнообразным даже в случае низких уровней полноты безопасности. Ответственность за выполне
ние требований 5.6.6 возлагается, главным образом, на разработчиков ПО. Ответственность несет также постав
щик ПЛК. который может использовать языки с полной варьируемостью а языке с низким уровнем варьируемости
для обеспечения пользовательского прикладного программирования.
5.6.6.3 Набор интегрированных инструментальных средств должен выбираться в соответствии с
требуемым уровнем полноты безопасности и должен включать в свой состав языки программирова
ния, компиляторы, средства управления конфигурацией и, при необходимости, автоматизированные
средства тестирования. При выборе инструментальныхсредств (за исключением тех средств, которые
использовались при первоначальной разработке системы) должна быть учтена их способность выпол
нять необходимые задачи на протяжении всего жизненного цикла СБЗС-систем.
5.6.6.4 В степени, необходимойдля требуемогоуровня полноты безопасности, выбранные языки
программирования должны:
- иметь транслятор/компилятор, сертифицированный на соответствие национальному или меж
дународному стандарту либо оцененный на пригодность его для применения;
- быть полностью и однозначно определенными либо ограниченными до подмножества одно
значно определяемых элементов;
- соответствовать характеристикам приложения;
- обладать свойствами, облегчающими обнаружение ошибок программирования:
- поддерживать характеристики, соответствующие методу проектирования.
П р и м е ч а н и е — Инструментальные средства поддержки, а также языки программирования, рекомендо
ванные к применению, приведены в таблице А.З приложения А и таблице 6.3 приложения Б.
5.6.6.5 Если требования 5.6.6.4 не могутбыть выполнены, то при описании проекта структуры ПО
(см. 5.6.5) следует документировать обоснование использования альтернативного языка программи
рования. Вобосновании должны быть подробно рассмотрены пригодность языка программирования, а
также применяемые дополнительные меры, обусловленные известными недостатками языка.
5.6.6.6 Стандарты программирования (составления программ), используемые при разработке
всего СБЗС ПО, должны быть рассмотрены экспертом на предмет определения их пригодности.
5.6.6.7 Стандарты программирования должны определять правильные методы программирова
ния, запрещать использование небезопасных возможностей языка программирования (например,
неопределенных особенностей языка, неструктурированных конструкций и т. л.) и определять про
цедуры для документирования исходного текста.
Документация, относящаяся к исходному тексту, должна содержать, по меньшей мере, следую
щую информацию:
- наименование (имя) юридического лица (например, компании, авторов и т. л.);
- описание;
- входные и выходные данные:
- историю управления конфигурацией ПО.
5.6.7 Требования к детальному проектированию и разработке
5.6.7.1 Под детальным проектированием здесь понимается разделение основных компонентов
структуры на систему программных модулей, проектирование отдельных программных модулей и их
программирование. В небольших приложениях проектирование программных систем и структуры
могут быть объединены.
5.6.7.2 Допускается изменение характера детального проектирования иразработки в зависимос
ти от характера процессов разработки программ и структуры ПО (см. 5.6.2).
П р и м е ч а н и я
1 При осуществлении прикладного программирования пользователем, применяющим языки с ограничен
ной варьируемостью, например языки многозвенных логических схем и языки функциональных блоков, детальное
проектирование может рассматриваться скорее как конфигурирование, чем как программирование.
2 В ходе детального проектирования целесообразно применять приемы «установившейся практики»,
например.
- структурирование программного обеспечения, включая организацию модульной структуры, которая выде
ляет {настолько, насколько это возможно) блоки, связанные с безопасностью:
14