Military aviation community airborne systems have traditionally entailed a unique set of requirements and a single vendor. This stovepipe development approach has resulted in some undesired side effects including long lead times, cumbersome improvement processes, and lack of hardware / software reuse between various aircraft platforms resulting in a platform-unique design.
The advent of significantly complex mission equipment and electronics systems has caused an increase in the cost and schedule to integrate and test new hardware and software in aircraft systems.
The Future Airborne Capability Environment (FACE) addresses the affordability objectives of today's military aviation community. The FACE approach is to develop a Technical Standard for a software Common Operating Environment (COE) designed to promote portability and create software product lines across the military aviation community.
The FACE Technical Standard defines a software computing environment architecture and interfaces intended for the development of applications made up of portable components targeted for general-purpose, safety, and / or security purposes.
The FACE software computing environment enables product lines for military aviation. This software computing environment is provided for every variant of the software deliverable to the platform. However, FACE implementations may also select a varying set of components to supply the desired platform-level capabilities.
The FACE Reference Architecture is comprised of a set of "places" where variance occurs. These points of variance are called "segments". The structure created by connecting these segments together is the beginning of the FACE Reference Architecture
The five segments of the FACE Reference Architecture are:
Operating System Segment (OSS) – hosts various operating system, run-time and framework interfaces and provides the vertical interface to the software in all the other segments
I/O Services Segment (IOSS) - comprises those portions of software which provide a bridge for data from the operating system’s devices drivers to the PSSS. The code modules in the PSSS that model real-world platform devices such as Global Positioning System (GPS) units use an I/O interface such as MIL-STD to communicate with the device.
Platform-Specific Services Segment (PSSS) – comprise those portions of software that are typically tightly-coupled to the platform-unique device Interface Control Documents (ICDs) describing the messages and protocols supported by the hardware. Reallocating such software to the PSSS facilitates creating components residing in the PCS.
Transport Services Segment (TSS) – is composed of components or services that provide for the movement of data between the PCS and PSSS, as well as the movement of data between components residing within the PCS and the PSSS.
Portable Components Segment (PCS) – is populated with a set of portable FACE components and common services that provide the desired platform level capabilities when executing together.
Figure 1 shows the FACE Reference Architecture illustrating the OSS as the foundation upon which the other FACE segments are built. This architecture is constrained to promote separation of concerns and establish a product line approach for reusable software capabilities.