Search NASA⌕ Search

SEARCH · Search NASA

Results for “software development framework”

Search indexed NASA NTRS and DOE OSTI research on propulsion, heat transfer, battery materials and energy systems. Follow report and document links to the original sources.

Quote a phrase for an exact phrase match. Source license links do not imply unrestricted reuse.

At least 343 records · Page 19

Development and Demonstration of a Digital NDE Pipeline for Streamlined Analysis of Ultrasonic Data

Currently when nondestructive evaluation (NDE) is performed on composite structures, the results, although recorded digitally are often manually interpreted and indicated (drawn) on the part being inspected by hand. Following this, a determination must be made on how to disposition that part. This decision could be based on engineering guidelines and best practices, rule-of-thumb, expert opinion or finite-element analysis of the part with some approximate representation of the damage. In order to streamline this process for ultrasonic inspection an effort was undertaken as part of NASA Advanced Composites Project to develop the Digital NDE Pipeline. The Digital NDE Pipeline is an integrated tool suite and associated framework that streamlines the inspection and defect disposition process through model-assisted inspection optimization, automated defect analysis of NDE data, and mapping of NDE data into finite element analysis software. This paper will provide an overview of the Digital NDE Pipeline and provide details of the individual tools developed along with the results of applying these tools to a demonstration test case.

Composites↗

QUANT-NET Control Plane Framework (QNCP) v1.0.0

The QUANT-NET Control Plane (QNCP) provides a software framework for expressing and managing quantum network resources. It may be used to orchestrate a physical quantum testbed with real device driver implementations, or it may be used as a proving ground when developing new protocols and management functions. In practice, both approaches may be useful when undertaking research and development in emerging quantum testbeds. While a number of control systems have been developed for specific quantum platform demonstrations, an openly available and general solution for operating quantum networks has not emerged. QNCP is designed to fill this gap. The framework has been designed to provide extensible, modular capabilities that include scheduling, routing, monitoring, and pluggable protocols. A number of reference implementations in each module category have been included in the installable packages; however, the intent is that each of these modules may be extended or re-implemented to meet the needs of the particular deployment or research need. The software is currently being used in the QUANT-NET testbed project, which spans resources between LBNL and UC Berkeley Physics.

Zhang, Liang [Lawrence Berkeley National Laborator↗

Leveraging the Cloud for Robust and Efficient Lunar Image Processing

The Lunar Mapping and Modeling Project (LMMP) is tasked to aggregate lunar data, from the Apollo era to the latest instruments on the LRO spacecraft, into a central repository accessible by scientists and the general public. A critical function of this task is to provide users with the best solution for browsing the vast amounts of imagery available. The image files LMMP manages range from a few gigabytes to hundreds of gigabytes in size with new data arriving every day. Despite this ever-increasing amount of data, LMMP must make the data readily available in a timely manner for users to view and analyze. This is accomplished by tiling large images into smaller images using Hadoop, a distributed computing software platform implementation of the MapReduce framework, running on a small cluster of machines locally. Additionally, the software is implemented to use Amazon's Elastic Compute Cloud (EC2) facility. We also developed a hybrid solution to serve images to users by leveraging cloud storage using Amazon's Simple Storage Service (S3) for public data while keeping private information on our own data servers. By using Cloud Computing, we improve upon our local solution by reducing the need to manage our own hardware and computing infrastructure, thereby reducing costs. Further, by using a hybrid of local and cloud storage, we are able to provide data to our users more efficiently and securely. 12 This paper examines the use of a distributed approach with Hadoop to tile images, an approach that provides significant improvements in image processing time, from hours to minutes. This paper describes the constraints imposed on the solution and the resulting techniques developed for the hybrid solution of a customized Hadoop infrastructure over local and cloud resources in managing this ever-growing data set. It examines the performance trade-offs of using the more plentiful resources of the cloud, such as those provided by S3, against the bandwidth limitations such use encounters with remote resources. As part of this discussion this paper will outline some of the technologies employed, the reasons for their selection, the resulting performance metrics and the direction the project is headed based upon the demonstrated capabilities thus far.

Cloud Computing↗

Software Development Technologies for Reactive, Real-Time, and Hybrid Systems

The research is directed towards the design and implementation of a comprehensive deductive environment for the development of high-assurance systems, especially reactive (concurrent, real-time, and hybrid) systems. Reactive systems maintain an ongoing interaction with their environment, and are among the most difficult to design and verify. The project aims to provide engineers with a wide variety of tools within a single, general, formal framework in which the tools will be most effective. The entire development process is considered, including the construction, transformation, validation, verification, debugging, and maintenance of computer systems. The goal is to automate the process as much as possible and reduce the errors that pervade hardware and software development.

Manna, Zohar↗

Reliability-Aware Requirements Development for Autonomy Software

Autonomy is the ability of a system to make decisions and take actions in the presence of uncertainty. Validating autonomy, therefore, is a matter of validating that the system makes intelligent decisions even when there might be discrepancies between the observed and the expected state of the world as well as when the possible outcome of each of the possible courses of action is uncertain. During the requirements engineering phase, the functions, including those that are required to be autonomous and their expected behavior are specified. However, in the case of autonomous software system, it is challenging to specify all possible scenarios that the software may encounter. Additionally, since autonomous behaviors cannot always be fully predetermined, it is difficult to reason about their completeness and correctness. While these challenges are also faced with non-autonomous system, they are more prevalent for autonomous system due to their complexity and emergent behavior. Our efforts have been three-fold. On one hand, we have developed a goal-based method for requirements decomposition. We have embedded this approach into a higher-level systems engineering framework and then developed methods for decision and reliability analysis within this framework. And finally, we use simulation analysis to validate the more theoretical methods and provide a feedback mechanism. The decision analysis approach (DA) helps in identifying and mitigating the run-time risks, by bringing to the forefront the uncertainties, decisions, interactions, and other factors that may cause autonomous software to make erroneous decisions. The DA framework is used to quantify, for each decision that the software can make, failure risk due to uncertainties. The information about the key decisions and circumstances that can cause autonomous system to make incorrect decisions are used to generate test scenarios to be run in a simulator to ensure that the system can handle error-prone circumstances. The results or outcomes from decisions, based on the simulated scenarios, can then be leveraged to further gain insight of the assured system. We combine a goal-based approach with simulation analysis to facilitate requirements development for autonomous systems and further provide a method for run-time systems level reliability considerations during the autonomous software development process. The DA and the reliability analysis methods provide a formalism for the consideration of uncertainty in the run time decision-making process for autonomous software. This formalism considers the uncertainty involved in the outcome of different courses of action, in terms of performance and cost, as well as a method to consider the system level reliability implications. System level reliability considerations for autonomous software decision making contribute to the satisfaction of the system level goals over the lifecycle of a given mission. We demonstrate our approach using a hypothetical rover path planning example. The requirements for our rover simulator are based on existing literature about Mars rovers and lessons learned from real world observations at JPL. The specifics of the autonomy design for the Mars rovers, that have not been previously cleared for external release, are not used for our demonstrations.

Lindvall, Mikael↗

Updates on the Predictive Materials Modeling Software Tools

Updates on NASA‘s efforts to build a Predictive Material Modeling (PMM) framework from the micro-scale to the macro-scale are presented in this abstract. The PMM effort is part of the Entry Systems Modeling (ESM) project under NASA’s Game Changing Development (GCD) program. To reduce the need for extensive testing and accelerate the design cycle process, ESM is developing simulation and modeling tools that enable the characterization of the properties of thermal protection materials and their response to extremely hot plasma. The Porous Microstructure Analysis (PuMA) software has been developed to compute effective material properties and perform material response simulations on digitized microstructures of porous media. PuMA is able to import three-dimensional digital images obtained from X-ray microtomography or to generate artificial microstructures that mimic real materials. PuMA also provides a module for interactive 3D visualizations. Version 3, which was recently released as open-source, includes modules to compute simple morphological properties such as porosity, volume fractions, pore diameter, and specific surface area. Additional capabilities include the determination of effective thermal and electrical conductivity (both radiative and solid conduction - including the ability to simulate local anisotropy for the latter); effective diffusivity and tortuosity from the continuum to the rarefied regime; techniques to determine the local material orientation, as well as mechanical properties (elasticity coefficients), and permeability. Computed properties are then used to inform a macro-scale material response model, such as those implemented in the Porous material Analysis Toolbox based on OpenFOAM (PATO) software developed within ESM. The computational model in PATO is a generic heat and mass transfer model for porous reactive materials containing several solid phases and a single gas phase. The detailed chemical interactions occurring between the solid phases and the gas phase are modeled at the pore scale, assuming Local Thermal Equilibrium. Recent efforts include the development of a mechanical erosion model as well as a unified model allowing an intrinsic coupling between fluid and material. Comparison to flight data (Mars Science Laboratory [MSL] Entry Descent and Landing Instrument [MEDLI] and Mars 2020 MEDLI2) is critical in order to validate these computational tools. Examples of ablative material response using the code will be presented, including 3D simulations of the full-scale heatshield of the MSL capsule. The simulations demonstrated the ability of the modern material response code, PATO, to handle the material response of geometrically complex and large domains through the use of massively parallel computations.

material modeling↗

Prompt-Based Development of Domain-Specific Taxonomies

Framework for interacting with prompt-based LLMs (Large Language Models such as, but not limited to, ChatGPT) in order to develop domain specific taxonomies. The software itself is a series of prompts designed to extract hierarchical taxonomy categories from an LLM, as well as guidelines for how to fine-tune LLMs in order to provide better domain-specific taxonomic categories.

Grundy, Jon [Pacific Northwest National Laboratory↗

Multiscale and Machine Learning Modeling for Process-informed Microstructure Prediction in Additively Manufactured Materials Using MALAMUTE

Advanced Materials and Manufacturing Technologies (AMMT) program under the Department of Energy Office of Nuclear Energy, aims to develop and qualify additively-manufactured materials for nuclear applications. The key challenges to these efforts are the microstructural variabilities observed on the AM products and their impact on the properties and performance of the material in extreme environments. AMMT is using a combination of high-through-put experimental and modeling techniques to accelerate the qualification efforts. Conventionally, in-situ and ex-situ characterizations and testing are performed to correlate different aspects of the AM process to the final product and its performance. However, adopting a trial-and-error approach to experimentally evaluate the vast range of process parameters required to capture the microstructural variabilities is cost-prohibitive. Modeling and simulation provide a comparatively inexpensive way to understand and correlate the microstructural evolution to the processing conditions. The modeling and simulation work-packages within the AMMT program aims to use physics-based and machine learning modeling capabilities to develop a digital twin for AM that can correlate the process conditions to the final product and establish a process-structure-property-performance (PSPP) correlation for AM materials. The melting and subsequent solidification that occurs during the AM process is a complex phenomenon that requires multiscale multiphysics analysis. Idaho National Laboratory’s (INL) Multiphysics Object-Oriented Simulation Environment (MOOSE), specifically the MOOSE Application Library for Advanced Manufacturing UTilitiEs (MALAMUTE) software, provides an ideal platform for developing the multiphysics multiscale model to explore the intricacies of the microstructural evolution during the AM processes within a single framework. Furthermore, given that such full-fidelity simulations can be computationally intensive, reduced order models are necessary to explore the PSPP space for AM materials in an efficient, reliable, and cost-effective way. This work package focuses on understanding the role of process variabilities on the various microstructural characteristics of the AM materials. Microstructures unique to AM materials, such as compositional micro-heterogeneity and dislocation cells, are of particular interest here since they can influence the creep properties and radiation performance. In fiscal year (FY) 24, we significantly advanced upon our work in the last fiscal year, both on physics-based and ML models. The alloy solidification model available in MOOSE has been extended to incorporate the thermodynamic properties and free energy relevant to 316SS. The model demonstrates the Cr segregation that occurs during solidifcation. It is demonstrated that rate of solidification and solute segregation is primarily influence by the cooling rate dictating the level of freezing. This work captures the microstructural variabilities at the subgrain level that are often missing in the part-scale models. With an aim to connect the microstructural evolution model to realistic process conditions, a reduced order model is developed for predicting the thermal conditions around meltpool from high-fidelity process simulations. Furthermore, machine learning approach is used to accelerate the temperature prediction during the AM process. In the following years, MALAMUTE will be used to connect different aspects of the models and quantitatively predict the microstructural evolution. The developed ML-based surrogate model will consider the process conditions as the input to predict the microstructural features in a cost-effective way. The generated microstructures can be used by other work packages under AMMT to evaluate the properties and environmental response of the material at the mesoscale. Thus, this work help identify the key microstructural features at the subgrain level that are significant in property/performance prediction of the AM products. This work will provide inputs to the large-scale process variability models to reevaluate and validate assumptions/simplifications made in the part-scale models. Furthermore, through active learning this work will help identify the data need from both modeling and experimental sides for development of a robust digital twin for AM.

36 MATERIALS SCIENCE↗

Multiscale and Machine Learning Modeling for Process-informed Microstructure Prediction in Additively Manufactured Materials using MALAMUTE

The Advanced Materials and Manufacturing Technologies (AMMT) program under the Department of Energy Office of Nuclear Energy aims to develop and qualify additively manufactured materials for nuclear applications. One key challenge to this is the microstructural variability observed in the additively manufactured products and their impact on the properties and performance of the material in extreme environments. AMMT is using a combination of high-throughput experimental and modeling techniques to accelerate qualification. Conventionally, in-situ and ex-situ characterizations and testing are performed to correlate different aspects of the additive manufacturing process to the final product and its performance. However, adopting a trial-and-error approach to experimentally evaluate the vast range of process parameters required to capture microstructural variability is cost-prohibitive. Modeling and simulation provide a comparatively inexpensive way to understand and correlate the microstructural evolution to the processing conditions. The modeling and simulation work-packages within the AMMT program aims to use physics-based and machine learning models to develop a digital twin for additive manufacturing that can correlate the process conditions to the final product and establish a process-structure-property-performance (PSPP) correlation. The melting and subsequent solidification that occurs during the additive process is a complex phenomenon that requires multiscale multiphysics analysis. This work package focuses on understanding the role of process variabilities on the unique microstructural characteristics of additively manufactured materials. Microstructural features at the subgrain level, such as compositional micro-heterogeneity and dislocation cells, are of particular interest here since they can influence the creep properties and radiation performance. Idaho National Laboratory’s Multiphysics Object-Oriented Simulation Environment (MOOSE), specifically the MOOSE Application Library for Advanced Manufacturing UTilitiEs (MALAMUTE) software, provides an ideal platform for developing the multiphysics multiscale model to explore the intricacies of the microstructural evolution during the AM processes within a single framework. Furthermore, given that such full-fidelity simulations can be computationally intensive, reduced order models are necessary to explore the PSPP space for additively manufactured materials in an efficient, reliable, and cost-effective way. This work focuses on capturing the microstructural variabilities at the subgrain level that are often missing in the part-scale models. In fiscal year 2025, we significantly advanced upon our work in the last fiscal year, in terms of the predictive capabilities of the physics-based and ML models, by adding the capabilities to capture subgrain-level micro-segregation during solidification using phase-field model and to predict the time-dependent dynamics of the AM process through the MOGPAR model. The alloy solidification model in MOOSE incorporates the thermodynamic properties and free energy relevant to 316 stainless steel. The model demonstrates the Cr and Ni segregation that occurs during solidification, including that the rate of solidification. The microstructural evolution model is connected to the process conditions via the surrogate model developed in this work. This enables predictions of the final microstructure in conjunctions with the manufacturing process. This work supports AMMT's rapid qualification goals by laying the foundation for an efficient and cost-effective model establishing the PSPP correlation for AM. The generated microstructures and predicted micro-segregation can be used by other work packages under AMMT to evaluate the properties and environmental response of the material at the mesoscale. Thus, this work helps to identify the key microstructural features at the subgrain level that are significant in property and performance predictions of additively manufactured components. This work will also provide inputs to the large-scale process variability models to reevaluate and validate assumptions and simplifications made in the part-scale models. Furthermore, through active learning this work can help identify the data need from both modeling and experimental sides for development of a robust digital twin for additive manufacturing and accelerate the AMMT's qualification efforts.

36 - MATERIALS SCIENCE↗

A method for tailoring the information content of a software process model

The framework is defined for a general method for selecting a necessary and sufficient subset of a general software life cycle's information products, to support new software development process. Procedures for characterizing problem domains in general and mapping to a tailored set of life cycle processes and products is presented. An overview of the method is shown using the following steps: (1) During the problem concept definition phase, perform standardized interviews and dialogs between developer and user, and between user and customer; (2) Generate a quality needs profile of the software to be developed, based on information gathered in step 1; (3) Translate the quality needs profile into a profile of quality criteria that must be met by the software to satisfy the quality needs; (4) Map the quality criteria to set of accepted processes and products for achieving each criterion; (5) Select the information products which match or support the accepted processes and product of step 4; and (6) Select the design methodology which produces the information products selected in step 5.

Perkins, Sharon↗

A method for tailoring the information content of a software process model

The framework is defined for a general method for selecting a necessary and sufficient subset of a general software life cycle's information products, to support new software development process. Procedures for characterizing problem domains in general and mapping to a tailored set of life cycle processes and products is presented. An overview of the method is shown using the following steps: (1) During the problem concept definition phase, perform standardized interviews and dialogs between developer and user, and between user and customer; (2) Generate a quality needs profile of the software to be developed, based on information gathered in step 1; (3) Translate the quality needs profile into a profile of quality criteria that must be met by the software to satisfy the quality needs; (4) Map the quality criteria to a set of accepted processes and products for achieving each criterion; (5) select the information products which match or support the accepted processes and product of step 4; and (6) Select the design methodology which produces the information products selected in step 5.

Perkins, Sharon↗

Medical Data Architecture Platform and Recommended Requirements for A Medical Data System for Exploration Missions

Minimize or reduce the risk of adverse health outcomes and decrements in performance due to in-flight medical capabilities on human exploration missions. To mitigate this risk, the ExMC MDA project addresses the technical limitations identified in ExMC Gap Med 07: We do not have the capability to comprehensively process medically relevant information to support medical operations during exploration missions. This gap identifies that the current in-flight medical data management includes a combination of data collection and distribution methods that are minimally integrated with on-board medical devices and systems. Furthermore, there are a variety of data sources and methods of data collection. For an exploration mission, the seamless management of such data will enable a more medically autonomous crew than the current paradigm of medical data management on the International Space Station. ExMC has recognized that in order to make informed decisions about a medical data architecture framework, current methods for medical data management must not only be understood, but an architecture must also be identified that provides the crew with actionable insight to medical conditions. This medical data architecture will provide the necessary functionality to address the challenges of executing a self-contained medical system that approaches crew health care delivery without assistance from ground support. Hence, the products derived from the third MDA prototype development will directly inform exploration medical system requirements for Level of Care IV in Gateway missions.In fiscal year 2019, the MDA project developed Test Bed 3, the third iteration in a series of prototypes, that featured integrations with cognition tool data, ultrasound image analytics and core Flight Software (cFS). Maintaining a layered architecture design, the framework implemented a plug-in, modular approach in the integration of these external data sources. An early version of MDA Test Bed 3 software was deployed and operated in a simulated analog environment that was part of the Next Space Technologies for Exploration Partnerships (NextSTEP) Gateway tests of multiple habitat prototypes. In addition, the MDA team participated in the Gateway Test and Verification Demonstration, where the MDA cFS applications was integrated with Gateway-in-a-Box software to send and receive medically relevant data over a simulated vehicle network. This software demonstration was given to ExMC and Gateway Program stakeholders at the NASA Johnson Space Center Integrated Power, Avionics and Software (iPAS) facility. Also, the integrated prototypes served as a vehicle to provide Level 5 requirements for the Crew Health and Performance Habitat Data System for Gateway Missions (Medical Level of Care IV). In the upcoming fiscal year, the MDA project will continue to provide systems engineering and vertical prototypes to refine requirements for medical Level of Care IV and inform requirements for Level of Care V.

Krihak, M.↗

Medical Data Architecture Platform and Recommended Requirements for a Medical Data System for Exploration Missions

The Medical Data Architecture (MDA) project supports the Exploration Medical Capability (ExMC) risk to minimize or reduce the risk of adverse health outcomes and decrements in performance due to in-flight medical capabilities on human exploration missions. To mitigate this risk, the ExMC MDA project addresses the technical limitations identified in ExMC Gap Med 07: We do not have the capability to comprehensively process medically- relevant information to support medical operations during exploration missions. This gap identifies that the current in-flight medical data management includes a combination of data collection and distribution methods that are minimally integrated with on-board medical devices and systems. Furthermore, there are a variety of data sources and methods of data collection. For an exploration mission, the seamless management of such data will enable a more medically autonomous crew than the current paradigm of medical data management on the International Space Station. ExMC has recognized that in order to make informed decisions about a medical data architecture framework, current methods for medical data management must not only be understood, but an architecture must also be identified that provides the crew with actionable insight to medical conditions. This medical data architecture will provide the necessary functionality to address the challenges of executing a self-contained medical system that approaches crew health care delivery without assistance from ground support. Hence, the products derived from the third MDA prototype development will directly inform exploration medical system requirements for Level of Care IV in Gateway missions. In fiscal year 2019, the MDA project developed Test Bed 3, the third iteration in a series of prototypes, that featured integrations with cognition tool data, ultrasound image analytics and core Flight Software (cFS). Maintaining a layered architecture design, the framework implemented a plug-in, modular approach in the integration of these external data sources. An early version of MDA Test Bed 3 software was deployed and operated in a simulated analog environment that was part of the Next Space Technologies for Exploration Partnerships (NextSTEP) Gateway tests of multiple habitat prototypes. In addition, the MDA team participated in the Gateway Test and Verification Demonstration, where the MDA cFS applications was integrated with Gateway-in-a-Box software to send and receive medically relevant data over a simulated vehicle network. This software demonstration was given to ExMC and Gateway Program stakeholders at the NASA Johnson Space Center Integrated Power, Avionics and Software (iPAS) facility. Also, the integrated prototypes served as a vehicle to provide Level 5 requirements for the Crew Health and Performance Habitat Data System for Gateway Missions (Medical Level of Care IV). In the upcoming fiscal year, the MDA project will continue to provide systems engineering and vertical prototypes to refine requirements for medical Level of Care IV and inform requirements for Level of Care V.

Krihak, M.↗

Towards a mature measurement environment: Creating a software engineering research environment

Software engineering researchers are building tools, defining methods, and models; however, there are problems with the nature and style of the research. The research is typically bottom-up, done in isolation so the pieces cannot be easily logically or physically integrated. A great deal of the research is essentially the packaging of a particular piece of technology with little indication of how the work would be integrated with other prices of research. The research is not aimed at solving the real problems of software engineering, i.e., the development and maintenance of quality systems in a productive manner. The research results are not evaluated or analyzed via experimentation or refined and tailored to the application environment. Thus, it cannot be easily transferred into practice. Because of these limitations we have not been able to understand the components of the discipline as a coherent whole and the relationships between various models of the process and product. What is needed is a top down experimental, evolutionary framework in which research can be focused, logically and physically integrated to produce quality software productively, and evaluated and tailored to the application environment. This implies the need for experimentation, which in turn implies the need for a laboratory that is associated with the artifact we are studying. This laboratory can only exist in an environment where software is being built, i.e., as part of a real software development and maintenance organization. Thus, we propose that Software Engineering Laboratory (SEL) type activities exist in all organizations to support software engineering research. We describe the SEL from a researcher's point of view, and discuss the corporate and government benefits of the SEL. The discussion focuses on the benefits to the research community.

Basili, Victor R.↗

Algorithms and software for nonlinear structural dynamics

The objective of this research is to develop efficient methods for explicit time integration in nonlinear structural dynamics for computers which utilize both concurrency and vectorization. As a framework for these studies, the program WHAMS, which is described in Explicit Algorithms for the Nonlinear Dynamics of Shells (T. Belytschko, J. I. Lin, and C.-S. Tsay, Computer Methods in Applied Mechanics and Engineering, Vol. 42, 1984, pp 225 to 251), is used. There are two factors which make the development of efficient concurrent explicit time integration programs a challenge in a structural dynamics program: (1) the need for a variety of element types, which complicates the scheduling-allocation problem; and (2) the need for different time steps in different parts of the mesh, which is here called mixed delta t integration, so that a few stiff elements do not reduce the time steps throughout the mesh.

Belytschko, Ted↗

Increasing Flight Software Reuse with OpenSatKit

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â€"TM"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 userâ€"TM"s 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.

McComas, David↗

Increasing Flight Software Reuse with OpenSatKit

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.

Computer Programming and Software↗