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.
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 (Airbus A380 then Boeing 787).
Architecture.
IMA modularity simplifies the development process of avionics software:
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:
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.
Examples of IMA architecture.
Examples of aircraft avionics that uses IMA architecture :