Case Study: ARINC 653 Implementation in a UNIX-Based RTOS

Auriga engineers were tasked to implement an ARINC 653 interface and functionality for a UNIX-like real-time operating system (RTOS) of its long-term customer, a proven leader in the embedded systems industry delivering its software solutions to such markets as communications, aerospace and defense systems, medical, and automotive.

ARINC 653 is one of a series of avionics specifications that determines the way avionics software applications communicate with RTOS resources through a special programming interface called APEX API.

Implementing ARINC is considered an alternative to process-based architecture and helps increase the system predictability and, thus, security, which is extremely important for such safety-critical areas as avionics (where the target RTOS is used). A higher predictability is gained through applying system partitioning and scheduling that enable applications of different levels to run isolated from each other on the same computer.

The Auriga team performed the full ARINC 653 functionality and API implementation cycle to convert its customer’s RTOS in an ARINC 653-compliant partitioning operating systemthat supports the following:

  • multiple POSIX processes
  • multiple address spaces
  • priority scheduling
  • priority inheritance
  • priority ceilings within each partition

All the development was performed according to the customer’s DO-178B compliant processes used for requirements definition, design, testing, and verification, thus enabling the customer to apply for up to Level A DO-178B certification. Implementing ARINC 653 API, apart from making the customer’s system more predictable and certifiable, also significantly facilitates its portability to any other platform.

Tools and Technologies: ARM, PowerPC, IA32, POSIX, APEX API, GNU tool chain