Открыть сервис

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 →