What is Integrated Modular Avionics (IMA)?

Integrated Modular Avionics (IMA) is a blanket term used to describe a distributed real-time computer network aboard an aircraft. This network should consist of a number of computing modules capable of supporting numerous applications of differing safety criticality levels.

I have tried to summarise the very basic elements of an IMA system. If you have any comments then please feel free to mail me.

Elements of IMA

IMA Goals

  1. Technology Transparency - The underlying hardware should not have any impact on an application either during development or execution

  2. Scheduled Maintenance - The system should have inbuilt capability to operate in the presence of failures so that Maintenance Free Operating Periods (MFOPS) can be achieved

  3. Incremental Update - The system should be designed such that applications can be inserted/altered with minimum impact on other applications and on the supporting safety case

Features of IMA

  1. Layered architecture using standard programming interface layers to hide hardware and applications from one another

  2. Reconfiguration of applications on the modules. This can be static re-configuration (whilst the aircraft is not in use) or dynamic reconfiguration (in flight)

  3. Protection mechanisms to allow resources like memory to be shared by multiple criticality level applications, and to allow applications to be inserted/altered without impact on the rest of the system. This is called partitioning.

  4. Flexible scheduling to meet the deadlines of all the applications, for each viable configuration and when system is upgraded.

  5. Code re-use and portability

  6. An operating system to manage the applications

  7. Physical integration of networks, modules and IO devices

  8. Design for growth and change

IMA Architecture

BASIC IMA MODULE Figure 1: Example basic IMA computing module.

Figure 1 shows a very simple layered architecture for an IMA computing module. Note that some operating services could be located in the actual partitions, and/or the architecture could have an extra hardware interface system layer such as the ARINC 653 model. The partitions contain actual application functions.