stringtranslate.com

АРИНК 653

ARINC 653 (Avionics Application Software Standard Interface) — это спецификация программного обеспечения для разделения пространства и времени в критически важных для безопасности авиационных операционных системах реального времени (RTOS). Она позволяет размещать несколько приложений различных уровней программного обеспечения на одном и том же оборудовании в контексте архитектуры Integrated Modular Avionics . [1]

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

Обзор

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

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

Стандарт контролируется Подкомитетом AEEC APEX[1].

История

Первоначальная версия

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

АРИНК 653-1

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

АРИНК 653-2

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

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


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

Платформа ARINC 653

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

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

Инициализация раздела ARINC 653 создает ресурсы, используемые разделом. Создание ресурсов (PROCESS, EVENT, SEMAPHORE...) выполняется путем вызова API-сервисов с именем CREATE_xxxx .

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

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

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

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

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

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

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

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

Планирование разделов и процессов

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

Расписание разделов ARINC 653

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

Многоядерный

ARINC 653 P1-5 был обновлен для учета многоядерных архитектур процессоров. Раздел 4.2.1 «Соответствие многоядерной реализации ОС» указывает, что ОС, разработанная для многоядерной обработки, должна поддерживать два случая:

Позиционный документ CAST-32A определяет набор требований и рекомендаций, которые должны быть выполнены для сертификации и использования многоядерных процессоров в гражданской авиации FAA, и, как ожидается, будет заменен консультативным циркуляром AC 20-193. Авиационный орган Европейского союза, EASA, опубликовал AMC 20-193 в январе 2022 года. [11]

API-сервисы

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

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

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

Ссылки на POSIX и ASAAC

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

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

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

ReceiveBuffer

будет переведено в ARINC 653 следующим образом:

ПОЛУЧИТЬ_БУФЕР()

а также в POSIX:

рекв()

Ссылки

  1. ^ "ARINC 653 - Стандарт авионики для безопасных, разделенных систем" (PDF) . Wind River Systems / Семинар IEEE . Август 2008 г. Архивировано из оригинала (PDF) 2009-10-07 . Получено 2009-05-30 .
  2. ^ VanderLeest, SH (2010-10-01). "Гипервизор ARINC 653". 29-я конференция по цифровым авиационным системам . стр. 5.E.2–1–5.E.2–20. doi :10.1109/DASC.2010.5655298. ISBN 978-1-4244-6616-0. S2CID  5784484.
  3. ^ "Product Focus: ARINC 653 и RTOS". Aviationtoday.com. 2004-07-01. Архивировано из оригинала 2009-12-03 . Получено 2009-05-30 .
  4. ^ "Стандартный интерфейс прикладного программного обеспечения авионики: спецификация ARINC 653 часть 0". Aeronautical Radio, Inc. 2019-12-23. Архивировано из оригинала 2022-02-03.
  5. ^ "Стандартный интерфейс прикладного программного обеспечения авионики: спецификация ARINC 653P1-3, требуемые службы". Aeronautical Radio, Inc. 2022-02-04. Архивировано из оригинала 2020-08-12 . Получено 2022-02-04 .
  6. ^ "Стандартный интерфейс прикладного программного обеспечения авионики: спецификация ARINC 653P2-2, часть 2, расширенные службы". Aeronautical Radio, Inc. 2019-12-23. Архивировано из оригинала 2020-08-12 . Получено 2022-02-04 .
  7. ^ "653P3A-2 Интерфейс стандартного прикладного программного обеспечения авионики, часть 3A, спецификации испытаний на соответствие требуемым службам ARINC 653". SAE ITC . 2021-11-17 . Получено 2022-02-04 .
  8. ^ "653P3Bc1 Avionics Application Software Standard Interface, Part 3B, Conformity Test Specifications for ARINC 653 Extended Services". SAE ITC . 2019-07-18 . Получено 2022-02-04 .
  9. ^ "Стандартный интерфейс прикладного программного обеспечения авионики: спецификация ARINC 653 часть 4, подмножество служб". Aeronautical Radio, Inc. 2012-06-01. Архивировано из оригинала 2012-08-25 . Получено 2013-10-20 .
  10. ^ "653P5-1 Avionics Application Software Standard Interface, Part 5, Core Software Recommended Capabilities". SAE ITC . 2019-08-07 . Получено 2022-02-04 .
  11. ^ ""AMC-20 Поправка 23"". EASA. 2022-12-26 . Получено 2022-12-22 .
  12. ^ ab "Гибкость и управляемость проектов IMS" (PDF) . Университет Йорка . Получено 27.07.2008 .

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