Найти в Дзене

✈️ Чем регулируется квалификация ПО или Обзор непопулярных стандартов в авиации

Когда речь заходит об авиационных стандартах, регулирующих сертификацию авиационного программного обеспечения, то обычно инженерам на ум приходит руководство «Квалификационные требования. Часть 178С. Требования к ПО бортовой аппаратуры и систем при сертификации авиационной техники». Но не всем известно, что при подготовке к сертификации авиационного ПО важно также учитывать требования нормативной базы для квалификации ПО. Более того, в части касающейся среды разработки, верификации, интеграции или других инструментов поддержки жизненного цикла ПО, часто бывает необходимо руководствоваться требованиями дополнений, а не руководства КТ-178C. Программные инструменты широко используются во многих областях, помогая разрабатывать, верифицировать и управлять другим программным обеспечением (ПО). Примерами являются генераторы автокода, компиляторы, инструменты тестирования, верификаторы моделей, инструменты управления модификацией и др. Процесс квалификации инструмента нужен, чтобы подтвердить,

Когда речь заходит об авиационных стандартах, регулирующих сертификацию авиационного программного обеспечения, то обычно инженерам на ум приходит руководство «Квалификационные требования. Часть 178С. Требования к ПО бортовой аппаратуры и систем при сертификации авиационной техники».

Но не всем известно, что при подготовке к сертификации авиационного ПО важно также учитывать требования нормативной базы для квалификации ПО.

Более того, в части касающейся среды разработки, верификации, интеграции или других инструментов поддержки жизненного цикла ПО, часто бывает необходимо руководствоваться требованиями дополнений, а не руководства КТ-178C.

Какая же нормативная база используется для квалификации ПО?

Программные инструменты широко используются во многих областях, помогая разрабатывать, верифицировать и управлять другим программным обеспечением (ПО). Примерами являются генераторы автокода, компиляторы, инструменты тестирования, верификаторы моделей, инструменты управления модификацией и др.

Процесс квалификации инструмента нужен, чтобы подтвердить, что данный инструмент обеспечивает уровень доверия, по крайней мере, эквивалентный тому, который обеспечивается исключаемым, упрощаемым или автоматизируемым процессом (процессами).

Процесс квалификации инструмента может применяться к одному инструменту, их набору или к одной или нескольким функциям инструмента. Для инструмента с несколькими функциями, если можно продемонстрировать их защиту, то квалификация требуется только для тех функций, которые используются для исключения, упрощения или автоматизации процессов ЖЦ ПО, и чьи выходные данные не верифицируются. Защита представляет собой использование механизма, гарантирующего, что одна функция инструмента не может неблагоприятно влиять на другую функцию.

Инструмент квалифицируется только для использования при разработке конкретной системы, когда намерение его использовать объявлено в Плане Сертификации ПО этой системы. Если инструмент, ранее квалифицированный для одной системы, предлагается использовать при разработке другой системы, то он должен быть повторно квалифицирован в контексте этой системы.

Нормативной базой для квалификации программного обеспечения является руководство Р-330 (Руководство по квалификации программных инструментов) – для квалификации генераторов кода, компиляторов и инструментов тестирования.

Если в рамках процесса разработки и верификации ПО требования к ПО и/или архитектуре были представлены на основе моделей, необходимо также учитывать уточненные цели и мероприятия дополнения Р-331 (Руководство Р-331. Разработка и верификация на основе модели. Дополнение к документам КТ-178С и КТ-278А).

Для квалификации инструментов, в основе которых лежат формальные методы, необходимо также учитывать уточненные цели и мероприятия дополнения Р-333 (Руководство Р-333. Дополнение по формальным методам к документам КТ-178C и КТ-278A).

Зарубежные названия данных документов DO-330, DO-331, DO-333.

Далее будет приведен краткий содержательный анализ руководств, являющихся нормативной базой для квалификации ПО.

📑Назначение документа «Руководство по квалификации программных инструментов (Р-330)» – предоставить руководство по квалификации инструмента.

📑В документе «Руководство по квалификации программных инструментов (Р-330)» определяется пять уровней квалификации инструментов (от TQL-1 до TQL-5).

По мере роста потенциального влияния инструмента на процесс ЖЦ ПО растет строгость уровня квалификации инструментов (TQL) из-за потенциального влияния на безопасность системы.

📑Определение того, какой уровень присваивается квалификации инструмента, выполняется путем оценки использования данного инструмента в процессе ЖЦ ПО, как определено в связанном с конкретной областью руководством (например, в разделе 12.2 документа КТ-178C).

Уровень строгости квалификации меняется в зависимости от уровня квалификации. Уровень квалификации инструмента TQL-1 является самым строгим уровнем и требует хорошо определенных и исполненных процессов разработки, верификации и интегральных процессов инструмента с наивысшим уровнем независимости верификации. Остальные уровни требуют меньшей строгости. Уровень квалификации инструмента TQL-5 является уровнем квалификации с минимальной строгостью.

📑Документ «Руководство Р-331. Разработка и верификация на основе модели. Дополнение к документам КТ-178С и КТ-278А (Р-331)» содержит изменения и дополнения к целям, мероприятиям, поясняющему тексту и данным ЖЦ ПО в документе КТ-178С, к которым следует обращаться, когда разработка и верификация ПО на основе моделей являются частью ЖЦ ПО. К данным ЖЦ ПО относятся также объекты, которые будут выражены с помощью моделей, и доказательные материалы верификации, которые могут быть получены из них. Таким образом, документ применим также к моделям, разрабатываемым в системных процессах, в котором определяются требования к ПО и к архитектуре ПО. Данный документ должен использоваться вместе с КТ-178 С.

📑Документ «Руководство Р-333.
Дополнение по формальным методам к документам КТ-178C и КТ-278A (Р-333)» описывает процедуры, стандарты или рекомендации по использованию формальных методов для обеспечения качества и безопасности в процессе разработки, производства и эксплуатации продукции. Также он содержит требования к оформлению документации, терминологии и другим аспектам, связанным с применением формальных методов.

Дополнение определяет изменения и дополнения к целям, мероприятиям, пояснительному тексту и данным ЖЦ ПО документа КТ-178C, к которым следует обращаться, когда формальные методы используются как часть ЖЦ ПО. Сюда включаются артефакты, которые могут быть выражены с помощью некоторой формальной нотации, и свидетельства верификации, которые могут быть получены на их основе.

В подведение итогов и для закрепления результатов отдельно выделим, в каком случае к какой нормативной базе для квалификации ПО мы должны не забывать обращаться:

✅ Для квалификации инструмента необходимо обращаться к положениям стандарта Р-330 (Руководство по квалификации программных инструментов). Необходимо определить, какой уровень присваивается квалификации инструмента, путем оценки использования данного инструмента в процессе ЖЦ ПО, как определено в связанном с конкретной областью руководством (например, в документе КТ-178C).

✅ Если разработка и верификация ПО на основе моделей являются частью ЖЦ ПО, тогда необходимо учитывать уточненные цели и мероприятия, описанные в документе Р-331 (Руководство Р-331. Разработка и верификация на основе модели. Дополнение к документам КТ-178С и КТ-278А.

✅ Для квалификации инструментов, в основе которых лежат формальные методы, необходимо учитывать уточненные цели и мероприятия дополнения Р-333 (Руководство Р-333. Дополнение по формальным методам к документам КТ-178C и КТ-278A).

✅ Руководства Р-331 и Р-333 содержат изменения и дополнения к целям, мероприятиям, поясняющему тексту и данным ЖЦ ПО в документе относительно КТ-178С.