The Core Flight Software System (cFS) has reduced the costly and time-consuming process of developing software for spaceflight missions
cFS: A Portable and Extendible Framework for Developing Flight Software
The core Flight System (cFS) is a portable and extendible framework for developing flight software. The framework defines a layered architecture that provides a hardware and operating system independent application runtime environment. The framework and applications use compile-time and run-time configuration parameters to tailor the cFS to meet a wide range of mission requirements.
Developing spacecraft flight software is a complex and challenging task. There are a multiple of processor boards and operating systems that can host the FSW. There are many beneficial applications that can help spacecraft operations and maintenance. These applications may not be obvious to engineers and scientist new to space systems. The spacecraft FSW must be extremely reliable while performing many simultaneous tasks that may be competing for shared resources. A typical spacecraft FSW system may have 20 to 30 applications.
As a result, the cFS was designed to be portable across hardware/operating system platforms. The same application code can run on different platforms. The cFS includes a core set of applications that provide functionality common to most spacecraft regardless of size. Further, the architecture facilitates a user community that can extend the cFS functionality with user platform abstractions and application contributions.
Developed by NASA and Released Open Source – History
The cFS was initially developed by NASA’s Goddard Space Flight Center (GSFC) over many years based on a rich heritage of successful missions; its components were incrementally developed and publicly released. The core Flight Executive (cFE), including the platform abstraction layer, was first used on the Lunar Reconnaissance Orbiter (LRO), launched in 2009, and the initial suite of cFS applications was first used on the Global Precipitation Measurement (GPM) spacecraft, launched in 2014. The entire cFS software suite was released as open source in January 2015.
Designed for Robust Portability across Embedded Platforms – Heritage
Although the cFS was incrementally developed and released, the initial effort started with a team of senior engineers that performed a structured heritage analysis of missions covering more than a decade. The diversity of the heritage missions (single vs. redundant components, varying orbits, different operational communication scenarios, etc.) provided valuable insights into what drove FSW commonality and variability across the missions. The team took the entire FSW life-cycle into consideration, including in-orbit FSW sustaining engineering, as they performed their analysis. They identified system and application level variation points to address the range and scope of the flight systems domain. A primary goal was to enable portability across embedded computing platforms and to implement different end-user functional needs without the need to modify the source code.
The core Flight Software System (cFS) has reduced the costly and time-consuming process of developing software for spaceflight missions.