core Flight System (cFS)
The core Flight System (cFS) is a platform-independent, reusable software framework designed to expedite flight software development.
The Core Flight Software (cFS) Bundle is a comprehensive, platform-independent software framework designed to support embedded real-time systems. Its architecture is optimized for reuse, rapid development, and portability across diverse mission environments. Built around a dynamic runtime environment, layered architecture, and component-based design, cFS enables efficient system development while ensuring scalability and adaptability.
At the heart of cFS are three primary components:
- Platform Support Package (PSP): Provides the necessary interface to the underlying hardware platform.
- Operating System Abstraction Layer (OSAL): Decouples the software from specific operating systems to enable seamless portability.
- Core Flight Executive (CFE): The central component that facilitates flight software scheduling, inter-process communication, and error management.
Together, these components empower system designers to create robust flight software (FSW) solutions for a wide range of missions. cFS has supported more than 40 NASA missions, from small-scale projects to major endeavors like the James Webb Space Telescope (JWST).
Additionally, cFS provides a set of test tools designed to support development and improve the efficiency of the software lifecycle. These tools incorporate modern engineering practices and robust testing capabilities, making it easier to build and maintain development environments. The Mission Class Certification Tools offer a pathway to generate certification artifacts for missions up to Class A level, ensuring compliance with industry standards.
The Flight Software Systems Branch (582) brings specialized expertise in the development of cFS applications for robotics, payloads, and instruments. This expertise includes supporting new business opportunities with comprehensive design solutions, project estimates, budget planning, and timelines.
In the realm of embedded systems, 582 conducts cutting-edge research and development on low Technology Readiness Level (TRL) solutions to meet emerging technological needs. Their efforts include in-depth analysis and testing of new operating systems, hardware architectures, programming languages, and subsystem designs. They also provide embedded systems engineering, which encompasses:
- Operations concept development
- Requirements analysis
- System trades and design evaluations
- Interface control specifications
582’s deep specialization in flight software systems includes both architectural and detailed design of flight software systems and their components. They focus on cFS application and component development in key areas such as:
- Command and Data Handling (CDH)
- Telemetry systems
- Onboard Guidance, Navigation, and Control (GN&C) integration
- Fault Detection and Management (FDM)
- Relative time sequencing
- Flight cybersecurity
- Onboard artificial intelligence (AI)
For flight software implementation, 582 utilizes continuous integration (CI) pipelines to ensure efficient development workflows. They employ rigorous unit and component testing, along with detailed test plans and testbeds, to verify the system at both the product and observatory level.
As part of their overall capabilities, 582 operates a cFS Lab, a state-of-the-art facility designed for the development, testing, and analysis of flight software based on the Core Flight Software framework. The cFS Lab supports testing on multi-processor systems and provides a controlled environment for validating distributed flight software systems. This lab is essential for ensuring the robustness and reliability of cFS applications throughout the development cycle.
Additionally, the team offers extensive Core Flight Software (cFS) training and consulting services, providing expert guidance to external users and stakeholders. They also support the ongoing sustaining engineering and operational maintenance of on-orbit missions, ensuring continuous software improvement through bug fixes, minor enhancements, and major software updates.
For more information visit:
The core Flight System
core Flight System (cFS) is managed by ETD’s
Software Engineering Division (Code 580)