## 3 A Simulation and Verification Platform for Avionics Systems Based on FACE Architecture
### Face Architecture  
In 2010, FACE (Future Airborne Capability Environment), a new business model and reference architecture proposed for avionics software systems, was jointly promoted by the U.S. military, industry, and academia. In the aviation field, FACE has been widely studied and developed for its promotion of software portability and the formation of software product lines throughout the aviation field. According to the summary and analysis of the functions of several core segments in the FACE software architecture, the functions and capabilities of the avionics systems are mainly reflected by the portable components segment, and all other software segments and interfaces provide services for the portable components segment. In other words, the transport services segment, the platform-specific services segment, the I/O services segment, the operating system segment, and the interface provided form a general software environment combine to support the operation of portable application software and shield the differences of underlying physical platforms [29; 30; 31]. The FACE architecture is shown in Figure 1.  
On the basis of the analysis of the simulation and verification platforms for avionics systems, the platform architecture is shown in Figure 2. The platform adopts the mode of the component plus plug-in, provides a standard operation interface for the component models, supports user-defined components, and has high scalability. The platform provides a scheduling and communication mechanism for the component model and supports the scheduling operation of different components and data communication. Scheduling management supports time-driven and event-driven, which can schedule both periodic and  
Figure 1: The FACE architecture.  
non-periodic tasks in the model, respectively. The underlying communication uses memory database technology to ensure the real-time consistency of data interaction. Configuration management tools can intuitively, easily, and quickly add or modify the table, variable, and mapping in the memory database, thus avoiding the trouble of manually changing configuration files and improving the stability of the system.  
In avionics simulation systems, there are all kinds of real or virtual devices. Each device has its own data input/output requirements, read/write mode, and data format. For a specific device, it usually reads data in the specified format (such as ICD) from the specified port or sends data in the specified format from the specified port. The memory database needs to provide these devices with data in accordance with the format and send or receive data at the specified port. The function of the interface converter is to complete the above functional requirements [32] and uses topic-based publish/subscribe communication mode to send and receive ICD.  
ICD is the interface control document, which is used to describe the data structure and underlying data representation of the system and interface, so as to integrate the described elements with other parts of the system conveniently [33]. Its descriptor is a simple XML file, which contains a serialized model with the defined data structure.