ARINC 653

ARINC 653

ARINC 653(Avionics Application Software Standard Interface)은 안전 중요 항전 실시간 운영 체제(RTOS)에서 공간 및 시간 파티셔닝을 위한 소프트웨어 규격이다.그것은 통합 모듈형 항공전자공학 아키텍처의 맥락에서 동일한 하드웨어에 서로 다른 소프트웨어 레벨의 여러 애플리케이션을 호스팅할 수 있게 한다.[1]

그것은 디지털 항공기 & 비행 시뮬레이터를 위한 ARINC 600 시리즈 표준의 일부다.

개요

애플리케이션 소프트웨어로부터 실시간 운영체제 플랫폼을 분리하기 위해, ARINC 653은 APPLation EXecutical(APPEX)이라고 하는 API를 정의한다.

각 애플리케이션 소프트웨어는 파티션이라고 불리며, 자신만의 메모리 공간을 가지고 있다.또한 APEX API에 의해 할당된 전용 시간 슬롯을 가지고 있다.파티션 내에서 멀티태스킹이 허용된다.APEX API는 파티션, 프로세스 및 타이밍은 물론 파티션/프로세스 통신 및 오류 처리를 관리하는 서비스를 제공한다.하이퍼바이저[2] 사용하여 파티션을 가상 시스템에 매핑함으로써 파티셔닝 환경을 구현할 수 있지만, 이 작업은 필요하지 않다.

AEEC APEX 소위원회의 현재 업무는 멀티코어 프로세서 아키텍처에[3] 대한 ARINC 653의 향상을 포함한다.포지션 페이퍼 CAST-32A는 FAA와 EASA가 민간 항공에서 멀티 코어 프로세서를 인증하고 사용하기 위해 충족해야 하는 일련의 요건과 지침을 정의하고 있으며, 2020년 말에 자문 순환(AC)으로 대체될 것으로 예상된다.

역사

초기 버전

ARINC 653의 초기 버전은 1996년 10월 10일에 출판되었다.

ARINC 653-1

부록 1은 1997년 1월에 출판되어 에이펙스(APEX)와 시간 및 공간 분할의 개념을 도입하였다.

ARINC 653-2

보충판 2는 2006년 3월부터 2007년 1월 사이에 3부로 발행되었다.[4]

  • 1부(필수 서비스):ARINC 653 파티션 관리, 콜드 스타트 및 웜 스타트 정의, 애플리케이션 소프트웨어 오류 처리, ARINC 653 컴플라이언스, Ada 및 C 언어 바인딩.
  • 2부(옵션 서비스):파일 시스템 액세스, 데이터 로깅, 서비스 액세스 지점, ...
  • 제3부(적합성 시험 규격);

현재 표준 구성

  • 파트 0 - ARINC 653 소개 (현재 개정판 3에서 2021년 11월 출시)[5]
  • 1부 - 필수 서비스(현재 개정판 5에서 2019년 12월 출시)[6]
  • 2부 - 확장 서비스(현재 개정판 4에서 2019년 12월 출시)[7]
  • Part 3A - 필수 서비스에 대한 적합성 시험 규격 (현재 개정판 2 2021년 11월 발표)[8]
  • Part 3B - 확장 서비스를 위한 적합성 시험 규격 (현재 개정판 c1, 2019년 7월 발표)[9]
  • 4부 - 서브셋 서비스 (현재 개정판 0, 2012년 6월 출시)[10]
  • 5부 - 핵심 소프트웨어 권장 기능(현재 개정판 1에서 2019년 8월 출시)[11]


분할의 기본 원리

ARINC 653 플랫폼

ARINC 653 플랫폼은 다음을 포함한다.

  • 실시간 컴퓨팅 결정론적 서비스를 지원하는 하드웨어 플랫폼.
  • 플랫폼의 타이머 및 공간 파티셔닝 제약 조건(메모리, CPU, 입출력)을 관리하는 추상화 계층.
  • ARINC 653 서비스 구현(APEX API).
  • 플랫폼과 해당 사용 도메인을 구성할 수 있는 인터페이스.
  • 다양한 계측 도구.

초기화

ARINC 653 파티션의 초기화는 파티션에서 사용하는 리소스를 생성한다.리소스 생성(PROCLE, EVENT, SEMAPORE...)은 CREATE_xxx라는 API 서비스를 호출하여 수행된다.

오류 처리

프로세스 오류 처리기는 파티션 예외를 처리할 수 있는 가장 우선순위가 높은 사전 프로세스다.파티션 초기화 중에 CREATE_ERROR_HANDLER 서비스에 의해 생성된다.

API를 사용하면 오류 처리기가 결함 있는 프로세스(STOP_SEFLE)를 중지할 수 있다.이 경우, RTOS 스케줄러는 가장 높은 우선순위로 다음 프로세스를 도출할 것이다.

ARINC 653은 오류 처리기가 결함 프로세스를 중지하지 않는 경우 스케줄러가 어떻게 동작해야 하는지를 명시하지 않는다.일부 (이론적) 사례에서, 이는 결함 있는 프로세스와 오류 처리기 사이에 무한 루프(infinite loop)로 이어질 수 있다.

오류 처리기는 예외의 소스 및 컨텍스트에 대한 정보를 얻을 수 있다.

모드 관리

각 파티션은 다음과 같은 몇 가지 활성화 모드일 수 있다.

  • COLD_START 및 WORM_START: 초기화 프로세스만 실행되며,
  • NORMAL: 초기화 프로세스가 중지되고, 다른 파티션 프로세스는 우선순위에 따라 RTOS 스케줄러에 의해 호출된다.
  • 유휴: 프로세스가 실행되지 않음.그러나 실행은 이론상으로는 여전히 가장 낮은 우선순위의 숨겨진 과정을 실행할 수 있다. 예를 들어 무한순환을 시작하는 것이다.

SET_PARTition_MODE 서비스는 이러한 상태를 관리할 수 있도록 한다.파티션의 어떤 프로세스에서도 호출할 수 있다.파티션에 대해 유휴 상태로 들어가는 것은 되돌릴 수 없다.파티션이 이 상태일 때 외부 이벤트(플랫폼 재시작 등)만 상태를 다른 모드로 변경할 수 있다.

파티션 및 프로세스 예약

이 표준은 두 가지 수준의 계층적 일람표를 정의한다.첫 번째 단계는 파티션을 예약한다.이것은 주요 시간 프레임을 반복하는 라운드 로빈 고정 일정이다.Major Time Frame은 각 파티션을 Major Time Frame의 시작부터 고정된 오프셋으로 고정된 기간 Minor Time Frame으로 스케줄링한다.

ARINC 653 파티션 일람표

Minor Time Frame 내에서, 두 번째 레벨은 프로세스 스케줄링을 사용한다.각 파티션에는 적어도 하나의 프로세스가 있다.마이너 타임 프레임 내의 프로세스 스케줄링은 사전 예방적이다.스케줄러는 타이머나 API 서비스에 의해 호출된다.

API 서비스

ARINC 653 APEX 서비스는 다음 6가지 범주에 속하는 API 호출이다.

  • 파티션 관리
  • 공정관리
  • 시간 관리
  • 분단간 통신
  • 파티션 내 통신
  • 오류 처리

파티션의 메모리 관리를 위한 ARINC 653 서비스는 제공되지 않는다.각 파티션은 자체 메모리를 처리해야 한다(아직도 ARINC 653에 의해 시행된 메모리 파티셔닝의 제약 조건 하에서).

각 서비스는 통화가 성공적이었는지 여부를 나타내는 RETURN_CODE 값을 반환한다.

  • NO_ERROR: 유효한 요청 후 명목상으로 수행된 서비스
  • NO_ACTION: 서비스 실행 후 시스템 상태가 변경되지 않음
  • NOT_AVAILABLE: 서비스를 일시적으로 사용할 수 없음
  • INVALID_PARAM: 서비스 매개 변수 중 하나 이상이 잘못됨
  • 잘못된_CONFIG: 서비스 매개 변수 중 하나 이상이 시스템의 현재 구성과 호환되지 않음
  • 잘못된_MODE: 서비스가 시스템의 현재 모드와 호환되지 않음
  • TIMING_OUT: 서비스 실행 지연이 만료됨

POSIX 및 ASAAC 링크

ARINC 653이 다루는 필드는 ASAAC Def Stan 00-74와 유사하다.그러나 두 기준 사이에는 차이가 있다.[12]

일부 ARINC 653(APEX) 통화는 POSIX 등가성을 가지지만 POSIX에서 정의되는 방식과는 다르다.[12]

예를 들어, ASAAC에 정의된 다음과 같은 통화:

리시버버퍼

ARINC 653은 다음과 같이 번역된다.

HEVEN_BUFFER()

또한 POSIX는 다음과 같다.

재방송하다

참조

  1. ^ "ARINC 653 - An Avionics Standard for Safe, Partitioned Systems" (PDF). Wind River Systems / IEEE Seminar. August 2008. Archived from the original (PDF) on 2009-10-07. Retrieved 2009-05-30.
  2. ^ VanderLeest, S. H. (2010-10-01). "ARINC 653 hypervisor". 29th Digital Avionics Systems Conference: 5.E.2–1–5.E.2–20. doi:10.1109/DASC.2010.5655298. ISBN 978-1-4244-6616-0.
  3. ^ "APEX Subcommittee". AEEC. August 2008. Retrieved 2013-10-20.
  4. ^ "Product Focus: ARINC 653 and RTOS". aviationtoday.com. 2004-07-01. Retrieved 2009-05-30.
  5. ^ "Avionics Application Software Standard Interface: ARINC Specification 653 Part 0". Aeronautical Radio, Inc. 2019-12-23. Archived from the original on 2022-02-03.
  6. ^ "Avionics Application Software Standard Interface: ARINC Specification 653P1-3, Required Services". Aeronautical Radio, Inc. 2022-02-04. Archived from the original on 2020-08-12. Retrieved 2022-02-04.
  7. ^ "Avionics Application Software Standard Interface: ARINC Specification 653P2-2, Part 2, Extended Services". Aeronautical Radio, Inc. 2019-12-23. Archived from the original on 2020-08-12. Retrieved 2022-02-04.
  8. ^ "653P3A-2 Avionics Application Software Standard Interface, Part 3A, Conformity Test Specifications for ARINC 653 Required Services". SAE ITC. 2021-11-17. Retrieved 2022-02-04.
  9. ^ "653P3Bc1 Avionics Application Software Standard Interface, Part 3B, Conformity Test Specifications for ARINC 653 Extended Services". SAE ITC. 2019-07-18. Retrieved 2022-02-04.
  10. ^ "Avionics Application Software Standard Interface: ARINC Specification 653 Part 4, Subset Services". Aeronautical Radio, Inc. 2012-06-01. Archived from the original on 2012-08-25. Retrieved 2013-10-20.
  11. ^ "653P5-1 Avionics Application Software Standard Interface, Part 5, Core Software Recommended Capabilities". SAE ITC. 2019-08-07. Retrieved 2022-02-04.
  12. ^ a b "Flexibility and Manageability of IMS Projects" (PDF). University of York. Retrieved 2008-07-27.

참고 항목