Integrated modular avionics. Integrated modular avionics (IMA) are real-time  computer network airborne 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 (see ASAAC or STANAG 4626), but no final documents were issued then.

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 speed Computer bus, or can share an external network, such as ARINC 429 or ARINC 664 (part 7).

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:
 ARINC 653 for the software avionics partitioning constraints to the underlying Real-time operating system (RTOS), and the associated API

Certification considerations
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 (called a partition) of the overall Integrated modular avionics to be tested, validated, and qualified independently (up to a certain measure) by its supplier.

The FAA CAST-32A position paper provides information (not official guidance) for certification of multicore systems, but does not specifically address IMA with multicore. A research paper by VanderLeest and Matthews addresses implementation of IMA principles for multicore"

Examples of IMA architecture

Examples of aircraft avionics that uses IMA architecture:
Airbus A220 : Rockwell Collins Pro Line Fusion
 Airbus A350
 Airbus A380
 Airbus A400M
 ATR 42
 ATR 72
 BAE Hawk (Hawk 128 AJT)
 Boeing 777 : includes AIMS avionics from Honeywell Aerospace
 Boeing 777X: will include the Common Core System from GE Aviation
 Boeing 787 : GE Aviation Systems (formerly Smiths Aerospace) IMA architecture is called Common Core System 
 Bombardier Global 5000 / 6000 : Rockwell Collins Pro Line Fusion
 COMAC C919
 Dassault Falcon 900, Falcon 2000, and Falcon 7X : Honeywell's IMA architecture is called MAU (Modular Avionics Units), and the overall platform is called EASy
 F-22 Raptor
 Gulfstream G280: Rockwell Collins Pro Line Fusion
 Gulfstream G400, G500, G600, G700, G800, Data Concentration Network (DCN) 
 Rafale : Thales IMA architecture is called MDPU (Modular Data Processing Unit) 
 Sukhoi Superjet 100

See also

 Annex: Acronyms and abbreviations in avionics
 ARINC 653 : a standard API for avionics applications
 Cockpit display system
 Def Stan 00-74 : ASAAC standard for IMA Systems Software
 OSI model
 STANAG 4626

References

IMA Publications & Whitepapers
 "Transitioning from Federated Avionics Architectures to Integrated Modular Avionics", Christopher B. Watkins, Randy Walter, 26th Digital Avionics Systems Conference (DASC), Dallas, Texas, October 2007.
 "Advancing Open Standards in Integrated Modular Avionics: An Industry Analysis", Justin Littlefield-Lawwill, Ramanathan Viswanathan, 26th Digital Avionics Systems Conference (DASC), Dallas, Texas, October 2007.
 "Application of a Civil Integrated Modular Architecture to Military Transport Aircraft", R. Ramaker, W. Krug, W. Phebus, 26th Digital Avionics Systems Conference (DASC), Dallas, Texas, October 2007.
 "Integrating Modular Avionics: A New Role Emerges", Richard Garside, Joe F. Pighetti, 26th Digital Avionics Systems Conference (DASC), Dallas, Texas, October 2007.
 "Integrated Modular Avionics: Managing the Allocation of Shared Intersystem Resources", Christopher B. Watkins, 25th Digital Avionics Systems Conference (DASC), Portland, Oregon, October 2006.
 "Modular Verification: Testing a Subset of Integrated Modular Avionics in Isolation", Christopher B. Watkins, 25th Digital Avionics Systems Conference (DASC), Portland, Oregon, October 2006.
 "Certification Concerns with Integrated Modular Avionics (IMA) Projects", J. Lewis, L. Rierson, 22nd Digital Avionics Systems Conference (DASC), October 2003.

Avionics
Aircraft instruments
Modularity