ГОСТ Р МЭК 61508-7—2007
В настоящее время регулярным процедурам сертификации подвергаются только компиляторы (транслято
ры); сертификация проводится национальными органами по сертификации и заключается в проверке компиля
торов (трансляторов) на соответствие международным стандартам, например, для языков Ada или Pascal.
Важно отметить, что сертифицированные инструментальные средства и сертифицированные трансляторы
обычно сертифицируются только на соответствие стандартам на соответствующий язык или процесс. Обычно они
никак не сертифицируются на соответствие стандартам по безопасности.
Литература:
Pascal Validation Suite. UK Distributor: BSI Quality Assurance. PO Box 375. Milton Keynes. MK14 6LL.
Ada Validation Suite. UK Distributor. National Computng Centre (NCC). Oxford Road. Manchester. England.
C.4.4 Инструментальные средства, заслуживающие доверие на основании опыта использования
П р и м е ч а н и е — Ссылка на данный метод|’средство приведена в МЭК 61508-3 (таблица А.З).
Цель: исключение любых проблем, обусловленных ошибками транслятора, которые могут появиться во
время разработки, верификации и эксплуатации программного пакета.
Описание: транслятор используется в тех случаях, когда не очевидно неправильное исполнение многих
предыдущих проектов. Если отсутствует опыт эксплуатации трансляторов или в них обнаружны любые известные
серьезные ошибки, то от таких трансляторов следует отказаться, если только нет каких-либо других гарантий
корректной работы транслятора (см. С.4.4.1).
Если в трансляторе выявлены небольшие недостатки, то соответствующие языковые конструкции фиксиру
ются и в проектах, связанных с безопасностью, не применяются.
Другим вариантом исключения проблем, обусловленных ошибками транслятора, является ограничение
языка до его общеиспользуемых конструкций.
Настоящие рекомендации основаны на опыте построения многих проектов. Доказано, что недоработанные
трансляторы служат серьезным препятствием в любой программной разработке. Такие трансляторы в общем
случае делают невозможным разработку программного обеспечения, связанного с безопасностью.
В настоящее время не существует методов подтверждения корректности всего транслятора или отдельных
его частей.
С.4.4.1 Сравнение исходных программ и исполнимых кодов
Цель: убедиться в том. что инструменты, используемые для создания образа PROM, не вносят в него ника
ких ошибок.
Описание: образ PROM обратно преобразуется в совокупность «объектных» модулей. Эти «обьектные»
модули обратно преобразуются в скомпонованные файлы языка, которые затем с помощью подходящих методов
сравниваются с фактическими исходными файлами, используемыми первоначально для разработки PROM.
Основное преимущество данного метода состоит в том. что инструменты [компиляторы, редакторы связей
(компоновщики) и т. п.]. используемые для разработки образа PROM, не требуют подтверждения соответствия.
Этим методом проверяют правильность преобразования исходного файла, используемого для конкретной систе
мы. связанной с безопасностью.
Литература:
Demonstrating Equivalence of Source Code and PROM Contents. D. J. Pavey and L A. Winsborrcrw. The Computer
Journal Vol. 36. No. 7. 1993.
Formal demonstration of equivalence of source code and PROM contents: an industrial example. D. J. Pavey and
L. A. Winsborrow. Mathematics of Dependable Systems. Ed. C Mitchell and V. Stavndou. Clarendon Press. 1995, ISBN
0-198534-91-4.
Retrospective Formal Venfication of Reactor Protection System Software. D. J. Pavey. L. A. Winsborrow, A. R.
Lawrence. Proceedings of the Second Safety Through Quality Conference. 1995. ISBN 1-897851-06-5.
Assuring Correctness in a Safety Critical Software Application. L. A. Winsborrow and D. J. Pavey. High Integrity
Systems. Vol. 1. No. 5. pp 453—459. 1996.
C.4.5 Библиотека провереиных/верифицированных модулей и компонентов
П р и м е ч а н и е — Ссыпка на данный метод/средство приведена в МЭК 61508-3 (таблица А.З).
Цель: исключение необходимости чрезмерных повторных проверок или перепроектирования компонентов
программного обеспечения и аппаратных средств при каждом новом применении. Кроме того, содействовие
созданию проектов, которые не были формально или строго проверены, но относительно которых имеется значи
тельная предыстория эксплуатации.
Описание: хорошо спроектированные и структурированные PES строятся из множества компонентов и мо
дулей аппаратных и программных средств, которые четко различаются и которые взаимодействуют друг с другом
строго специфицированным способом.
Различные PES, созданные для различных применений, могут содержать большое число одинаковых или
очень схожих между собой программных модулей или компонентов. Создание библиотеки таких общепримени
мых программных модулей позволяет использовать большую часть ресурсов, необходимых для подтверждения
соответствия проекта, сразу для нескольких применений.
48