DO-178B¶
DO-178B — это стандарт авиационной промышленности, озаглавленный «Требования к программному обеспечению бортовых систем и аттестации», разработанный комитетом RTCA (Radio Technical Commission for Aeronautics) и опубликованный в 1992 году. Он определяет процессы разработки, верификации, валидации и сертификации программного обеспечения, используемого в бортовых системах воздушных судов, и является основным нормативным документом для обеспечения безопасности полётов в гражданской авиации.
¶История
Разработка стандарта DO-178B началась в конце 1980-х годов в ответ на растущую сложность программного обеспечения, используемого в авионике. Первая версия стандарта, DO-178, была выпущена в 1982 году, но она не учитывала многие аспекты современной разработки, такие как объектно-ориентированное программирование и автоматическая генерация кода. В 1992 году была опубликована версия DO-178B, которая стала более детальной и строгой, особенно в части требований к верификации и валидации. В 2011 году стандарт был заменён на DO-178C, который внёс уточнения, связанные с использованием современных методов разработки, однако DO-178B остаётся широко используемым в индустрии, особенно для сертификации уже существующих систем.
¶Классификация уровней критичности
Основой DO-178B является классификация программного обеспечения по уровням критичности (Levels), которые определяются на основе анализа отказов системы и их влияния на безопасность полёта. Уровни обозначаются от A до E:
- Уровень A (Catastrophic) — отказ программного обеспечения приводит к катастрофическим последствиям, таким как потеря управления воздушным судном или гибель экипажа и пассажиров. Требуется наиболее строгий процесс разработки и верификации.
- Уровень B (Hazardous) — отказ приводит к опасным последствиям, таким как серьёзное ухудшение управляемости или травмы пассажиров.
- Уровень C (Major) — отказ приводит к значительным последствиям, таким как снижение функциональности системы, но не угрожает безопасности полёта.
- Уровень D (Minor) — отказ приводит к незначительным последствиям, например, к индикации ошибки, не влияющей на управление.
- Уровень E (No Effect) — отказ не влияет на безопасность полёта.
Для каждого уровня установлены различные требования к объёму документации, тестированию и анализу. Например, для уровня A требуется 100% покрытие кода тестами и анализ всех возможных путей выполнения, в то время как для уровня E требования минимальны.
¶Структура и основные требования
DO-178B описывает жизненный цикл разработки программного обеспечения, который включает несколько этапов:
¶Планирование
На этом этапе разрабатываются планы, определяющие процессы разработки, верификации, валидации, управления конфигурацией и обеспечения качества. Ключевые документы:
- Plan for Software Aspects of Certification (PSAC) — план, описывающий, как будет обеспечено соответствие стандарту.
- Software Development Plan (SDP) — план разработки.
- Software Verification Plan (SVP) — план верификации.
- Software Configuration Management Plan (SCMP) — план управления конфигурацией.
- Software Quality Assurance Plan (SQAP) — план обеспечения качества.
¶Разработка требований
Программные требования (Software Requirements) должны быть полными, непротиворечивыми и однозначными. Они разбиваются на высокоуровневые (High-Level Requirements) и низкоуровневые (Low-Level Requirements). Для каждого требования должны быть определены критерии верификации.
¶Проектирование и кодирование
На основе требований разрабатывается архитектура программного обеспечения и код. DO-178B не предписывает конкретный язык программирования или методологию, но требует, чтобы код был прослеживаем до требований и соответствовал стандартам кодирования.
¶Верификация и валидация
Это ключевой этап, включающий:
- Анализ — проверка кода, требований и архитектуры на соответствие стандартам.
- Тестирование — модульное, интеграционное и системное тестирование. Для уровней A и B требуется тестирование на уровне модифицированного покрытия условий/решений (MC/DC).
- Покрытие — анализ покрытия кода тестами (структурное покрытие, покрытие условий, покрытие решений).
¶Управление конфигурацией
Все артефакты (код, документация, тестовые сценарии) должны находиться под контролем версий. Любые изменения должны быть задокументированы и одобрены.
¶Обеспечение качества
Независимая группа (Software Quality Assurance) проверяет, что процессы разработки и верификации выполняются в соответствии с планами.
¶Применение
DO-178B применяется в основном в гражданской авиации для сертификации программного обеспечения бортовых систем, таких как:
- Системы управления полётом (Fly-by-Wire).
- Автопилоты.
- Навигационные системы (GPS, INS).
- Системы предупреждения столкновений (TCAS).
- Системы управления двигателями (FADEC).
- Бортовые информационные системы.
Стандарт также используется в других отраслях, где требуется высокий уровень безопасности, например, в железнодорожном транспорте (EN 50128) и медицинском оборудовании, но с адаптацией под конкретные нормативы.
¶Критика и ограничения
DO-178B подвергается критике за:
- Высокую стоимость — сертификация по уровню A может занимать годы и требовать значительных ресурсов, что делает её неподъёмной для небольших проектов.
- Бюрократичность — большое количество документации и формальных процедур может замедлять разработку.
- Недостаточную гибкость — стандарт плохо адаптирован к современным методологиям, таким как Agile или DevOps, и к использованию открытого программного обеспечения.
- Устаревание — с появлением DO-178C некоторые аспекты DO-178B (например, требования к автоматической генерации кода) стали менее актуальными.
Тем не менее, DO-178B остаётся де-факто стандартом для многих авиационных проектов, особенно тех, которые начали разработку до выхода DO-178C.
¶Интересные факты
- DO-178B не является обязательным законом, но признаётся авиационными регуляторами, такими как FAA (США) и EASA (Европа), как приемлемый метод демонстрации соответствия требованиям безопасности.
- Название «DO» расшифровывается как «Document» — это обозначение документов, публикуемых RTCA.
- В России аналогом DO-178B является стандарт ГОСТ Р 51904-2002, который во многом основан на DO-178B.
¶Источники
- RTCA DO-178B: Software Considerations in Airborne Systems and Equipment Certification, 1992.
- ГОСТ Р 51904-2002: Программное обеспечение бортовых систем воздушных судов. Общие требования.
- FAA Advisory Circular AC 20-115C: Airborne Software Development Assurance Using DO-178C.
- «Aviation Software: DO-178B/C» — Leanna Rierson, 2013.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →
