Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “Programming 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 235 records · Page 13

Adventures in cFS Unit Testing: Examining the Past to Explain the Present with an Eye toward the Future

An overview of my experiences writing unit tests for various projects with a specific focus on my work unit testing core Flight System (cFS) applications. I recount some of the direct personal experiences I have had that showed me the utility of having done unit testing for my projects. Many of the tips, tricks and pitfalls encountered during my time writing unit tests for the cFS app, CF, are examined. I also compare and contrast my cFS unit testing development with that of a parallel project, in which I write unit tests using RSpec, a testing framework for the Ruby programming language. I impart my complete methodology behind the CF app unit testing effort and the rationale for why I did it that way. Then I give some ideas for how you can do your own unit testing for cFS applications. You will also learn about my hopes for how unit testing cFS applications can be done going forward from where we are now.

"unit testing"↗

Practical Implementation of GPU-based Computing at the Grid Edge for Resilience Scenarios

This paper presents a practical implementation of GPU-accelerated computing at the grid edge to enhance power system resilience through next-generation smart meters. Advanced Metering Infrastructure (AMI) systems rely predominantly on centralized processing architectures, which limit real-time response capabilities during grid disturbances. This work proposes the integration of GPU-enabled computational platforms directly within smart meter to enable local execution support for power system analytics, fault detection algorithms, and optimization routines. The proposed framework uses the Julia programming language to leverage highperformance parallel computing capabilities while maintaining code portability and development efficiency. We use two experimental scenarios to benchmark the computational feasibility of this approach: sparse linear system solutions representative of power flow analyses, and multi-stage production cost simulations incorporating unit commitment and economic dispatch operations. Results demonstrate that computationally intensive power system algorithms, such as those supporting resilience scenario calculations, can be effectively executed at the distribution edge using commercially available embedded GPU hardware. Keywords—GPU acceleration, edge computing, smart meters, grid resilience, AMI, resilience.

De Souza, Reubun [School of Electrical Engineering↗

A Novel Framework for Optimizing Ramping Capability of Hybrid Energy Storage Systems

Hybrid Energy Storage System has been widely applied in aerospace, electric vehicle, and microgrid applications. The advantages are that they include complimentary technologies with both high power and energy capabilities. HESS have the potential to be useful to the bulk power systems, for example to increase the value of energy produced by variable generation resource through enabling participation in ancillary service markets. Actualizing the benefits of HESSs requires optimizing the combined ramping capability of aggregated HESS resources. To provide quality ancillary service, source of HESSs locating at multiple sites of variable generation resource must be optimally sized and cohesively controlled. Optimizing aggregated resources can be formulated as an optimization problem. Successfully solving this problem not only requires using effective solution methods but also depends on accurately and rapidly setting the necessary parameters in the problem formula. This article proposes a novel framework with double-layer structure to solve the optimization problem of aggregating ramping capability. Program developed on the upper layer focuses on solving the optimization of aggregating ramping capability among multiple HESSs and is compatible with most existing optimization algorithms. Program on lower layer of the framework targets at optimizing the local control of a single HESS based on a thorough analytics of HESS operation strategy presented in this article. Result of local optimization is also provided to upper layer program for updating the parameters in formula of optimization problem. Real time hardware-in-the-loop test is conducted to verify the performance of the optimization framework developed. The work presented is expected to provide guidance for implementing this framework in practical operation.

Luo, Yushen↗

eCC++ : A Compiler Construction Framework for Embedded Domain-Specific Languages

eCC++ is a new compiler construction framework for embedding domain-specific programming languages within C++. That is, the host language is C++, the guest language is the DSL to be embedded in C++, and eCC++ is the tool that enables the embedding. The eCC++ framework is composed of three main components: a front-end, an API for program verification based on a functional and declarative intermediate representation (IR), and a Multi-Level Intermediate Representation (MLIR) code generator. The eCC++ front-end consists of a library of C++ classes and operators that can be used to define the guest language. Guest sources are compiled with any standard C++ compiler, and when run, the resulting executable generates an eCC++ IR representation of the program, which can be verified within the eCC++ framework. Finally, eCC++ allows for high-level and domain-specific optimizations before generating MLIR. In summary, eCC++ aims to act as a generic front-end that enables embedding guest languages into C++, and provides necessary compiler technology for program verification, targeting the existing capabilities in the MLIR infrastructure. The paper evaluates the eCC++ expressiveness and usability describing the process of embedding GraphIt, a high-performance graph language in C++.

Gonzalez Tallada, Marc↗

Achieving Maximum Integration Utilizing Requirements Flow Down

A robust and experienced systems engineering team is essential for a successful program. It is often a challenge to build a core systems engineering team early enough in a program to maximize integration and assure a common path for all supporting teams in a project. Ares I was no exception. During the planning of IVGVT, the team had many challenges including lack of: early identification of stakeholders, team training in NASA s system engineering practices, solid requirements flow down and a top down documentation strategy. The IVGVT team started test planning early in the program before the systems engineering framework had been matured due to an aggressive schedule. Therefore the IVGVT team increased their involvement in the Constellation systems engineering effort. Program level requirements were established that flowed down to IVGVT aligning all stakeholders to a common set of goals. The IVGVT team utilized the APPEL REQ Development Management course providing the team a NASA focused model to follow. The IVGVT team engaged directly with the model verification and validation process to assure that a solid set of requirements drove the need for the test event. The IVGVT team looked at the initial planning state, analyzed the current state and then produced recommendations for the ideal future state of a wide range of systems engineering functions and processes. Based on this analysis, the IVGVT team was able to produce a set of lessons learned and to provide suggestions for future programs or tests to use in their initial planning phase.

Archiable, Wes↗

Nasa's Advanced Information Systems Technology (AIST): Combining New Observing Strategies And Analytics Frameworks To Build Earth System

NASA's Advanced Information Systems Technology (AIST) Program is one of several Technology programs managed by the Earth Science Technology Office (ESTO) in the Earth Science Division (ESD). The AIST Program focuses on advanced information systems and novel computer science technologies that will be needed by NASA Earth Science in the next 5 to 10 years. The three main thrusts of the AIST Program deal with New Observing Strategies, Analytic Collaborative Frameworks and Earth System Digital Twins. This paper describes these three thrusts and how they work together to create future Earth Science information systems.

Jacqueline Le Moigne↗

A Framework for the Analysis of Compiler Optimizations

Compilers transform program source code to machine executable code. During this transformation, they perform a number of compiler optimizations to improve the performance of the generated executable code. Importantly, applying those optimizations depends on the source code structure, such as the parallel programming model used to parallelize an algorithm. Often, implementations of the same algorithm with different programming models have vastly different performance because the compiler optimized them differently. We create FAROS, a framework to structure and automate the analysis of compiler optimizations on programs. FAROS automates the building process, execution profiling, and analysis of compiler optimization of programs, through a configuration interface. It outputs compiler optimization reports to show which optimizations applied to which line of source code, leveraging compilation remarks output by the compiler. Also, FAROS supports benchmarking performance of different program versions by collecting execution time results. In this first release of FAROS, we provide a configuration file to analyze compiler optimization differences for sequential vs OpenMP compilation, including 38 programs consisting of HPC proxy/mini/large applications, and NAS and Rodina kernels for analysis.

Georgakoudis, Giorgis↗

Jackson, L., Johnson, M.B., Latrach, A., Grimes, D., Martinez, C., and Mclaughlin, J.F., 2024, Multidisciplinary geotechnical data collection, curation, and analysis for conformity with the regulatory framework for geologic carbon storage in Wyoming, USA: Geological Society of America Abstracts with Programs. Vol. 56, No. 5, 2024, doi: 10.1130/abs/2024AM-405024

Title: Multidisciplinary Geotechnical Data Collection, Curation, and Analysis for Conformity with the Regulatory Framework for Geologic Carbon Storage in Wyoming, USA. Text: Construction and operation of wells for geologic sequestration of carbon dioxide necessitate that they are permitted under the Environmental Protection Agency’s Underground Injection Control Class VI requirements. Class VI wells conform to stringent requirements to ensure long-term safety and integrity of the storage site and the protection of Underground Sources of Drinking Water. Entities pursuing Class VI permitting must provide comprehensive geologic site characterization, including regional geologic structure and stratigraphy, aquifer information, reservoir and confining unit geomechanical properties, geochemical analyses, assessment of trapping capacity and mechanisms, and a variety of other of multidisciplinary geotechnical data. The Wyoming Class VI Site Characterization Database Project is focused on developing a geologic site characterization database of geotechnical information, which has been compiled and verified from established, public databases/entities and scientific literature to expedite Class VI permitting in Sweetwater County within the Greater Green River Basin of southern Wyoming. The preliminary suite of compiled data from 14,000 wells includes 8,000 wells with logs and 7,250 wells with formation tops, ~70 wells with core data (e.g., X-Ray diffraction, petrographic, and petrophysical data), ~2,500 water analyses, ~740 seismic events data, and ~520 bottom-hole temperature measurements. Future work on—and stemming from—this project will include new core analyses, calculation and interpolation of subsurface temperature gradients, mechanical earth models, geochemical simulations, storage capacity estimation, stratigraphic column generation and correlation, and construction of subsurface maps. Finally, this work will help to inspire and facilitate subsurface data compilation and curation beyond Sweetwater County, Wyoming.

42 ENGINEERING↗

Auralization of Unsteady Rotor Noise Using a Solution to the Ffowcs Williams-Hawkings Equation

Auralization of unsteady helicopter flight operations is needed to better understand the impact of maneuvers on community noise. Previous source sound synthesis methods were based on interpolated data, which may lead to artifacts in generating sound for helicopter maneuvers where sound pressure directivity may change rapidly. In this paper, the source sound is synthesized at every time sample using a solution to the Ffowcs Williams-Hawkings Equation along the path of the emission angle between the source and a ground observer. The synthesized sound is then propagated to the ground observer for auralization. Since no interpolation is performed, maneuvers with rapidly changing sound pressure directivities may be more accurately synthesized and auralized. The framework for accomplishing this synthesis and auralization is described, which couples the Fundamental Rotorcraft Acoustic Modeling from Experiments, the second-generation Aircraft NOise Prediction Program, and the NASA Auralization Framework. Synthesis of a hovering rotor is presented to compare with previous synthesis methods. Two examples with a periodic signals are then presented to demonstrate synthesis and auralization of unsteady rotor noise.

Krishnamurthy, Siddhartha↗

Mixed Integer Programming and Heuristic Scheduling for Space Communication Networks

We developed framework and the mathematical formulation for optimizing communication network using mixed integer programming. The design yields a system that is much smaller, in search space size, when compared to the earlier approach. Our constrained network optimization takes into account the dynamics of link performance within the network along with mission and operation requirements. A unique penalty function is introduced to transform the mixed integer programming into the more manageable problem of searching in a continuous space. The constrained optimization problem was proposed to solve in two stages: first using the heuristic Particle Swarming Optimization algorithm to get a good initial starting point, and then feeding the result into the Sequential Quadratic Programming algorithm to achieve the final optimal schedule. We demonstrate the above planning and scheduling methodology with a scenario of 20 spacecraft and 3 ground stations of a Deep Space Network site. Our approach and framework have been simple and flexible so that problems with larger number of constraints and network can be easily adapted and solved.

Mixed Integer Programming↗

Closing the Gap Between Specification and Programming: VDM++ and SCALA

We argue that a modern programming language such as Scala offers a level of succinctness, which makes it suitable for program and systems specification as well as for high-level programming. We illustrate this by comparing the language with the Vdm++ specification language. The comparison also identifies areas where Scala perhaps could be improved, inspired by Vdm++. We furthermore illustrate Scala's potential as a specification language by augmenting it with a combination of parameterized state machines and temporal logic, defined as a library, thereby forming an expressive but simple runtime verification framework.

programming↗

PASS: A computer program for Preliminary Aircraft Structural Synthesis

A computer code for Preliminary Aircraft Structural Synthesis provides rapid and accurate analysis for aircraft structures that can be adequately modeled by beam finite elements. The philosophy used in developing the program was to provide a basic framework that can be used for structural synthesis. It is anticipated that a user will need to add detail to this framework in order to perform his specific task. With this philosophy in mind, the program was written so that it is easily divided into segments, thereby making it readily adaptable. The theoretical portion of this manual describes the basic structure of the program and details the development of the unique beam element that is used. The present capability of the algorithm is stated and suggestions are made regarding enhancements to this capability. User information is also given that provides an overview of the program's construction, identifies the required inputs, describes the program output, provides some comments on the program use, and exhibits results for a simple example.

Johnson, E. H.↗

ControlShell: A real-time software framework

The ControlShell system is a programming environment that enables the development and implementation of complex real-time software. It includes many building tools for complex systems, such as a graphical finite state machine (FSM) tool to provide strategic control. ControlShell has a component-based design, providing interface definitions and mechanisms for building real-time code modules along with providing basic data management. Some of the system-building tools incorporated in ControlShell are a graphical data flow editor, a component data requirement editor, and a state-machine editor. It also includes a distributed data flow package, an execution configuration manager, a matrix package, and an object database and dynamic binding facility. This paper presents an overview of ControlShell's architecture and examines the functions of several of its tools.

Schneider, Stanley A.↗

Infrastructure for Rapid Development of Java GUI Programs

The Java Application Shell (JAS) is a software framework that accelerates the development of Java graphical-user-interface (GUI) application programs by enabling the reuse of common, proven GUI elements, as distinguished from writing custom code for GUI elements. JAS is a software infrastructure upon which Java interactive application programs and graphical user interfaces (GUIs) for those programs can be built as sets of plug-ins. JAS provides an application- programming interface that is extensible by application-specific plugins that describe and encapsulate both specifications of a GUI and application-specific functionality tied to the specified GUI elements. The desired GUI elements are specified in Extensible Markup Language (XML) descriptions instead of in compiled code. JAS reads and interprets these descriptions, then creates and configures a corresponding GUI from a standard set of generic, reusable GUI elements. These elements are then attached (again, according to the XML descriptions) to application-specific compiled code and scripts. An application program constructed by use of JAS as its core can be extended by writing new plug-ins and replacing existing plug-ins. Thus, JAS solves many problems that Java programmers generally solve anew for each project, thereby reducing development and testing time.

Jones, Jeremy↗

Planetary geosciences, 1989-1990

NASA's Planetary Geosciences Programs (the Planetary Geology and Geophysics and the Planetary Material and Geochemistry Programs) provide support and an organizational framework for scientific research on solid bodies of the solar system. These research and analysis programs support scientific research aimed at increasing our understanding of the physical, chemical, and dynamic nature of the solid bodies of the solar system: the Moon, the terrestrial planets, the satellites of the outer planets, the rings, the asteroids, and the comets. This research is conducted using a variety of methods: laboratory experiments, theoretical approaches, data analysis, and Earth analog techniques. Through research supported by these programs, we are expanding our understanding of the origin and evolution of the solar system. This document is intended to provide an overview of the more significant scientific findings and discoveries made this year by scientists supported by the Planetary Geosciences Program. To a large degree, these results and discoveries are the measure of success of the programs.

Zuber, Maria T.↗

JaqalPaq v.1.1

Jaqal-pup (Jaqal Programming Utilities Project) is a high-level Python metaprogramming interface for Jaqal, a quantum programming language for near-term quantum hardware (see https://arxiv.org/abs/2003.09382 for a description of Jaqal). In addition to parsing and writing out Jaqal programs, it includes the ability to read in and write out quantum programs in other languages and frameworks, e.g. Qiskit (IBM), Quil (Rigetti), Cirq (Google), Q# (Microsoft), ProjectQ (ETH Zurich), and tket (Cambridge Quantum Computing). It implements a gate scheduler, an emulator of a small-scale quantum computer programmed using Jaqal, and tie-ins for other simulation back-ends. SAND2020-12710 M Sandia National Laboratories is a multimission laboratory managed and operated by National Technology & Engineering Solutions of Sandia, LLC, a wholly owned subsidiary of Honeywell International Inc., for the U.S. Department of Energy’s National Nuclear Security Administration under contract DE-NA0003525.

Russo, Antonio↗