Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “programming language”

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 1,279 records · Page 71

Database interfaces on NASA's heterogeneous distributed database system

The purpose of Distributed Access View Integrated Database (DAVID) interface module (Module 9: Resident Primitive Processing Package) is to provide data transfer between local DAVID systems and resident Data Base Management Systems (DBMSs). The result of current research is summarized. A detailed description of the interface module is provided. Several Pascal templates were constructed. The Resident Processor program was also developed. Even though it is designed for the Pascal templates, it can be modified for templates in other languages, such as C, without much difficulty. The Resident Processor itself can be written in any programming language. Since Module 5 routines are not ready yet, there is no way to test the interface module. However, simulation shows that the data base access programs produced by the Resident Processor do work according to the specifications.

Huang, Shou-Hsuan Stephen↗

Computer program of data reduction procedures for facilities using CO2-N2-O2-Ar equilibrium real-gas mixtures

Data reduction procedures for determining free-stream and post-normal-shock flow conditions are presented. These procedures are applicable to flows of CO2, N2, O2, Ar, or mixtures of these gases and include the effects of dissociation and ionization. The assumption of thermochemical equilibrium free-stream and post-normal-shock flow is made. Although derived primarily to meet the immediate needs of an expansion tube of a hot gas radiation research facility, these procedures are applicable to any supersonic or hypersonic test facility using these gases or mixtures thereof. The data reduction procedures are based on combinations of three of the following flow parameters measured in the immediate vicinity of the test section: (1) stagnation pressure behind normal shock, (2) free-stream static pressure, (3) stagnation-point heat-transfer rate, (4) free-stream velocity, and (5) free-stream density. Thus, these procedures do not depend explicitly upon measured or calculated upstream flow parameters. The procedures are incorporated into a single computer program written in FORTRAN IV language. A listing of this computer program is presented, along with a description of the inputs required and a sample of the data printout.

Miller, C. G., III↗

Performance on HPC Platforms Is Possible Without C++

Computing at large scales has become extremely challenging due to increasing heterogeneity in both hardware and software. More and more scientific workflows must tackle a range of scales and use machine learning and AI intertwined with more traditional numerical modeling methods, placing more demands on computational platforms. These constraints indicate a need to fundamentally rethink the way computational science is done and the tools that are needed to enable these complex workflows. The current set of C++-based solutions may not suffice, and relying exclusively upon C++ may not be the best option, especially because several newer languages and boutique solutions offer more robust design features to tackle the challenges of heterogeneity. In June 2023, we held a mini symposium that explored the use of newer languages and heterogeneity solutions that are not tied to C++ and that offer options beyond template metaprogramming and Parallel. For for performance and portability. In conclusion, we describe some of the presentations and discussion from the mini symposium in this article.

97 MATHEMATICS AND COMPUTING↗

Implementing High-Performance Geometric Multigrid Solver with Naturally Grained Messages

Structured-grid linear solvers often require manually packing and unpacking of communication data to achieve high performance.Orchestrating this process efficiently is challenging, labor-intensive, and potentially error-prone.In this paper, we explore an alternative approach that communicates the data with naturally grained messagesizes without manual packing and unpacking. This approach is the distributed analogue of shared-memory programming, taking advantage of the global addressspace in PGAS languages to provide substantial programming ease. However, its performance may suffer from the large number of small messages. We investigate theruntime support required in the UPC ++ library for this naturally grained version to close the performance gap between the two approaches and attain comparable performance at scale using the High-Performance Geometric Multgrid (HPGMG-FV) benchmark as a driver.

97 MATHEMATICS AND COMPUTING↗

Structured FORTRAN Preprocessor

SFTRAN3 supports structured programing in FORTRAN environment. Language intended particularly to support two aspects of structured programing -- nestable single-entry control structures and modularization and top-down organization of code. Code designed and written using these SFTRAN3 facilities have fewer initial errors, easier to understand and less expensive to maintain and modify.

Flynn, J. A.↗

Type-Safe Generic Programming in Fortran

When the Fortran language committee first collected requests for new language features for what has now become the Fortran 2023 standard, support for generic programming emerged as a top priority. However, due to the anticipated complexity, a dedicated committee subgroup was formed, and implementation of generic programming was purposely spread across two language release cycles -- aiming for what is internally referred to as F202Y. In this talk, I will begin with a brief overview of existing Fortran features that support generic programming and then proceed to a detailed examination of the plans for F202Y. This discussion will include motivating use cases, type-safe design goals, (probable) syntax, and a few simple examples. I conclude with a discussion on the likely limitations of generic programming in F202Y and my expectations for extended capabilities in the subsequent release, F203X.

Tom Clune↗

Alquimia

Alquimia provides a generic interface between flow and transport simulators (drivers) and biogeochemical reaction capabilities (engines). Alquimia consists of two parts: an application programming interface, API, and a wrapper library. The API describes in detail how information is exchanged between the driver and the engine. This includes the function call signatures and data structures required for implementing alquimia in a mixed language (C/C++/Fortran) programming environment. The library is an implementation of the documented API, providing an interface into the biogeochemistry routines supplied by other codes: Alquimia does not do any geochemical calculations. Version 1.0 provides interfaces to the open source codes (BSD) CrunchFlow/CrunchTope and (LGPL) PFLOTRAN. Version 1.0 meets the policies set forth by (and is part of) the Extreme-scale Scientific Software Development Kit, xSDK version 0.6.0.

Andre, Benjamin [Lawrence Berkeley National Lab. (↗

SURE reliability analysis: Program and mathematics

The SURE program is a new reliability analysis tool for ultrareliable computer system architectures. The computational methods on which the program is based provide an efficient means for computing accurate upper and lower bounds for the death state probabilities of a large class of semi-Markov models. Once a semi-Markov model is described using a simple input language, the SURE program automatically computes the upper and lower bounds on the probability of system failure. A parameter of the model can be specified as a variable over a range of values directing the SURE program to perform a sensitivity analysis automatically. This feature, along with the speed of the program, makes it especially useful as a design tool.

Butler, Ricky W.↗

StreamJIT: a commensal compiler for high-performance stream programming

There are many domain libraries, but despite the performance benefits of compilation, domain-specific languages are comparatively rare due to the high cost of implementing an optimizing compiler. We propose commensal compilation, a new strategy for compiling embedded domain-specific languages by reusing the massive investment in modern language virtual machine platforms. Commensal compilers use the host language's front-end, use host platform APIs that enable back-end optimizations by the host platform JIT, and use an autotuner for optimization selection. The cost of implementing a commensal compiler is only the cost of implementing the domain-specific optimizations. We demonstrate the concept by implementing a commensal compiler for the stream programming language StreamJIT atop the Java platform. Our compiler achieves performance 2.8 times better than the StreamIt native code (via GCC) compiler with considerably less implementation effort.

97 MATHEMATICS AND COMPUTING↗

Evaluation of verifiability in HAL/S

The ability of HAL/S to write verifiable programs, a characteristic which is highly desirable in aerospace applications, is lacking since many of the features of HAL/S do not lend themselves to existing verification techniques. The methods of language evaluation are described along with the means in which language features are evaluated for verifiability. These methods are applied in this study to various features of HAL/S to identify specific areas in which the language fails with respect to verifiability. Some conclusions are drawn for the design of programming languages for aerospace applications and ongoing work to identify a verifiable subset of HAL/S is described.

Young, W. D.↗

VAPEPS user's reference manual, version 5.0

This is the reference manual for the VibroAcoustic Payload Environment Prediction System (VAPEPS). The system consists of a computer program and a vibroacoustic database. The purpose of the system is to collect measurements of vibroacoustic data taken from flight events and ground tests, and to retrieve this data and provide a means of using the data to predict future payload environments. This manual describes the operating language of the program. Topics covered include database commands, Statistical Energy Analysis (SEA) prediction commands, stress prediction command, and general computational commands.

Park, D. M.↗

Economical graphics display system for flight simulation avionics

During the past academic year the focal point of this project has been to enhance the economical flight simulator system by incorporating it into the aero engineering educational environment. To accomplish this goal it was necessary to develop appropriate software modules that provide a foundation for student interaction with the system. In addition experiments had to be developed and tested to determine if they were appropriate for incorporation into the beginning flight simulation course, AERO-41B. For the most part these goals were accomplished. Experiments were developed and evaluated by graduate students. More work needs to be done in this area. The complexity and length of the experiments must be refined to match the programming experience of the target students. It was determined that few undergraduate students are ready to absorb the full extent and complexity of a real-time flight simulation. For this reason the experiments developed are designed to introduce basic computer architectures suitable for simulation, the programming environment and languages, the concept of math modules, evaluation of acquired data, and an introduction to the meaning of real-time. An overview is included of the system environment as it pertains to the students, an example of a flight simulation experiment performed by the students, and a summary of the executive programming modules created by the students to achieve a user-friendly multi-processor system suitable to an aero engineering educational program.

Source record↗

The SURE Reliability Analysis Program

The SURE program is a new reliability analysis tool for ultrareliable computer system architectures. The program is based on computational methods recently developed for the NASA Langley Research Center. These methods provide an efficient means for computing accurate upper and lower bounds for the death state probabilities of a large class of semi-Markov models. Once a semi-Markov model is described using a simple input language, the SURE program automatically computes the upper and lower bounds on the probability of system failure. A parameter of the model can be specified as a variable over a range of values directing the SURE program to perform a sensitivity analysis automatically. This feature, along with the speed of the program, makes it especially useful as a design tool.

Butler, R. W.↗

The SURE reliability analysis program

The SURE program is a new reliability tool for ultrareliable computer system architectures. The program is based on computational methods recently developed for the NASA Langley Research Center. These methods provide an efficient means for computing accurate upper and lower bounds for the death state probabilities of a large class of semi-Markov models. Once a semi-Markov model is described using a simple input language, the SURE program automatically computes the upper and lower bounds on the probability of system failure. A parameter of the model can be specified as a variable over a range of values directing the SURE program to perform a sensitivity analysis automatically. This feature, along with the speed of the program, makes it especially useful as a design tool.

Butler, R. W.↗

Programming input-output operations in FORTRAN on magnetic tape

The subprogram MTCFF was designed for carrying out input-output operations in FORTRAN on magnetic tape within the framework of the DOS ES EVM operation system. It is possible, by means of this subprogram, to perform any input-output operations of interest to the programmer such as recording and reading various control operations in the direct and reverse directions, even though for these purposes the facilities of the language FORTRAN itself are limited. The subprogram can also be used in programs written in other programming languages.

Gorokov, V. N.↗

Icing Research Tunnel

The Icing Research Tunnel in Building 11 at the NASA Glenn Research Center is committed to researching the effects of in flight icing on aircraft and testing ways to stop the formation of hazardous icing conditions on planes. During this summer, I worked here with Richard DelRosa, the lead engineer for this area. address one of the major concerns of aviation: icing conditions. During the war, many planes crashed (especially supply planes going over the.Himalayas) because ice built up in their wings and clogged the engines. To this day, it remains the largest ice tunnel in the world, with a test section that measures 6 feet high, 9 feet long, and 20 feet wide. It can simulate airspeeds from 50 to 300 miles per hour at temperatures as low as -50 Fahrenheit. Using these capabilities, IRT can simulate actual conditions at high altitudes. The first thing I did was creating a cross reference in Microsoft Excel. It lists commands for the DPU units that control the pressure and temperature variations in the tunnel, as well as the type of command (keyboard, multiplier, divide, etc). The cross reference also contains the algorithm for every command, and which page it is listed in on the control sheet (visual Auto-CAD graphs, which I helped to make). I actually spent most of the time on the computer using Auto-CAD. I drew a diagram of the entire icing tunnel and then drew diagrams of its various parts. Between my mentor and me, we have drawings of every part of it, from the spray bars to the thermocouples, power cabinets, input-output connectors for power systems, and layouts of various other machines. I was also responsible for drawing schematics for the Escort system (which controls the spray bars), the power system, DPUs, and other electrical systems. In my spare time, I am attempting to build and program the "toddler". Toddler is a walking robot that I have to program in PBASIC language. When complete, it should be able to walk on level terrain while avoiding obstacles in real-time. It features an infrared detector that can keep it from falling over edges, as well as follow or avoid a light source. The toddler is giving me a much better understanding of the basics of electronic circuitry and computer programming.

Chennault, Jonathan↗