Industry Focus: Design of Next-Generation Avionics Software Based on Software Virtualization Technology

Abstract

The rapid development of avionics software systems poses severe challenges to the mainstream avionics software architectures both domestically and internationally. Therefore, it is essential to conduct design research on the next-generation avionics software architecture. This paper analyzes the development of avionics software architecture, studies the latest software architecture technologies in the computer industry, proposes technical ideas and design schemes for the next-generation avionics software architecture, and compares its key performance indicators with those of different architectural software, demonstrating the effectiveness of the design scheme.

Keywords

Avionics equipment; Software architecture; Embedded real-time operating systems; Virtualization; Containers

Industry Focus: Design of Next-Generation Avionics Software Based on Software Virtualization Technology

Modern aircraft, especially military aircraft, are developing rapidly. On one hand, the trends of informationization, joint operations, and unmanned systems in modern warfare have introduced numerous new requirements for aircraft. On the other hand, the rapid advancement of computer hardware and software, as well as communication technologies, provides a supportive foundation for aircraft to meet these new demands.

With the development of avionics system technology, the hardware in onboard equipment is becoming increasingly standardized and generalized. Consequently, more and more functions are being implemented in software, making software increasingly complex and important. Given the rapid growth in the complexity of avionics software and the practical issues encountered in the development of current avionics software, it is foreseeable that the mainstream avionics software architectures will soon be unable to meet requirements. Currently, major foreign embedded operating system vendors have begun to apply technologies such as virtualization to operating systems to support multi-core processors and address the challenges posed by avionics software to avionics software architecture. Therefore, it is necessary to study the next-generation avionics software architecture to meet the demands of future aircraft technology development.

Industry Focus: Design of Next-Generation Avionics Software Based on Software Virtualization Technology

1 Development and Current Status of Avionics Software Architecture

1.1 Development of Avionics Software Architecture

Avionics software architecture has undergone three generations of development to date, evolving from the first generation to the currently used third generation architecture, adapting to the rapid development of avionics software functions, scale, and complexity (Figure 1).

Industry Focus: Design of Next-Generation Avionics Software Based on Software Virtualization Technology

(1) First-generation avionics software architecture: The software did not use an operating system; the underlying system was a relatively simple real-time monitoring software that supported system boot, hardware initialization, debugging support, etc. The onboard application software was mainly divided into modules based on functionality.

(2) Second-generation avionics software architecture: The software adopted an embedded flat mode operating system (e.g., VxWorks 5.5, Tianmai 1 OS). The onboard application software was still divided into functional modules, but the operating system isolated the hardware and implemented real-time multi-task management, significantly simplifying the development difficulty of onboard application software.

(3) Third-generation avionics software architecture: The software adopted partitioned operating systems (e.g., VxWorks 6532.4, DeltaSVM, Tianmai 2 OS) and middleware technology, supporting the operation of multiple onboard application software on a single device, achieving software function integration.

1.2 Current Avionics Software Architecture

The majority of newly developed avionics software adopts the third-generation avionics software architecture: partitioned operating system + middleware + partitioned applications. Its characteristics include the use of high-performance processors and high-speed bus technology, employing software partitioning technology to support the integration of multiple application software, and using static configuration methods to support determined system capability reconstruction. For example, in the Vehicle Management System (VMS), traditional flight control applications and electromechanical management applications are integrated through partitioned operating systems and middleware technology (Figure 2).

Industry Focus: Design of Next-Generation Avionics Software Based on Software Virtualization Technology

In the avionics system, the system adopts an Integrated Modular Avionics (IMA) architecture, integrating all avionics applications through a comprehensive central processor (Integrated Center Processor, ICP) that contains several common functional modules. The common functional modules (CFM) in the integrated central processor also adopt the third-generation avionics software architecture of “ARINC 653 compliant partitioned operating system + middleware + partitioned applications” (Figure 3).

Industry Focus: Design of Next-Generation Avionics Software Based on Software Virtualization Technology

1.3 System Architecture Issues Facing Future Avionics Software Development

Modern warfare exhibits characteristics of informationization, joint operations, and unmanned technology, which imposes requirements for networking, integration, and intelligence on various electronic systems in equipment. Advanced information technologies such as cloud computing, big data, artificial intelligence, and self-organizing networks are being applied to the electronic systems of equipment, and various onboard systems are thus facing the challenges of rapid development in computer hardware and software. In terms of onboard computer hardware, multi-core processor technology has begun to be applied, providing more powerful processing capabilities for onboard systems; in terms of onboard software, functions and scale are experiencing explosive growth.

The current onboard software platform (partitioned operating system + middleware + partitioned applications) can no longer adequately meet the needs of onboard software development, primarily due to the following issues.

(1) Low utilization of onboard computer hardware resources: The application of multi-core processor technology has significantly increased the processing power of onboard computers, but due to the completely static configuration of the current partitioned operating system, application software must configure resources such as runtime, storage, and I/O for maximum conditions, and any surplus computing power and resources outside the configuration cannot be utilized, leading to low hardware resource utilization.

(2) Increasing difficulty in resource design and configuration of onboard systems as software functions increase: With the integration of numerous new onboard software functions, the system requires full static configuration, necessitating clear upper limits on resource usage for each integrated application software, and ensuring that configurations do not conflict. As the number of applications and partitions increases, the difficulty of system design and configuration grows exponentially.

(3) Difficulty in achieving reconfigurability of onboard software systems: Currently, onboard systems aim to improve reliability, availability, and resilience through the reconfigurability of application software. However, the resource (partition) settings for the runtime environment of application software are too simplistic and fixed, leading to a high binding of application software to corresponding partitions. All reconfiguration modes must be clearly defined and deployed in advance. As software functions become increasingly complex and the number of partitions increases, the current reconfiguration methods can only apply to a limited number of hypothetical situations, making it difficult to meet the reconfigurability needs of future complex onboard systems.

1.4 Latest Developments in Foreign Avionics Software Architecture

To support multi-core processors and address the challenges posed by the development of avionics software to avionics software architecture, major foreign embedded operating system vendors have introduced new avionics software architectures. In the past two years, Wind River, a leading avionics operating system provider in the United States, has adopted virtual machine technology architecture in the VxWorks 6533.0 and 3.1 versions, supporting the operation of multiple guest operating systems (Guest OS) on the same processor. This includes CretOS, which meets the ARINC 653 standard, and customized Linux that provides POSIX interfaces, supporting the operation of onboard application software using corresponding interfaces on top of the Guest OS. The DeOS operating system from DDCI, widely used in the flight control systems of civil aircraft in Europe and the United States, and the Integrity-178 operating system from Green Hills, used in military aircraft flight control systems, have both introduced product versions based on virtualization technology that support multi-core processors and various operating system interfaces in the past two years.

Industry Focus: Design of Next-Generation Avionics Software Based on Software Virtualization Technology

2 Design Considerations for Next-Generation Avionics Software Architecture

2.1 Overall Ideas for the New Architecture

In the commercial software field, similar issues are currently mainly addressed using virtualization technology. The earliest approach was virtual machine technology (hard virtualization, supported by virtualization capabilities provided at the hardware level), which virtualizes a single computer hardware into multiple virtual machines, each capable of installing the same or different operating systems, thus providing scalable elastic computing capabilities for commercial computing systems.

In recent years, container technology (soft virtualization) has been widely applied, replacing virtual machine technology in many application scenarios. Container technology is built on top of the operating system, providing a complete, independent, and controllable runtime environment for each application. From the perspective of application software, containers appear to provide an independent computer hardware and operating system environment (Figure 4).

Industry Focus: Design of Next-Generation Avionics Software Based on Software Virtualization Technology

As shown in Figure 4, container technology reduces the overhead of hardware virtualization management by eliminating the meta operating system and hypervisor management layers, and reduces the number of operating system copies. This results in containers outperforming virtual machines in terms of performance and resource consumption, with container technology being twice as performant and consuming less than a quarter of the resources of virtual machine technology. The main advantage of virtual machine technology is its ability to run multiple operating systems on a single computer hardware, but this is not a requirement for avionics software. The concept of container technology aligns well with the characteristics and development needs of avionics software. Building the entire onboard software platform based on container technology can address the main issues faced by avionics software development, thereby supporting aviation weaponry to meet the characteristics and trends of modern warfare and the needs of national defense capability development.

2.2 Design and Operation Scheme of the New Architecture

The onboard software platform based on container technology consists of an embedded operating system with a container engine, containers, middleware, and numerous application software. The system is configured with various types of containers, such as those for design and debugging, which can automatically track application resource usage; those for in-flight operations, which strictly control application resource usage based on configuration; and those that support dynamic characteristics for low-security-level applications, etc. The container engine allocates corresponding resources from the system resources based on system configuration data, then loads container images to instantiate the containers, and loads the corresponding application images into the containers before entering the actual operational state (Figure 6).

Industry Focus: Design of Next-Generation Avionics Software Based on Software Virtualization TechnologyIndustry Focus: Design of Next-Generation Avionics Software Based on Software Virtualization Technology

2.3 Technical Feasibility of the New Architecture Scheme

From the above scheme, it can be seen that the introduction of container technology can address the main issues faced by avionics software development. Although current open-source container technology is only available for Linux and Windows systems, making it challenging to adapt for embedded high reliability and strong real-time applications, some domestic units have already achieved research and application of soft virtualization technology in onboard embedded systems, providing a solid technical foundation. Currently, onboard systems have widely adopted domestic onboard operating systems, and domestic operating system developers have mastered the core technologies, fully capable of modifying and adjusting onboard embedded operating systems, middleware, and development tools.

Industry Focus: Design of Next-Generation Avionics Software Based on Software Virtualization Technology

3 Preliminary Implementation and Testing Analysis of the New Architecture Scheme

The scheme based on the new architecture has been preliminarily implemented on the DeltaSVM partitioned operating system used in domestic onboard systems, achieving containerization capabilities. To verify the characteristics of the new architecture, comparative testing was conducted on the following software architectures under the same hardware environment.

(1) Software architecture based on ARINC 653 standard partitioned operating system, using DeltaSVM partitioned operating system;

(2) Software architecture based on hardware real-time virtual machine technology, using the Dao System 8 platform that supports real-time virtual machine technology, with DeltaSVM operating system running inside the real-time virtual machine;

(3) Software architecture based on the containerized new avionics software architecture, using the containerized DeltaSVM-C operating system.

The hardware selected for comparative testing supports hardware virtualization technology (Intel Virtualization Technology, Intel VT/VT-d) with an Intel i5-2500k processor (4 cores, base frequency 3.3GHz, with automatic turbo boost disabled) and 4GB DDR3-1333 memory. All software was run in a memory-loaded image mode.

Key performance data such as interrupt response time and partition switching time were tested. For the DeltaSVM-C based on container technology, the container switching time was tested, while for the Dao System 8 based on hard virtualization, the virtual machine switching time was tested. Additionally, the system memory resources occupied by each were checked, and the data obtained from the tests and checks are shown in Table 1.

Industry Focus: Design of Next-Generation Avionics Software Based on Software Virtualization Technology

According to the data in Table 1, it can be seen that after using container technology, the average interrupt response time and average partition switching time are comparable to those on the standard partitioned operating system (less than 2 times), but the maximum values are slightly higher (3-4 times). This is due to the fact that the containerization implementation is only preliminary and has room for optimization. Compared to the real-time virtual machine technology, the performance of the container technology is significantly better (over 2 times). The switching times of the virtual machine and container also generally follow this pattern. This indicates that the new architecture based on container technology performs significantly better than the architecture based on hard virtual machine technology, and the performance is not much different from that of the previous standard embedded partitioned operating system architecture.

From the data in Table 2, it can be seen that the use of container technology increased storage space consumption by about 50%, while the software system based on hard virtual machine technology increased by 300%-600% compared to the standard partitioned operating system architecture. This indicates that the storage resource consumption of the container technology is far less than that of the hard virtual machine technology.

Industry Focus: Design of Next-Generation Avionics Software Based on Software Virtualization Technology

Through the comparative testing of the preliminary implementation of the containerized avionics software architecture, it can be seen that the container technology has minimal impact on processor and storage resource consumption compared to the current partitioned operating system architecture, and is far superior to the hard virtual machine technology, making it a suitable direction for the future development of avionics software architecture.

Industry Focus: Design of Next-Generation Avionics Software Based on Software Virtualization Technology

4 Conclusion

The new avionics software architecture proposed in this paper can meet the architectural needs of future avionics software. Compared to the current third-generation avionics software architecture, it has the following advantages:

(1) Significantly improves the utilization of hardware resources and capabilities. The current avionics software platform adopts a completely static configuration for determinism, meaning that all resources for partitions and their application software are statically configured, and even if there are abundant surplus resources in the hardware, they cannot be utilized. With container technology, resource determinism can be ensured within containers, and application software can still adopt static configuration, but containers can be instantiated as much as possible based on the hardware’s resources and capabilities, fully utilizing resources.

(2) Supports more complex system integration design and configuration. In current onboard systems, all applications need to clearly define their resources during design, and must consider competition and conflicts when using system common resources. As the number of applications and partitions increases, the difficulty of system design and configuration grows exponentially. With container technology, specialized container types can be designed to automatically detect application resource consumption during design and debugging, and combined with development tools, can automatically generate corresponding configuration data. Additionally, since related partitions can be placed within a single container, resource isolation between containers greatly reduces the need to consider resource competition among applications during system design and configuration.

(3) Significantly reduces the difficulty of achieving software reconfigurability. The current avionics software platform supports statically configured reconfiguration behaviors, but all partitions must already be loaded into the system and can only switch according to previously statically configured scheduling tables. This approach is inflexible, and the system can only perform reconfiguration for a limited number of hypothetical situations. With container technology, resources within containers can be controlled and reclaimed, allowing for easy restarting of containers or replacing all applications within a container as long as resource needs are met, achieving both resource determinism and dynamic reconfiguration capabilities based on actual conditions.

(This article is selected from the Journal of Nanjing University of Aeronautics and Astronautics, authors: Zhang Junhong, Tong Qiang, affiliated with: First Aircraft Design and Research Institute of China Aviation Industry Corporation, Beijing Huazhi Xin Technology Development Co., Ltd. This article is reproduced solely for the purpose of disseminating knowledge. If there are any copyright issues, please contact us promptly!)

Reprinted from丨“Avionics Technology Circle” WeChat Official AccountEditor丨JOReviewed by丨Strategic Market Center-END-丨ReadRecommendations丨

Hermes 2024 Annual Review: A Decade of Footprints and Heart, Frost Blade Sharpened Today

Industry Focus: Research Status and Prospects of Multi-Domain Cluster Distributed Intelligent Collaborative Autonomous Control Technology

Industry Focus: Complex Avionics System Software Development and Management Methods for Civil Aircraft

Industry Focus: A Visual Positioning Method Based on Contrastive Learning Large Models

Industry Focus: UAV Formation Tracking and Obstacle Avoidance Control Based on Synchronous DMPC

For more informationLong press to follow “Hermes”Industry Focus: Design of Next-Generation Avionics Software Based on Software Virtualization Technology

Leave a Comment