WikiDer > ARINC 653

ARINC 653

ARINC 653 (Стандартный программный интерфейс приложения Avionics) - это спецификация программного обеспечения для пространства и времени. разделение в критически важный для безопасности авионика операционные системы реального времени (ОСРВ). Это позволяет размещать несколько приложений разных уровни программного обеспечения на том же оборудовании в контексте Интегрированная модульная авионика архитектура.[1]

Это часть ARINC серии 600 Стандарты для цифровых самолетов и авиасимуляторов.

Обзор

Чтобы отделить операционную систему реального времени Платформа из прикладного программного обеспечения ARINC 653 определяет API называется APplication EXecutive (APEX).

Каждое прикладное программное обеспечение называется раздел и имеет собственное пространство памяти. Он также имеет выделенный временной интервал, выделенный API APEX. Внутри каждого раздел, многозадачность позволено. APEX API предоставляет услуги для управления разделами, процессами и синхронизацией, а также для обмена данными между разделами / процессами и обработки ошибок. Среда секционирования может быть реализована с помощью гипервизора.[2] для сопоставления разделов с виртуальными машинами, но это не обязательно.

Текущая работа Подкомитета AEEC APEX включает усовершенствование ARINC 653 для многоядерный архитектуры процессоров.[3]

История

Первоначальный вариант

Первоначальная версия ARINC 653 была опубликована 10 октября 1996 г.

ARINC 653-1

Дополнение 1 было опубликовано в январе 1997 года и ввело концепции APEX и разделения времени и пространства.

ARINC 653-2

Приложение 2 было опубликовано в трех частях с марта 2006 г. по январь 2007 г .:[4]

  • Часть 1 (обязательные услуги): управление разделами ARINC 653, определение холодного и горячего старта, обработка ошибок прикладного программного обеспечения, соответствие ARINC 653, Ада и C языковые привязки;
  • Часть 2 (дополнительные услуги): Файловая система доступ, Регистрация данных, Точки доступа к услугам, ...
  • Часть 3 (Спецификация испытаний на соответствие);

Текущая организация стандарта

  • Часть 0 - Введение в ARINC 653 (в настоящее время редакция 1, выпущенная в июне 2013 г.)[5]
  • Часть 1 - Необходимые услуги (в настоящее время редакция 4 выпущена в августе 2015 г.)[6]
  • Часть 2 - Расширенные службы (в настоящее время редакция 3, выпущена в августе 2015 г.)[7]
  • Часть 3 - Спецификация испытаний на соответствие (в настоящее время редакция 1, выпущенная 16 октября 2006 г.)[8]
  • Часть 4 - Подмножество услуг (в настоящее время редакция 1 выпущена в июне 2012 г.)[9]
  • Часть 5 - Рекомендуемые возможности основного программного обеспечения (в настоящее время редакция 1 выпущена в декабре 2014 г.)[10]

Основные принципы разбиения

Платформа ARINC 653

ARINC 653 Платформа содержит:

Инициализация

Инициализация раздела ARINC 653 создает ресурсы, используемые разделом. Создание ресурсов (ПРОЦЕСС, СОБЫТИЕ, СЕМАФОР ...) выполняется путем вызова служб API с именем CREATE_xxxx.

Обработка ошибок

Обработчик ошибок процесса - это упреждающий процесс наивысшего приоритета, выделенного для обработки исключений разделов. Его создает сервис CREATE_ERROR_HANDLER во время инициализации раздела.

API позволяет обработчику ошибок остановить неисправный процесс (STOP_SELF). В этом случае ОСРВ планировщик вызовет следующий процесс с наивысшим приоритетом.

ARINC 653 не определяет, как планировщик должен вести себя, если обработчик ошибок не останавливает ошибочный процесс. В некоторых (теоретических) случаях это могло привести к бесконечному циклу между неисправным процессом и обработчиком ошибок.

Обработчик ошибок может получить информацию об источнике и контексте исключения.

Управление режимами

Каждый раздел может находиться в нескольких режимах активации:

  • COLD_START и WARM_START: выполняется только процесс инициализации,
  • НОРМАЛЬНЫЙ: процесс инициализации останавливается, и другие процессы раздела вызываются ОСРВ. планировщик в зависимости от их приоритета,
  • IDLE: никакие процессы не выполняются. Однако реализация теоретически может выполнять скрытый процесс с самым низким приоритетом, например, запускать бесконечный цикл.

В SET_PARTITION_MODE сервис позволяет управлять этими состояниями. Его может вызвать любой процесс в разделе. Переход в состояние IDLE необратим для раздела. Только внешнее событие (например, перезапуск платформы) может изменить состояние на другой режим, когда раздел находится в этом состоянии.

Процессы раздела

В каждом разделе есть хотя бы один процесс.

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

API сервисы

Сервисы ARINC 653 APEX: API звонки принадлежат к шести категориям:

  • Управление разделами
  • Управление процессом
  • Тайм-менеджмент
  • Связь между разделами
  • Внутригрупповая связь
  • Обработка ошибок

Сервисы ARINC 653 для управление памятью перегородок. Каждый раздел должен обрабатывать свою собственную память (все еще в рамках ограничений разделения памяти, предусмотренных ARINC 653).

Каждая служба возвращает значение RETURN_CODE, которое указывает, был ли вызов успешным:

  • NO_ERROR: обслуживание выполнено номинально после действительного запроса
  • NO_ACTION: состояние системы не изменилось после выполнения службы
  • NOT_AVAILABLE: сервис временно недоступен
  • INVALID_PARAM: хотя бы один из параметров службы недействителен
  • INVALID_CONFIG: хотя бы один из параметров сервиса несовместим с текущей конфигурацией системы
  • INVALID_MODE: услуга несовместима с текущим режимом системы
  • TIMED_OUT: задерживать для выполнения услуги истек срок

Ссылки на POSIX и ASAAC

Поле, охватываемое ARINC 653, похоже на ASAAC Def Stan 00-74. Однако между двумя стандартами есть различия.[11]

Некоторые вызовы ARINC 653 (APEX) имеют POSIX эквивалентны, но отличаются от того, как они определены в POSIX.[11]

Например, следующий вызов, определенный в ASAAC:

 receiveBuffer

будет переведено в ARINC 653 с помощью:

 RECEIVE_BUFFER ()

а также в POSIX:

 recv ()

Рекомендации

  1. ^ «ARINC 653 - Стандарт авионики для безопасных разделенных систем» (PDF). Системы Wind River / IEEE Семинар. Август 2008. Архивировано с оригинал (PDF) на 2009-10-07. Получено 2009-05-30.
  2. ^ ВандерЛест, С. Х. (01.10.2010). «Гипервизор ARINC 653». 29-я конференция по системам цифровой авионики: 5.E.2–1–5.E.2–20. Дои:10.1109 / DASC.2010.5655298. ISBN 978-1-4244-6616-0.
  3. ^ «Подкомитет APEX». AEEC. Август 2008 г.. Получено 2013-10-20.
  4. ^ «Ориентация на продукт: ARINC 653 и RTOS». Aviationtoday.com. 2004-07-01. Получено 2009-05-30.
  5. ^ «Стандартный интерфейс прикладного программного обеспечения авионики: спецификация ARINC 653, часть 0». Aeronautical Radio, Inc. Июнь 2013 г. Архивировано с оригинал 2013-11-20.
  6. ^ «Стандартный интерфейс прикладного программного обеспечения авионики: спецификация ARINC 653P1-3, необходимые услуги». Aeronautical Radio, Inc. 15 ноября 2010 г. Архивировано из оригинал на 2012-05-10. Получено 2013-10-20.
  7. ^ «Стандартный интерфейс прикладного программного обеспечения авионики: спецификация ARINC 653P2-2, часть 2, расширенные услуги». Aeronautical Radio, Inc. 2012-06-01. Архивировано из оригинал на 2012-08-25. Получено 2012-10-20.
  8. ^ «Стандартный интерфейс прикладного программного обеспечения авионики: Спецификация ARINC 653P3, Спецификация испытаний на соответствие». Авиационное радио, Inc. 20 октября 2006 г. Архивировано из оригинал на 2012-05-10. Получено 2013-11-20.
  9. ^ «Стандартный интерфейс прикладного программного обеспечения авионики: спецификация ARINC 653, часть 4, услуги подмножества». Aeronautical Radio, Inc. 2012-06-01. Архивировано из оригинал на 2012-08-25. Получено 2013-10-20.
  10. ^ «Магазин АРИНК». ARINC IA. 2014-12-01. Получено 2015-04-23.
  11. ^ а б «Гибкость и управляемость проектов IMS» (PDF). Йоркский университет. Получено 2008-07-27.

Смотрите также