The FACE technical approach tackles barriers to software modularity, portability, and
interoperability by defining a Reference Architecture and employing design principles to enhance software portability. To meet the objectives of the technical approach, the FACE Technical Standard uses a standardized architecture describing a conceptual breakdown of functionality, called the FACE Reference Architecture, to promote the reuse of software components able to share common functionality across disparate systems. This architecture defines standardized interfaces to allow software components to be moved between systems, including those developed by different vendors. The standardized interfaces follow a data architecture to ensure the data communicated between the software components is fully described to facilitate their integration on new systems. The FACE Reference Architecture is composed of logical segments where variance occurs. The structure created by connecting these segments together is the foundation of the FACE Reference Architecture. The five (5) segments of the FACE Reference Architecture are the Operating System Segment (OSS), Input/Output Services Segment (IOSS), Platform-Specific Services Segment (PSSS), Transport Services Segment (TSS), and Portable Components Segment (PCS). The FACE Reference Architecture defines a set of standardized interfaces providing connections between the FACE architectural segments. The standardized interfaces within the FACE Reference Architecture are the Operating System Segment Interface (OSS Interface), the Input/Output Services Interface (IOS Interface), the Transport Services Interfaces, and Component-Oriented Support Interfaces. The FACE Reference Architecture defines three FACE OSS Profiles tailoring the Operating System (OS) Application Programming Interfaces (APIs), programming languages, programming language features, run-times, frameworks, and graphics capabilities to meet the requirements of software components for differing levels of criticality. The three Profiles are Security, Safety, and General Purpose. The Security Profile constrains the OS APIs to a minimal useful set allowing assessment for high-assurance security functions executing as a single process. The Safety Profile is less restrictive than the Security Profile and constrains the OS APIs to those that have a safety certification pedigree. The General Purpose Profile is the least constrained profile and supports OS APIs meeting real-time deterministic or non-real-time, non-deterministic requirements depending on the system or subsystem implementation. The FACE Data Architecture defines the FACE Data Model Language (including the language binding specification), Query and Template language, FACE Shared Data Model (SDM) and the rules of construction of the Unit of Portability (UoP) Supplied Model (USM). Each PCS Unit of Conformance (UoC), PSSS UoC, or TSS UoC providing using TS Interfaces is accompanied by a USM consistent with the FACE SDM and defines its interfaces in terms of the FACE Data Model Language. A Domain-Specific Data Model (DSDM) captures content relevant to a domain of interest and can be used as a basis for USMs. ==References==