Integrated modular avionics are real-time computer networkairborne systems. This network consists of a number of computing modules capable of supporting numerous applications of differing criticality levels. In opposition to traditional federated architectures, the IMA concept proposes an integrated architecture with application software portable across an assembly of common hardware modules. An IMA architecture imposes multiple requirements on the underlying operating system.
History
It is believed that the IMA concept originated with the avionics design of the fourth-generation jet fighters. It has been in use in fighters such as F-22 and F-35, or Dassault Rafale since the beginning of the '90s. Standardization efforts were ongoing at this time, but no final documents were issued then. First uses for this concept were in development for business jets and regional jets at the end of the 1990s and were seen flying at the beginning of the 2000s, but it had not been yet standardized. The concept was then standardized and migrated to the commercial Airliner arena in the end of the 2000s.
Architecture
IMA modularity simplifies the development process of avionics software:
As the structure of the modules network is unified, it is mandatory to use a common API to access the hardware and network resources, thus simplifying the hardware and software integration.
IMA concept also allows the Application developers to focus on the Application layer, reducing the risk of faults in the lower-level software layers.
As modules often share an extensive part of their hardware and lower-level software architecture, maintenance of the modules is easier than with previous specific architectures.
Applications can be reconfigured on spare modules if the primary module that supports them is detected faulty during operations, increasing the overall availability of the avionics functions.
Communication between the modules can use an internal high speedComputer bus, or can share an external network, such as ARINC 429 or ARINC 664. However, much complexity is added to the systems, which thus require novel design and verification approaches since applications with different criticality levels share hardware and software resources such as CPU and network schedules, memory, inputs and outputs. Partitioning is generally used in order to help segregate mixed criticality applications and thus ease the verification process. ARINC 650 and ARINC 651 provide general purpose hardware and software standards used in an IMA architecture. However, parts of the API involved in an IMA network has been standardized, such as:
RTCA DO-178C and RTCA DO-254 form the basis for flight certification today, while DO-297 gives specific guidance for Integrated modular avionics. ARINC 653 contributes by providing a framework that enables each software building block of the overall Integrated modular avionics to be tested, validated, and qualified independently by its supplier. The FAA CAST-32A position paper provides information for certification of multicore systems.
Examples of IMA architecture
Examples of aircraft avionics that uses IMA architecture :