stringtranslate.com

ARINC653

ARINC 653 (Avionics Application Software Standard Interface) es una especificación de software para la partición de espacio y tiempo en sistemas operativos en tiempo real (RTOS) de aviónica críticos para la seguridad . Permite alojar múltiples aplicaciones de diferentes niveles de software en el mismo hardware en el contexto de una arquitectura de aviónica modular integrada . [1]

Es parte de los estándares ARINC de la serie 600 para aeronaves digitales y simuladores de vuelo.

Descripción general

Para disociar la plataforma del sistema operativo en tiempo real del software de aplicación, ARINC 653 define una API llamada Application Executive (APEX).

Cada software de aplicación se denomina partición y tiene su propio espacio de memoria. También tiene un espacio de tiempo dedicado asignado por la API APEX. Dentro de cada partición , se permite la multitarea . La API APEX proporciona servicios para administrar particiones, procesos y tiempos, así como comunicación entre particiones y procesos y manejo de errores. El entorno de particionamiento se puede implementar mediante el uso de un hipervisor [2] para asignar particiones a máquinas virtuales, pero esto no es obligatorio.

La norma está supervisada por el Subcomité APEX de la AEEC [1].

Historia

Versión inicial

La versión inicial de ARINC 653 se publicó el 10 de octubre de 1996.

ARINC 653-1

El Suplemento 1 se publicó en enero de 1997 e introdujo los conceptos de APEX y partición de tiempo y espacio.

ARINC 653-2

El Suplemento 2 se publicó en tres partes entre marzo de 2006 y enero de 2007: [3]

Organización actual de la Norma


Principios básicos de particionamiento

Plataforma ARINC 653

Una plataforma ARINC 653 contiene:

Inicialización

La inicialización de una partición ARINC 653 crea recursos utilizados por la partición. La creación de recursos (PROCESO, EVENTO, SEMAPHORE...) se realiza llamando a los servicios API denominados CREATE_xxxx .

Manejo de errores

El controlador de errores de proceso es un proceso preventivo de máxima prioridad dedicado a gestionar excepciones de partición. Lo crea el servicio CREATE_ERROR_HANDLER durante la inicialización de la partición.

La API permite que el controlador de errores detenga un proceso defectuoso ( STOP_SELF ). En ese caso, el programador RTOS solicitará el siguiente proceso con la prioridad más alta.

ARINC 653 no especifica cómo debe comportarse el programador si el controlador de errores no detiene un proceso defectuoso. En algunos casos (teóricos), esto podría generar un bucle infinito entre el proceso defectuoso y el controlador de errores.

El controlador de errores puede obtener información sobre la fuente y el contexto de la excepción.

Gestión de modos

Cada partición puede estar en varios modos de activación:

El servicio SET_PARTITION_MODE permite gestionar estos estados. Puede ser llamado por cualquier proceso de la partición. Entrar en el estado IDLE es irreversible para la partición. Solo un evento externo (como un reinicio de la plataforma) puede cambiar el estado a otro modo cuando la partición está en este estado.

Particiones y programación de procesos

El estándar define una programación jerárquica de dos niveles. El primer nivel programa las particiones. Se trata de una programación fija, por turnos, que repite un marco temporal principal. El marco temporal principal programa cada partición en un marco temporal secundario de duración fija con un desfase fijo desde el inicio del marco temporal principal.

Programa de particiones ARINC 653

Dentro del marco temporal menor, el segundo nivel utiliza la programación de procesos. Cada partición tiene al menos un proceso . La programación de procesos dentro de un marco temporal menor es preemptiva . El programador es llamado por un temporizador o por servicios API.

Multinúcleo

Se actualizó ARINC 653 P1-5 para abordar las arquitecturas de procesadores multinúcleo . La sección 4.2.1 "Cumplimiento de la implementación multinúcleo del sistema operativo" indica que un sistema operativo diseñado para el procesamiento multinúcleo debe admitir dos casos:

El documento de posición CAST-32A define un conjunto de requisitos y orientaciones que la FAA debe cumplir para certificar y utilizar procesadores multinúcleo en la aviación civil y se espera que sea reemplazado por una Circular Asesora , AC 20-193. La autoridad de aviación de la Unión Europea, EASA, publicó la AMC 20-193 en enero de 2022. [11]

Servicios API

Los servicios APEX de ARINC 653 son llamadas API que pertenecen a seis categorías:

No se proporcionan servicios ARINC 653 para la gestión de memoria de particiones. Cada partición debe gestionar su propia memoria (aún bajo las limitaciones de particionamiento de memoria impuestas por ARINC 653).

Cada servicio devuelve un valor RETURN_CODE que indica si la llamada fue exitosa:

Enlaces a POSIX y ASAAC

El campo cubierto por ARINC 653 es similar al de ASAAC Def Stan 00-74 . Sin embargo, existen diferencias entre las dos normas. [12]

Algunas llamadas ARINC 653 (APEX) tienen un equivalente POSIX , pero son diferentes de cómo se definen en POSIX. [12]

Por ejemplo, la siguiente llamada definida en ASAAC:

recibirBuffer

Sería traducido en ARINC 653 por:

RECIBIR_BUFFER()

y también en POSIX por:

recibir()

Referencias

  1. ^ "ARINC 653 - Un estándar de aviónica para sistemas particionados seguros" (PDF) . Seminario de Wind River Systems / IEEE . Agosto de 2008. Archivado desde el original (PDF) el 2009-10-07 . Consultado el 2009-05-30 .
  2. ^ VanderLeest, SH (1 de octubre de 2010). "Hipervisor ARINC 653". 29.ª Conferencia sobre sistemas de aviónica digital . págs. 5.E.2–1–5.E.2–20. doi :10.1109/DASC.2010.5655298. ISBN 978-1-4244-6616-0. Número de identificación del sujeto  5784484.
  3. ^ "Product Focus: ARINC 653 y RTOS". aviationtoday.com. 2004-07-01. Archivado desde el original el 2009-12-03 . Consultado el 2009-05-30 .
  4. ^ "Interfaz estándar de software de aplicación de aviónica: Especificación ARINC 653 Parte 0". Aeronautical Radio, Inc. 23 de diciembre de 2019. Archivado desde el original el 3 de febrero de 2022.
  5. ^ "Interfaz estándar de software de aplicación de aviónica: especificación ARINC 653P1-3, servicios requeridos". Aeronautical Radio, Inc. 4 de febrero de 2022. Archivado desde el original el 12 de agosto de 2020. Consultado el 4 de febrero de 2022 .
  6. ^ "Interfaz estándar de software de aplicación de aviónica: Especificación ARINC 653P2-2, Parte 2, Servicios ampliados". Aeronautical Radio, Inc. 23 de diciembre de 2019. Archivado desde el original el 12 de agosto de 2020. Consultado el 4 de febrero de 2022 .
  7. ^ "653P3A-2 Interfaz estándar de software de aplicación de aviónica, Parte 3A, Especificaciones de prueba de conformidad para servicios requeridos por ARINC 653". SAE ITC . 2021-11-17 . Consultado el 2022-02-04 .
  8. ^ "653P3Bc1 Interfaz estándar de software de aplicación de aviónica, parte 3B, especificaciones de prueba de conformidad para servicios extendidos ARINC 653". SAE ITC . 2019-07-18 . Consultado el 2022-02-04 .
  9. ^ "Interfaz estándar de software de aplicación de aviónica: Especificación ARINC 653 Parte 4, Servicios de subconjunto". Aeronautical Radio, Inc. 2012-06-01. Archivado desde el original el 2012-08-25 . Consultado el 2013-10-20 .
  10. ^ "Interfaz estándar de software de aplicación de aviónica 653P5-1, Parte 5, Capacidades recomendadas del software principal". SAE ITC . 2019-08-07 . Consultado el 2022-02-04 .
  11. ^ ""Enmienda 23 de la AMC-20"". EASA. 2022-12-26 . Consultado el 2022-12-22 .
  12. ^ ab "Flexibilidad y capacidad de gestión de proyectos IMS" (PDF) . Universidad de York . Consultado el 27 de julio de 2008 .

Véase también