Search NASA⌕ Search

SEARCH · Search NASA

Results for “software development practice”

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 163 records · Page 9

Propulsion system-flight control integration and optimization: Flight evaluation and technology transition

Integration of propulsion and flight control systems and their optimization offers significant performance improvements. Research programs were conducted which have developed new propulsion and flight control integration concepts, implemented designs on high-performance airplanes, demonstrated these designs in flight, and measured the performance improvements. These programs, first on the YF-12 airplane, and later on the F-15, demonstrated increased thrust, reduced fuel consumption, increased engine life, and improved airplane performance; with improvements in the 5 to 10 percent range achieved with integration and with no changes to hardware. The design, software and hardware developments, and testing requirements were shown to be practical.

Burcham, Frank W., Jr.↗

Survey - Applications of structural optimization methods to fixed wing aircraft and spacecraft

Results of a technical survey of the practical applications of structural optimization methods in the U.S. aerospace industry through 1980s are summarized. One of the most important developments in the 80s is the more widespread acceptance of structural optimization as one of the design tools that support practical structural design. Another significant advance is the development of large software tools for production applications. Attention is also given to the tailoring of the computerized design process to the specific environment of each company. The two most important aspects of this tailoring are seamless and easy-to-use incorporation of structural optimization in the overall aerospace design/production process and multidisciplinary integration aimed at ultimate performance optimization of the final product. Some specific applications discussed include the X-29 forward swept wing demonstrator aircraft, composite wing and vertical tail program, fighter wing redesign evaluations, high speed aircraft design, and space structures.

Miura, Hirokazu↗

NASA Near Earth Network (NEN) DVB-S2 Demonstration Testing for Enhancing Higher Data Rates for CubeSat/Small Satellite Missions at X-/Ka-band

National Aeronautics and Space Administration (NASA) CubeSat/SmallSat missions are moving to higher data rates. Digital Video Broadcast, Satellite Second Generation (DVB-S2) is a communications standard that uses power and bandwidth efficient modulation and coding techniques to deliver performance approaching radio frequency (RF) channel theoretical limits. The Near Earth Network (NEN) will test DVB-S2’s ability to provide higher data rates for CubeSat/SmallSat missions at X-band and Ka-band at Wallops Flight Facility (WFF). The goal is to upgrade the NEN with DVB-S2 to increase science data return for missions and enable support for more CubeSat/SmallSat missions. This paper describes NEN DVB-S2 X-band and Ka-band demonstration objectives, scope, and performance measures as well as NEN channel test configuration. The NEN has planned 2020 tests to demonstrate all modulation and coding schemes in the Consultative Committee for Space Data Systems (CCSDS) DVB-S2 standard over X-band and Ka-band. A link analysis study for the trade-offs among achievable data rates, modulations, codes, spacecraft antenna sizes and power amplifiers (PA) is provided. This paper identifies Commercial off-the-shelf (COTS) CubeSat/SmallSat X-band and Ka-band communication systems and discusses low cost DVB-S2 X-band software defined radio (SDR) transmitter development concepts and implementation with a practical system for CubeSats/SmallSats.

Yen Wong↗

MPATH (Measuring Performance for Autonomy Teaming with Humans) Ground Control Station: Design Approach and Initial Usability Results

Envisioned future Advanced Air Mobility (AAM) operations will require a transition of aircraft command and control from onboard pilots to remote operators. The National Aeronautics and Space Administration (NASA) has developed a research ground control station (GCS) software called MPATH (Measuring Performance for Autonomy Teaming with Humans) to study the human factors of remote operators in a representative AAM environment, where small uncrewed aerial systems (sUAS; simulated or real) act as surrogates for larger AAM aircraft. A primary focus of the research being conducted with the MPATH GCS is scalability (i.e., one human managing multiple vehicles). MPATH has demonstrated to be a useful capability for human factors research and remote operations. Two initial usability studies and a multi-vehicle control assessment were recently conducted, and usability data and operator feedback were collected. Generally, participants rated MPATH high on usability and interface quality, whereas information quality was rated slightly lower. These results were supported by specific feedback. Several generalized GCS design recommendations are proposed based on the results and feedback from these flight activities. Future updates to MPATH will incorporate the proposed recommendations. In practice, these recommendations could be used by any GCS software designer or developer to promote usability and safety.

Advanced Air Mobility↗

Enhancing the Quality and Reliability of Machine Learning Interatomic Potentials through Better Reporting Practices

Recent developments in machine learning interatomic potentials (MLIPs) have empowered even nonexperts in machine learning to train MLIPs for accelerating materials simulations. However, reproducibility and independent evaluation of presented MLIP results is hindered by a lack of clear standards in current literature. In this Perspective, we aim to provide guidance on best practices for documenting MLIP use while walking the reader through the development and deployment of MLIPs including hardware and software requirements, generating training data, training models, validating predictions, and MLIP inference. We also suggest useful plotting practices and analyses to validate and boost confidence in the deployed models. Finally, we provide a step-by-step checklist for practitioners to use directly before publication to standardize the information to be reported. Altogether, we hope that our work will encourage the reliable and reproducible use of these MLIPs, which will accelerate their ability to make a positive impact in various disciplines including materials science, chemistry, and biology, among others.

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗

Tool Use Within NASA Software Quality Assurance

As space mission software systems become larger and more complex, it is increasingly important for the software assurance effort to have the ability to effectively assess both the artifacts produced during software system development and the development process itself. Conceptually, assurance is a straightforward idea - it is the result of activities carried out by an organization independent of the software developers to better inform project management of potential technical and programmatic risks, and thus increase management's confidence in the decisions they ultimately make. In practice, effective assurance for large, complex systems often entails assessing large, complex software artifacts (e.g., requirements specifications, architectural descriptions) as well as substantial amounts of unstructured information (e.g., anomaly reports resulting from testing activities during development). In such an environment, assurance engineers can benefit greatly from appropriate tool support. In order to do so, an assurance organization will need accurate and timely information on the tool support available for various types of assurance activities. In this paper, we investigate the current use of tool support for assurance organizations within NASA, and describe on-going work at JPL for providing assurance organizations with the information about tools they need to use them effectively.

software assurance↗

Best practices for documenting a scientific Python project

Documentation is a crucial component of software development that helps users with installation and usage of the software. Documentation also helps onboard new developers to a software project with contributing guidelines and API information. The INTERSECT project is an open federated hardware/software library to facilitate the development of au- tonomous laboratories. A documentation strategy using Sphinx has been utilized to help developers contribute to source code and to help users understand the INTERSECT Python interface. Docstrings as well as reStructuredText files are used by Sphinx to automatically compile HTML and PDF files which can be hosted online as API documentation and user guides. The resulting documentation website is automatically built and deployed using GitLab runners to create Docker containers with NGINX servers. The approach discussed in this paper to automatically deploy documentation for a Python project can improve the user and developer experience for many scientific projects.

Wiggins, Gavin↗

Test Driven Development of Scientific Models

Test-Driven Development (TDD) is a software development process that promises many advantages for developer productivity and has become widely accepted among professional software engineers. As the name suggests, TDD practitioners alternate between writing short automated tests and producing code that passes those tests. Although this overly simplified description will undoubtedly sound prohibitively burdensome to many uninitiated developers, the advent of powerful unit-testing frameworks greatly reduces the effort required to produce and routinely execute suites of tests. By testimony, many developers find TDD to be addicting after only a few days of exposure, and find it unthinkable to return to previous practices. Of course, scientific/technical software differs from other software categories in a number of important respects, but I nonetheless believe that TDD is quite applicable to the development of such software and has the potential to significantly improve programmer productivity and code quality within the scientific community. After a detailed introduction to TDD, I will present the experience within the Software Systems Support Office (SSSO) in applying the technique to various scientific applications. This discussion will emphasize the various direct and indirect benefits as well as some of the difficulties and limitations of the methodology. I will conclude with a brief description of pFUnit, a unit testing framework I co-developed to support test-driven development of parallel Fortran applications.

Clune, Thomas L.↗

Better together: Elements of successful scientific software development in a distributed collaborative community

Many scientific disciplines rely on computational methods for data analysis, model generation, and prediction. Implementing these methods is often accomplished by researchers with domain expertise but without formal training in software engineering or computer science. This arrangement has led to underappreciation of sustainability and maintainability of scientific software tools developed in academic environments. Some software tools have avoided this fate, including the scientific library Rosetta. We use this software and its community as a case study to show how modern software development can be accomplished successfully, irrespective of subject area. Rosetta is one of the largest software suites for macromolecular modeling, with 3.1 million lines of code and many state-of-the-art applications. Since the mid 1990s, the software has been developed collaboratively by the RosettaCommons, a community of academics from over 60 institutions worldwide with diverse backgrounds including chemistry, biology, physiology, physics, engineering, mathematics, and computer science. Developing this software suite has provided us with more than two decades of experience in how to effectively develop advanced scientific software in a global community with hundreds of contributors. Here we illustrate the functioning of this development community by addressing technical aspects (like version control, testing, and maintenance), community-building strategies, diversity efforts, software dissemination, and user support. We demonstrate how modern computational research can thrive in a distributed collaborative community. The practices described here are independent of subject area and can be readily adopted by other software development communities

97 MATHEMATICS AND COMPUTING↗

Controlling Air Conditioners for Frequency Regulation: A Real-World Example

Even though thermostatically controlled loads like air conditioners present a great potential for providing ancillary services to the electric power grid, the practical challenges associated with their real-time coordination have not received the necessary attention. In this work, we present a nondisruptive load control application, specifically, we demonstrate how real residential air conditioners can provide frequency regulation. Aggregate power adjustment is achieved by modifying the ON/OFF modes of the air conditioners. To account for both single and multi-zone houses, we extend the currently available techniques and develop an approach that can be used for controlling aggregations that include both types of houses. A discussion of the practical challenges encountered in our field experiments is provided, along with the hardware and software approaches we developed to circumvent them. Here, we argue that limitations of current thermostat APIs introduce significant challenges and are an impediment to widespread adoption of fast load control applications.

24 POWER TRANSMISSION AND DISTRIBUTION↗

Precision navigation for approach and landing operations.

This paper summarizes some of the practical considerations and implementation techniques used in the development of the onboard software for an experimental navigation system. This software includes (1) a Kalman filter implementation in square-root form with gyro and accelerometer noises modeled as random forcing functions in the filter; (2) operational modes for inflight alignment, ground alignment, normal aided inertial navigation operation, and postflight analysis; (3) a sophisticated time-sharing system for obtaining a very flexible input-output capability during real-time operations; and (4) a problem formulation and scaling for complete operation in single-precision arithmetic using a 24-bit word. The paper emphasizes the procedures used in formulation, scaling, and time-sharing for the real-time Kalman filter application. Some flight results are presented to illustrate the performance of the filter during real-time operation.

Schmidt, S. F.↗

Earth and Space Science Informatics Perspectives on Integrated, Coordinated, Open, Networked (ICON) Science

Abstract This article is composed of three independent commentaries about the state of Integrated, Coordinated, Open, Networked (ICON) principles (Goldman, et al., 2021b, https://doi.org/10.1029/2021EO153180 ) in Earth and Space Science Informatics (ESSI) and includes discussion on the opportunities and challenges of adopting them. Each commentary focuses on a different topic: (Section 2) Global collaboration, cyberinfrastructure, and data sharing; (Section 3) Machine learning for multiscale modeling; (Section 4) Aerial and satellite remote sensing for advancing Earth system model development by integrating field and ancillary data. ESSI addresses data management practices, computation and analysis, and hardware and software infrastructure. Our role in ICON science therefore involves collaborative work to assess, design, implement, and promote practices and tools that enable effective data management, discovery, integration, and reuse for interdisciplinary work in Earth and space science disciplines. Networks of diverse people with expertise across Earth, space, and data science disciplines are essential for efficient and ethical exchanges of findable, accessible, interoperable, and reusable (FAIR) research products and practices. Our challenge is then to coordinate the development of standards, curation practices, and tools that enable integrating and reusing multiple data types, software, multi‐scale models, and machine learning approaches across disciplines in a way that is as open and/or FAIR as ethically possible. This is a major endeavor that could greatly increase the pace and potential of interdisciplinary scientific discovery.

58 GEOSCIENCES↗

SCOS 2: An object oriented software development approach

The Spacecraft Control and Operations System 2 (SCOS 2), is intended to provide the generic mission control system infrastructure for future ESA missions. It represents a bold step forward in order to take advantage of state-of-the-art technology and current practices in the area of software engineering. Key features include: (1) use of object oriented analysis and design techniques; (2) use of UNIX, C++ and a distributed architecture as the enabling implementation technology; (3) goal of re-use for development, maintenance and mission specific software implementation; and (4) introduction of the concept of a spacecraft control model. This paper touches upon some of the traditional beliefs surrounding Object Oriented development and describes their relevance to SCOS 2. It gives rationale for why particular approaches were adopted and others not, and describes the impact of these decisions. The development approach followed is discussed, highlighting the evolutionary nature of the overall process and the iterative nature of the various tasks carried out. The emphasis of this paper is on the process of the development with the following being covered: (1) the three phases of the SCOS 2 project - prototyping & analysis, design & implementation and configuration / delivery of mission specific systems; (2) the close cooperation and continual interaction with the users during the development; (3) the management approach - the split between client staff, industry and some of the required project management activities; (4) the lifecycle adopted being an enhancement of the ESA PSS-05 standard with SCOS 2 specific activities and approaches defined; and (5) an examination of some of the difficulties encountered and the solutions adopted. Finally, the lessons learned from the SCOS 2 experience are highlighted, identifying those issues to be used as feedback into future developments of this nature. This paper does not intend to describe the finished product and its operation, but focusing on the journey to arrive there, concentrating therefore on the process and not the products of the SCOS 2 software development.

Symonds, Martin↗

An Object Model for a Rocket Engine Numerical Simulator

Rocket Engine Numerical Simulator (RENS) is a packet of software which numerically simulates the behavior of a rocket engine. Different parameters of the components of an engine is the input to these programs. Depending on these given parameters the programs output the behaviors of those components. These behavioral values are then used to guide the design of or to diagnose a model of a rocket engine "built" by a composition of these programs simulating different components of the engine system. In order to use this software package effectively one needs to have a flexible model of a rocket engine. These programs simulating different components then should be plugged into this modular representation. Our project is to develop an object based model of such an engine system. We are following an iterative and incremental approach in developing the model, as is the standard practice in the area of object oriented design and analysis of softwares. This process involves three stages: object modeling to represent the components and sub-components of a rocket engine, dynamic modeling to capture the temporal and behavioral aspects of the system, and functional modeling to represent the transformational aspects. This article reports on the first phase of our activity under a grant (RENS) from the NASA Lewis Research center. We have utilized Rambaugh's object modeling technique and the tool UML for this purpose. The classes of a rocket engine propulsion system are developed and some of them are presented in this report. The next step, developing a dynamic model for RENS, is also touched upon here. In this paper we will also discuss the advantages of using object-based modeling for developing this type of an integrated simulator over other tools like an expert systems shell or a procedural language, e.g., FORTRAN. Attempts have been made in the past to use such techniques.

Mitra, D.↗

Exascale workflow applications and middleware: An ExaWorks retrospective

Exascale computers offer transformative capabilities to combine data-driven and learning-based approaches with traditional simulation applications to accelerate scientific discovery and insight. However, these software combinations and integrations are difficult to achieve due to the challenges of coordinating and deploying heterogeneous software components on diverse and massive platforms. Here, we present the ExaWorks project, which addresses many of these challenges. We developed a workflow Software Development Toolkit (SDK), a curated collection of workflow technologies that can be composed and interoperated through a common interface, engineered following current best practices, and specifically designed to work on HPC platforms. ExaWorks also developed PSI/J, a job management abstraction API, to simplify the construction of portable software components and applications that can be used over various HPC schedulers. The PSI/J API is a minimal interface for submitting and monitoring jobs and their execution state across multiple and commonly used HPC schedulers. We also describe several leading and innovative workflow examples of ExaWorks tools used on DOE leadership platforms. Furthermore, we discuss how our project is working with the workflow community, large computing facilities, and HPC platform vendors to address the requirements of workflows sustainably at the exascale.

97 MATHEMATICS AND COMPUTING↗