Производитель : Lynx Software Technologies
Производитель : Lynx Software Technologies
Ключевые свойства
Военная и аэрокосмическая отрасли выдвигают серьезные технические требования к ответственным, критичным к безопасности применениям. В США они отражены в стандарте
Сертификация программного обеспечения по стандарту
Исторически, желание использовать коммерческие (commercial-
Семейство продуктов
Минимизация рисков на пути к сертификации по DO-178B
Как известно, сертифицированная ОС может сэкономить тысячи человеко-часов и десятки миллионов долларов при сертификации проекта.
Сертификация по DO-178B - это очень дорогое мероприятие для поставщиков, связанных с авиационными проектами, и очень важна для компаний, вовлеченных в другие программы, связанные с обеспечением безопасности, такими как ядерные, медицинские и коммуникационные проекты. Применимый ко всему ПО такого рода (связанному с обеспечением безопасности), стандарт DO-178B устанавливает руководство для процессов и целей, которые должны использоваться для развития программного обеспечения, критичного к безопасности. Процессы и цели DO-178 должны быть проверяемы и прослеживаемы с помощью документированных артифактов разработки ПО и процесса сопровождения. Эта идентифицируемость требует много времени и значительных усилий. Этот процесс является настолько кропотливым, что поставщики по опыту знают, что они могут верифицировать не более 125 строк кода за один человеко-месяц.
В дополнение к спецификации процесса разработки ПО, стандарт DO-178B охватывает некоторые критичные к безопасности архитектурные соглашения. Они включают разделение (partitioning) так, что независимые компоненты изолируются, чтобы ограничить сбои, которые предположительно могли бы привести к отказу всей критичной к безопасности системы. Разделение верифицируется с помощью тщательного анализа и тестирования программного обеспечения и мониторинга безопасности используемых функций. Для того, чтобы достичь более быстрого выхода на рынок и более низкой общей стоимости сертификации, компаниям нужно реализовать коммерческие продукты, которые должны быть сертифицированы в соответствии с DO-178B.
Это означает, что программный пакет должен:
Твердая основа - LynxOS
Полностью детерминированная ОС РВ с 1988 года, LynxOS соответствует ключевым архитектурным соглашениям спецификации DO-178B. Ядром LynxOS-178 является LynxOS, спроектированная как UNIX-подобная ОС жесткого реального времени. LynxOS протестирован в десятках миллионов экземпляров продуктов, начиная с первого релиза 1988 года. Разработчики ответственных систем могут подтвердить, что LynxOS имеет значительно меньшую долю дефектов, чем его более "незрелые" конкуренты, что является наиболее важным при разработке ответственных систем. LynxOS и LynxOS-178 вместе являются фундаментом для различных сертифицированных по DO-178B продуктов, включая множество военных и аэрокосмических систем, сертифицированных по уровню A (наиболее высокому уровню требований безопасности).
Разделение (partitioning) - для ограничения влияния сбоев
Ключевой атрибут LynxOS-178 - это поддержка нескольких полностью разделенных по времени и памяти разделов. Каждый раздел полностью изолирован, так что невозможно распространение сбоев между разделами. Это разделение относится к процессорному времени, адресному пространству и ресурсам в каждом разделе как к пути для изоляции сбоев и гарантировании доступности всех ресурсов.
С помощью LynxOS-178 фиксированные разделы обслуживаются как Виртуальные Машины. Каждый прикладной процесс оперирует внутри его собственной среды операционной системы, как если бы он работал на своем собственном процессоре. Это применимо ко всем ресурсам процессора и именованным пространствам. Эта абстракция защищает разработчика прикладной системы от дополнительных усилий при программирования сложной системы. Управление разделами контролируется с помощью Таблицы Конфигурации Виртуальных Машин (Virtual-Machine Configuration Table - VCT) и является обязательным в среде LynxOS-178, позволяя разработчику приложений сконцентрироваться на разработке приложений, а не на разделении системы.
Кроме того, LynxOS-178 поддерживает разделение систем, совместимых с RTCA DO-255, которое разрешает системе выполнять ПО с различными уровнями безопасности по DO-178B в различных разделах (виртуальных машинах). Это означает, что ОС может выполнять приложение с уровнем A (по DO-178B) на одной виртуальной машине и приложение с уровнем C на другой, причем оба работают на одном и том же процессоре в рамках одной и той же системы.
Разделение по времени-ARINC 653-подобный планировщик
Ядро LynxOS было расширено в версии для DO-178B, чтобы обеспечить возможности, которые являются ключевыми для соглашений по архитектуре DO-178B. Одно из таких расширений - это добавление ARINC 653-подобного планировщика, управляемого 1 миллисекундным таймером. Этот конфигурируемый, с фиксированным циклическим разделением времени планировщик обеспечивает разделение по времени, требуемым для того, чтобы обеспечить гарантированную доступность процессорного времени, когда выполняются ответственные приложения.
Разделение по памяти
Жесткое разделение по памяти обеспечивается с помощью MMU процессора. Этот механизм обеспечивает ограничение распространения сбоя с помощью жесткого разделения адресов и выделения доли из всей доступной памяти для каждой виртуальной машины. Полная поддержка LynxOS-178 возможностей MMU обеспечивает надежные преимущества защищенной памяти и преимущества производительности защиты отображения в физические адреса для фиксированного разделения между виртуальными машинами. Кроме того, MMU используется для изолирования процессов внутри раздела. Это позволяет каждой задаче выполняться в его собственном защищенном адресном пространстве и обеспечивать высокую надежность внутри фиксированного раздела. Эта дополнительная защита обеспечивает более легкую сертификацию приложения пользователя. Этот второй дополнительный уровень модульности отсутствует в большинстве конкурирующих продуктов.
Полное 100% тестирование кода, основанное на требованиях к системе
Одни из наиболее дорогих усилий по сертификации уровня A для DO-178B - это тестирование, основанное на требованиях к системе, известное кроме того, как требование Структурного Покрытия (Structural Coverage). Для DO-178B уровня A, требуется, чтобы код был верифицирован с помощью критерия Модифицированное условие/Покрытие решения ( Modified Condition/Decision Coverage - MCDC) для каждой строки программного обеспечения в системе. Это тестирование может быстро разростись до стоимости в миллионы долларов, если код является достаточно сложным. LynxOS-178 удовлетворяет требованию 100% структурного покрытия по критерию MCDC, обеспечивая разработчикам систем возможность сконцентрироваться на их собственных приложениях, а не на усилиях по получению по сертификации самой ОС.
Более быстрые апгрейды и расширенная сертификация
LynxOS-178 поддерживает монтируемые файловые системы, порождаемое выполнение процессов и динамические драйверы устройств. Эти возможности позволяют приложениям и драйверам устройств быть модульными компонентами, которые не требуется линковать в один большой выполняемый файл, выполняемый на ответственной системе. С помощью LynxOS-178, приложения и драйверы могут быть изолированы, ограничивая усилия по повторной сертификации всего программного обеспечения, когда изменено только одно приложение или драйвер. Программное обеспечение без такой возможности делает необходимым повторную верификацию или повторную сертификацию всей системы, включая все приложения, ядро, драйверы и библиотеки, значительно расширяя усилия и стоимость даже простого апгрейда или расширения системы.
Путь с низким риском к сертификации уменьшает стоимость и время выхода на рынок
LynxOS-178 позволяет разработчикам быстро вывести на рынок продукт с помощью использования программного обеспечения и артифактов, которые были уже ранее сертифицированы. LynxOS-178 полностью удовлетворяет критериям спецификации DO-178B и позволяет разработчикам соответствовать техническим требованиям при производстве программного обеспечения для авиационных систем. Наконец, LynxOS-178 обеспечивает высокую конкурентноспособность путем предоставления возможности быстрого вывода на рынок приложений, критичных к безопасности.