Development of partitioned Prototype Application (IMA-SP application development and software maintenance)
Integrated Modular Avionics (IMA) is a concept developed for the aeronautics industry to manage the growth in functionality and efficiency required as the industry grows. Integrated Modular Avionics for Space (IMA-SP) is a spin-in of the corresponding concept for spacecraft avionics.
IMA-SP is foreseen as a possible technical solution for future missions, specifically for scientific missions. This is because combining different software criticality on the shared hardware reduces the computing power needed, reduces the complexity of software needed and prevents one application crashing, which affects other running applications.
Recently, ESA has launched several studies to explore possible solutions to implement IMA-SP in a form of separation kernals – a way of providing the basic functionality needed to enforce time and space partitioning without affecting communications between the applications in different partitions. These studies defined the roles and interfaces needed for software development in a partitioned environment.
A GSTP Element 1 activity with Czech Republic, has built on this framework to further develop IMA-SP processes and roles and understand how they can be implemented and integrated. The activity defined a use case for in-flight hosting of a payload to demonstrate the feasibility of the concept.
Generally speaking, the environment is not an easy one to master as it encompasses an entire on-board software. This software then has additional partitions to separate the demonstration and test environments. Finally it also has to integrate the payload software. All of these elements are largely outdated today and were not meant to be maintained over so many years.
Notably, the GSTP activity was based on a single core processor, which limits utilisation of multiple applications. But recently multi-core processors have spread around the world. If the multi-core processor is used, more interesting scenarios can be considered, such as having the IMA-SP Platform executed on one dedicated core, while the remaining cores can be utilised by payloads that may reduce the risks found in partition scheduling.
- Independent verification and validation. With guaranteed non-interference between applications, these can be verified and validated separately and completely before integration. Integrating the applications on top of a separation kernel will ensure that the environment of the individual applications behaves as assumed during verification and validation activities.
- Parallel and concurrent development. If applications can be verified and validated individually and separated from each other, the actual development can be done concurrently and in parallel, using potentially different development teams for each application.
- On-line integration of new and/or updated applications. Providing applications with their own individual partitions together with the fact that applications can be verified and validated separately, allows for individual applications to be updated, or even added, while the system is online, without any major disturbances on other applications.