Search NASA⌕ Search

SEARCH · Search NASA

Results for “Software Development”

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 973 records · Page 54

Adaptive Modeling of the International Space Station Electrical Power System

Software simulations provide NASA engineers the ability to experiment with spacecraft systems in a computer-imitated environment. Engineers currently develop software models that encapsulate spacecraft system behavior. These models can be inaccurate due to invalid assumptions, erroneous operation, or system evolution. Increasing accuracy requires manual calibration and domain-specific knowledge. This thesis presents a method for automatically learning system models without any assumptions regarding system behavior. Data stream mining techniques are applied to learn models for critical portions of the International Space Station (ISS) Electrical Power System (EPS). We also explore a knowledge fusion approach that uses traditional engineered EPS models to supplement the learned models. We observed that these engineered EPS models provide useful background knowledge to reduce predictive error spikes when confronted with making predictions in situations that are quite different from the training scenarios used when learning the model. Evaluations using ISS sensor data and existing EPS models demonstrate the success of the adaptive approach. Our experimental results show that adaptive modeling provides reductions in model error anywhere from 80% to 96% over these existing models. Final discussions include impending use of adaptive modeling technology for ISS mission operations and the need for adaptive modeling in future NASA lunar and Martian exploration.

Thomas, Justin Ray↗

Lessons learned: DC-X

The DC-X was conceived and developed specifically to lay the ground work for significantly lowering the cost of space operations. The system design was based on an initial set of program goals and a finite, limited set of resources. The goal in its simplest terms was to demonstrate vertical landing after rotation of the vehicle from a nose-first to an engines-first altitude. Finite resources actually drove the selection of a robust design to reduce fabrication and preflight testing costs. The result was a system with a large amount of flexibility which allowed expansion of the test goals as the system, and test program, evolved. The use of the vehicle flight computer interfacing with the ground control system for flight crew training was also not an initial concept. However, by defining an architecture for the system control modes which allowed additions and modifications as learning progressed, the 6 DOF codes used for flight controls software development were transported to the operating system to be used in a simulated flight mode. Flight data reduction was also greatly improved as the program progressed, and the data needs and presentation were refined. The software, avionics hardware, and the FOCC system development proceeded ahead of the vehicle, primarily because most of the hardware elements were existing at the outset of the program. The Built-in-Test (BIT) for avionics and propulsion systems were adequate. Particularly the flight readiness system which verified the vehicle health after engine start and before throttle-up for flight.

Steinmeyer, D. A.↗

Space life support engineering program

This report covers the first six months of work performed under the NASA University Grant awarded to Iowa State University to perform research on two topics relating to the development of closed-loop long-term life support systems. A comprehensive study to develop software to simulate the dynamic operation of water reclamation systems in long-term closed-loop life support systems is being carried out as part of an overall program for the design of systems for a Mars voyage. This project is being done in parallel with a similar effort in the Department of Chemistry to develop durable accurate low-cost sensors for monitoring of trace chemical and biological species in recycled water supplies. Aspen-Plus software is being used on a group of high-performance workstations to develop the steady state descriptions for a number of existing technologies. Following completion, a dynamic simulation package will be developed for determining the response of such systems to changes in the metabolic needs of the crew and to upsets in system hardware performance.

Seagrave, Richard C.↗

NASTRAN general purpose interface requirements document

This NASTRAN (NASA STRuctural ANalysis) General Purpose Interface Requirements Document (IRD) defines standards for deliverables required of New Capability Contractors (NCCs) and relates these deliverables to the software development cycle. It also defines standards to be followed by NCCs for adding to and modifying the code in the NASTRAN software system and for adding to and modifying the four official NASTRAN manuals: The NASTRAN Theoretical Manual, the NASTRAN User's Manual, The NASTRAN Programmer's Manual, and The NASTRAN Demonstration Problem Manual. It is intended that this General Purpose IRD shall be incorporated by reference in all contracts for a new NASTRAN capability.

Brown, W. K.↗

Observations from a prototype implementation of the Common APSE Interface Set (CAIS)

This paper presents an overview of the Common Ada Programming Support Environment (APSE) Interface Set (CAIS), its purpose, and its history. The paper describes an internal research and development effort at the Mitre Corporation to implement a prototype version of the current CAIS specification and to rehost existing Ada software development tools onto the CAIS prototype. Based on this effort, observations are made on the maturity and functionality of the CAIS. These observations support the government's current policy of publicizing the CAIS specification as a baseline for public review in support of its evolution into a standard which can be mandated for use as Ada is today.

Mcclimens, M.↗

Towards automated support for extraction of reusable components

A cost effective introduction of software reuse techniques requires the reuse of existing software developed in many cases without aiming at reusability. This paper discusses the problems related to the analysis and reengineering of existing software in order to reuse it. We introduce a process model for component extraction and focus on the problem of analyzing and qualifying software components which are candidates for reuse. A prototype tool for supporting the extraction of reusable components is presented. One of the components of this tool aids in understanding programs and is based on the functional model of correctness. It can assist software engineers in the process of finding correct formal specifications for programs. A detailed description of this component and an example to demonstrate a possible operational scenario are given.

Abd-El-hafiz, S. K.↗

Towards automated support for extraction of reusable components

A cost effective introduction of software reuse techniques requires the reuse of existing software developed in many cases without aiming at reusability. This paper discusses the problems related to the analysis and reengineering of existing software in order to reuse it. We introduce a process model for component extraction and focus on the problem of analyzing and qualifying software components which are candidates for reuse. A prototype tool for supporting the extraction of reusable components is presented. One of the components of this tool aids in understanding programs and is based on the functional model of correctness. It can assist software engineers in the process of finding correct formal specifications for programs. A detailed description of this component and an example to demonstrate a possible operational scenario are given.

Abd-El-hafiz, S. K.↗

The maturing of the quality improvement paradigm in the SEL

The Software Engineering Laboratory uses a paradigm for improving the software process and product, called the quality improvement paradigm. This paradigm has evolved over the past 18 years, along with our software development processes and product. Since 1976, when we first began the SEL, we have learned a great deal about improving the software process and product, making a great many mistakes along the way. Quality improvement paradigm, as it is currently defined, can be broken up into six steps: characterize the current project and its environment with respect to the appropriate models and metrics; set the quantifiable goals for successful project performance and improvement; choose the appropriate process model and supporting methods and tools for this project; execute the processes, construct the products, and collect, validate, and analyze the data to provide real-time feedback for corrective action; analyze the data to evaluate the current practices, determine problems, record findings, and make recommendations for future project improvements; and package the experience gained in the form of updated and refined models and other forms of structured knowledge gained from this and prior projects and save it in an experience base to be reused on future projects.

Basili, Victor R.↗

The Impact of Ada and Object-Oriented Design in NASA Goddard's Flight Dynamics Division

This paper presents the highlights and key findings of 10 years of use and study of Ada and object-oriented design in NASA Goddard's Flight Dynamics Division (FDD). In 1985, the Software Engineering Laboratory (SEL) began investigating how the Ada language might apply to FDD software development projects. Although they began cautiously using Ada on only a few pilot projects, they expected that, if the Ada pilots showed promising results, the FDD would fully transition its entire development organization from FORTRAN to Ada within 10 years. However, 10 years later, the FDD still produced 80 percent of its software in FORTRAN and had begun using C and C++, despite positive results on Ada projects. This paper presents the final results of a SEL study to quantify the impact of Ada in the FDD, to determine why Ada has not flourished, and to recommend future directions regarding Ada. Project trends in both languages are examined as are external factors and cultural issues that affected the infusion of this technology. The detailed results of this study were published in a formal study report in March of 1995. This paper supersedes the preliminary results of this study that were presented at the Eighteenth Annual Software Engineering Workshop in 1993.

Waligora, Sharon↗

Monte Carlo Simulations and Generation of the SPI Response

In this paper we discuss the methods developed for the production of the INTEGRAL/SPI instrument response. The response files were produced using a suite of Monte Carlo simulation software developed at NASA/GSFC based on the GEANT-3 package available from CERN. The production of the INTEGRAL/SPI instrument response also required the development of a detailed computer mass model for SPI. We discuss our extensive investigations into methods to reduce both the computation time and storage requirements for the SPI response. We also discuss corrections to the simulated response based on our comparison of ground and inflight calibration data with MGEANT simulation.

Sturner, S. J.↗

Monte Carlo Simulations and Generation of the SPI Response

In this paper we discuss the methods developed for the production of the INTEGRAL/SPI instrument response. The response files were produced using a suite of Monte Carlo simulation software developed at NASA/GSFC based on the GEANT-3 package available from CERN. The production of the INTEGRAL/SPI instrument response also required the development of a detailed computer mass model for SPI. We discuss ow extensive investigations into methods to reduce both the computation time and storage requirements for the SPI response. We also discuss corrections to the simulated response based on our comparison of ground and infiight Calibration data with MGEANT simulations.

Sturner, S. J.↗

Analyzing and Predicting Effort Associated with Finding and Fixing Software Faults

Context: Software developers spend a significant amount of time fixing faults. However, not many papers have addressed the actual effort needed to fix software faults. Objective: The objective of this paper is twofold: (1) analysis of the effort needed to fix software faults and how it was affected by several factors and (2) prediction of the level of fix implementation effort based on the information provided in software change requests. Method: The work is based on data related to 1200 failures, extracted from the change tracking system of a large NASA mission. The analysis includes descriptive and inferential statistics. Predictions are made using three supervised machine learning algorithms and three sampling techniques aimed at addressing the imbalanced data problem. Results: Our results show that (1) 83% of the total fix implementation effort was associated with only 20% of failures. (2) Both safety critical failures and post-release failures required three times more effort to fix compared to non-critical and pre-release counterparts, respectively. (3) Failures with fixes spread across multiple components or across multiple types of software artifacts required more effort. The spread across artifacts was more costly than spread across components. (4) Surprisingly, some types of faults associated with later life-cycle activities did not require significant effort. (5) The level of fix implementation effort was predicted with 73% overall accuracy using the original, imbalanced data. Using oversampling techniques improved the overall accuracy up to 77%. More importantly, oversampling significantly improved the prediction of the high level effort, from 31% to around 85%. Conclusions: This paper shows the importance of tying software failures to changes made to fix all associated faults, in one or more software components and/or in one or more software artifacts, and the benefit of studying how the spread of faults and other factors affect the fix implementation effort.

software fix implementation effort↗

Exploring New Frontiers in Space Communications: Enhancing Delay Tolerant Networking through Cloud and Containerization

The High-rate Delay Tolerant Networking (HDTN) project at NASA Glenn Research Center has developed software that enables more flexible, reliable, and efficient space internetworking by using modern computing techniques such as cloud services, microservices, network function virtualization, software defined networking, and a distributed architecture. HDTN is built upon the Bundle Protocol and related convergence layers which have been developed to mitigate the challenges of the space networking environment including long delays, asymmetric data rates, and intermittent connectivity. The HDTN implementation employs asynchronous message processing tasks which allow for non-blocking operations as well as deployment in both centralized and distributed architectures. This paper investigates deploying HDTN in a containerized approach on the NASA Goddard’s Mission Cloud Platform using Amazon Web Services Elastic Compute Cloud (EC2). Commercial cloud computing will lower operating costs, provide flexible resource allocation, and allow for interconnectivity between multiple NASA centers as well as external partners. Containerization using Docker will enable greater portability and scalability for HDTN to be deployed into a variety of environments. We discuss possible NASA missions and use-cases such as the Laser Communications Relay Demonstration (LCRD) where the services provided by HDTN (reliable transport, high-rate message processing, and store-and-forward capabilities) will be enhanced through cloud computing and containerization. In addition, we describe the HDTN architecture and possible microservice-based networking approaches that can be obtained via HDTN’s configuration capabilities. Finally, we detail the EC2 specifications needed to achieve data rates greater than 1 Gbps to support optical communication missions such as LCRD.

Blake LaFuente↗

Space life support engineering program

A comprehensive study to develop software to simulate the dynamic operation of water reclamation systems in long-term closed-loop life support systems is being carried out as part of an overall program for the design of systems for a moon station or a Mars voyage. This project is being done in parallel with a similar effort in the Department of Chemistry to develop durable accurate low-cost sensors for monitoring of trace chemical and biological species in recycled water supplies. Aspen-Plus software is being used on a group of high-performance work stations to develop the steady state descriptions for a number of existing technologies. Following completion, a dynamic simulation package will be developed for determining the response of such systems to changes in the metabolic needs of the crew and to upsets in system hardware performance.

Seagrave, Richard C.↗

RAPIDS2: A SciDAC Institute for Computer Science, Data, and Artificial Intelligence (University of Delaware)

This report summarizes the activities, technical accomplishments, and outcomes of the RAPIDS2 Institute project at the University of Delaware (UD). The RAPIDS2 Institute was a large multi-institution project with the objective of assisting SciDAC and Office of Science application teams in the use of DOE supercomputing resources to achieve scientific breakthroughs. The UD team contributed to this effort through work on formal software verification. This thrust aims to reduce software developer time and effort, especially regarding debugging and testing, and to increase confidence in the correctness of the results computed by the software.

97 MATHEMATICS AND COMPUTING↗

Operations analysis (study 2.1): Shuttle upper stage software requirements

An investigation of software costs related to space shuttle upper stage operations with emphasis on the additional costs attributable to space servicing was conducted. The questions and problem areas include the following: (1) the key parameters involved with software costs; (2) historical data for extrapolation of future costs; (3) elements of the basic software development effort that are applicable to servicing functions; (4) effect of multiple servicing on complexity of the operation; and (5) are recurring software costs significant. The results address these questions and provide a foundation for estimating software costs based on the costs of similar programs and a series of empirical factors.

Wolfe, R. R.↗

Implementation of an optimum profile guidance system on STOLAND

The implementation on the STOLAND airborne digital computer of an optimum profile guidance system for the augmentor wing jet STOL research aircraft is described. Major tasks were to implement the guidance and control logic to airborne computer software and to integrate the module with the existing STOLAND navigation, display, and autopilot routines. The optimum profile guidance system comprises an algorithm for synthesizing mimimum fuel trajectories for a wide range of starting positions in the terminal area and a control law for flying the aircraft automatically along the trajectory. The avionics software developed is described along with a FORTRAN program that was constructed to reflect the modular nature and algorthms implemented in the avionics software.

Flanagan, P. F.↗

Formal specification and verification of Ada software

The use of formal methods in software development achieves levels of quality assurance unobtainable by other means. The Larch approach to specification is described, and the specification of avionics software designed to implement the logic of a flight control system is given as an example. Penelope is described which is an Ada-verification environment. The Penelope user inputs mathematical definitions, Larch-style specifications and Ada code and performs machine-assisted proofs that the code obeys its specifications. As an example, the verification of a binary search function is considered. Emphasis is given to techniques assisting the reuse of a verification effort on modified code.

Hird, Geoffrey R.↗