Engineering PapersSearch

NASA NTRS · 20180001888

Increasing Flight Software Reuse with OpenSatKit

Abstract

In January 2015 the NASA Goddard Space Flight Center (GSFC) released the Core Flight System (cFS) as open source under the NASA Open Source Agreement (NOSA) license. The cFS is based on flight software (FSW) developed for 12 spacecraft spanning nearly two decades of effort and it can provide about a third of the FSW functionality for a low-earth orbiting scientific spacecraft. The cFS is a FSW framework that is portable, configurable, and extendable using a product line deployment model. However, the components are maintained separately so the user must configure, integrate, and deploy them as a cohesive functional system. This can be very challenging especially for organizations such as universities building cubesats that have minimal experience developing FSW. Supporting universities was one of the primary motivators for releasing the cFS under NOSA. This paper describes the OpenSatKit that was developed to address the cFS deployment challenges and to serve as a cFS training platform for new users. It provides a fully functional out-of-the box software system that includes NASA's cFS, Ball Aerospace's command and control system COSMOS, and a NASA dynamic simulator called 42. The kit is freely available since all of the components have been released as open source. The kit runs on a Linux platform, includes 8 cFS applications, several kit-specific applications, and built in demos illustrating how to use key application features. It also includes the software necessary to port the cFS to a Raspberry Pi and instructions for configuring COSMOS to communicate with the target. All of the demos and test scripts can be rerun unchanged with the cFS running on the Raspberry Pi. The cFS uses a 3-tiered layered architecture including a platform abstraction layer, a Core Flight Executive (cFE) middle layer, and an application layer. Similar to smart phones, the cFS application layer is the key architectural feature for users to extend the FSW functionality to meet their mission-specific requirements. The platform abstraction layer and the cFE layers go a step further than smart phones by providing a platform-agnostic Application Programmer Interface (API) that allows applications to run unchanged on different platforms. OpenSatKit can serve two significant architectural roles that will further help the adoption of the cFS and help create a community of users that can share assets. First, the kit is being enhanced to automate the integration of applications with the goal of creating a virtual cFS "App Store".. Second, a platform certification test suite can be developed that would allow users to verify the port of the cFS to a new platform. This paper will describe the current state of these efforts and future plans.

Explore related subjects

Keep this discovery

Explore connections, maps & timelines

BibTeXRIS

McComas, David C.. 2018-03-03. Increasing Flight Software Reuse with OpenSatKit. https://ntrs.nasa.gov/citations/20180001888

Cite the original work for its findings. Save a collection to share your selection of sources.

KEEP EXPLORING

Related reports

Implementation of a Hybrid Edge Node-Centroid Node Approach for the Generation of Reduced Thermal Models

Reduced thermal models are often required for delivery to organizations that manage models at the highest levels of assembly. The effort to generate/verify these models against their detailed counterparts is a challenge not yet conclusively solved. Higher level organizations often place a limit on the node count for delivered models, assuming smaller models result in faster computation. The burden of producing and verifying the accuracy of reduced models is primarily on the lower-level organizations, which consumes resources to produce these models. Limiting the number of allowable nodes may prevent users from taking full advantage of software capabilities that allow for faster generation of models, such as finite elements, which require more nodes than centroid based models. A methodology using Thermal Desktop was described in 2010 using: (1) finite elements and edge nodes for the conduction matrix, (2) centroid nodes for capacitance and radiative computations, and (3) the super network feature to produce a conduction matrix based only on the centroid nodes. While the methodology was clear, the implementation would have had to be done manually; with the inclusion of the OpenTD Application Programming Interface, this methodology can now be implemented programmatically and be a viable approach for the generation of reduced models. The approach was implemented at NASA-Goddard for the Capture-Containment-and-Return-System (CCRS) payload, resulting in the TCYEE tool. CCRS requires delivery with node limitations through the European Space Agency to its contractors. TCYEE generated the reduced model for delivery and the predictions compared favorably to the detailed model. Furthermore, TCYEE is being explored for potential use on the Roman Space Telescope (RST) for the generation of reduced models for delivery to the launch provider, which also has node limit requirements. This paper describes the methodology, implementation, and the performance of reduced models compared to their detailed counterparts.

Computer Programming and Software