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,081 records · Page 60

Source Pre-Processor or Interface-Specification Language

A user's guide available for source program pre-processor (SPP) method for producing descriptions of data structures or records. SPP enhances usefulness of Program Design Language (PDL) - software-design tool decreases debugging time and improves quality of source programs.

Luebkert, W. J.↗

F-Nets and Software Cabling: Deriving a Formal Model and Language for Portable Parallel Programming

Parallel programming is still being based upon antiquated sequence-based definitions of the terms "algorithm" and "computation", resulting in programs which are architecture dependent and difficult to design and analyze. By focusing on obstacles inherent in existing practice, a more portable model is derived here, which is then formalized into a model called Soviets which utilizes a combination of imperative and functional styles. This formalization suggests more general notions of algorithm and computation, as well as insights into the meaning of structured programming in a parallel setting. To illustrate how these principles can be applied, a very-high-level graphical architecture-independent parallel language, called Software Cabling, is described, with many of the features normally expected from today's computer languages (e.g. data abstraction, data parallelism, and object-based programming constructs).

DiNucci, David C.↗

Flexible language constructs for large parallel programs

The goal of the research described is to develop flexible language constructs for writing large data parallel numerical programs for distributed memory (MIMD) multiprocessors. Previously, several models have been developed to support synchronization and communication. Models for global synchronization include SIMD (Single Instruction Multiple Data), SPMD (Single Program Multiple Data), and sequential programs annotated with data distribution statements. The two primary models for communication include implicit communication based on shared memory and explicit communication based on messages. None of these models by themselves seem sufficient to permit the natural and efficient expression of the variety of algorithms that occur in large scientific computations. An overview of a new language that combines many of these programming models in a clean manner is given. This is done in a modular fashion such that different models can be combined to support large programs. Within a module, the selection of a model depends on the algorithm and its efficiency requirements. An overview of the language and discussion of some of the critical implementation details is given.

Rosing, Matthew↗

TraceContract

TraceContract is an API (Application Programming Interface) for trace analysis. A trace is a sequence of events, and can, for example, be generated by a running program, instrumented appropriately to generate events. An event can be any data object. An example of a trace is a log file containing events that a programmer has found important to record during a program execution. Trace - Contract takes as input such a trace together with a specification formulated using the API and reports on any violations of the specification, potentially calling code (reactions) to be executed when violations are detected. The software is developed as an internal DSL (Domain Specific Language) in the Scala programming language. Scala is a relatively new programming language that is specifically convenient for defining such internal DSLs due to a number of language characteristics. This includes Scala s elegant combination of object-oriented and functional programming, a succinct notation, and an advanced type system. The DSL offers a combination of data-parameterized state machines and temporal logic, which is novel. As an extension of Scala, it is a very expressive and convenient log file analysis framework.

Kavelund, Klaus↗

Radiation shielding properties of barite coated fabric by computer programme

With the development of technology radiation started to be used in variety of different fields. As the radiation is hazardous for human health, it is important to keep radiation dose as low as possible. This is done mainly using shielding materials. Barite is one of the important materials in this purpose. As the barite is not used directly it can be used in some other materials such as fabric. For this purposes barite has been coated on fabric in order to improve radiation shielding properties of fabric. Determination of radiation shielding properties of coated fabric has been done by using computer program written C# language. With this program the images obtained from digital Rontgen films is used to determine radiation shielding properties in terms of image processing numerical values. Those values define radiation shielding and in this way the coated barite effect on radiation shielding properties of fabric has been obtained.

07 ISOTOPE AND RADIATION SOURCES↗

Nasa pert time ii

Compiler language for NASA PERT Time II COMPUTER processing

PERT PROJECT↗

Sonic boom research

A computer program for CDC 6600 is developed for the nonlinear sonic boom analysis including the asymmetric effect of lift near the vertical plane of symmetry. The program is written in FORTRAN 4 language. This program carries out the numerical integration of the nonlinear governing equations from the input data at a finite distance from the airplane configuration at a flight altitude to yield the pressure signitude at ground. The required input data and the format for the output are described. A complete program listing and a sample calculation are given.

Zakkay, V.↗

Software for Better Documentation of Other Software

The Literate Programming Extraction Engine is a Practical Extraction and Reporting Language- (PERL-)based computer program that facilitates and simplifies the implementation of a concept of self-documented literate programming in a fashion tailored to the typical needs of scientists. The advantage for the programmer is that documentation and source code are written side-by-side in the same file, reducing the likelihood that the documentation will be inconsistent with the code and improving the verification that the code performs its intended functions. The advantage for the user is the knowledge that the documentation matches the software because they come from the same file. This program unifies the documentation process for a variety of programming languages, including C, C++, and several versions of FORTRAN. This program can process the documentation in any markup language, and incorporates the LaTeX typesetting software. The program includes sample Makefile scripts for automating both the code-compilation (when appropriate) and documentation-generation processes into a single command-line statement. Also included are macro instructions for the Emacs display-editor software, making it easy for a programmer to toggle between editing in a code or a documentation mode.

Pinedo, John↗

A Case Study on the HACCmk Routine in SYCL on Integrated Graphics

As opposed to the Open Computing Language (OpenCL) programming model in which host and device codes are generally written in different languages, the SYCL programming model can combine host and device codes for an application in a type-safe way to improve development productivity. In this paper, we chose the HACCmk routine, a representative compute-bound kernel, as a case study on the performance of the SYCL programming model targeting a heterogeneous computing device. More specifically, we introduced the SYCL programming model, presented the OpenCL and SYCL implementations of the routine, and compared the performance of the two implementations using the offline and online compilation on Intel (R) Iris (TM) Pro integrated GPUs. We found that the overhead of online compilation may become significant compared to the execution time of a kernel. Compared to the performance of OpenCL implementations, the SYCL implementation can maintain the performance using the offline compilation. The number of execution units in a GPU are critical to improving the raw performance of a compute-bound kernel.

Compilation modes↗

User's guide to resin infusion simulation program in the FORTRAN language

RTMCL is a user friendly computer code which simulates the manufacture of fabric composites by the resin infusion process. The computer code is based on the process simulation model described in reference 1. Included in the user's guide is a detailed step by step description of how to run the program and enter and modify the input data set. Sample input and output files are included along with an explanation of the results. Finally, a complete listing of the program is provided.

Weideman, Mark H.↗

Diving into the Data Plane of Delay Tolerant Networks

This presentation details early research towards applying data plane programming and software defined networking (SDN) to delay tolerant networking (DTN). This involved using the Programming Protocol-Independent Packet Processors (P4) language to program the data plane to handle DTN bundles natively in hardware. The results presented include a proof of concept DTN Bundle Protocol (BP) translator network middlebox, the challenges of programming a data plane to process BP, a software-defined DTN (SDDTN) architecture, and potential future applications of SDDTN. It is demonstrated that SDN and the P4 language has high potential for improving the scalability of DTN networks, although further research must be done to enable this.

Dominick Ta↗

Programming real-time executives in higher order language

Methods by which real-time executive programs can be implemented in a higher order language are discussed, using HAL/S and Path Pascal languages as program examples. Techniques are presented by which noncyclic tasks can readily be incorporated into the executive system. Situations are shown where the executive system can fail to meet its task scheduling and yet be able to recover either by rephasing the clock or stacking the information for later processing. The concept of deadline processing is shown to enable more effective mixing of time and information synchronized systems.

Foudriat, E. C.↗

CNC Module for Turning: A New CAM Application

The integrated CAM application for the KOMPAS-3D environment known as CNC Module for Turning is considered. This application permits automated development of control programs for numerically controlled lathes. The user may readily adapt the CAM application for specific production conditions and machine tools, thanks to features such as the following: representation of the cutting tools by means of parametric 3D models, the possibility of including fixed CNC cycles in the control programs, and the use of the Python language for programming of the postprocessors.

42 ENGINEERING↗

On multichannel film dosimetry with channel-independent perturbations

Purpose: Different multichannel methods for film dosimetry have been proposed in the literature. Two of them are the weighted mean method and the method put forth byMicke et al. [“Multichannel film dosimetry with nonuniformity correction,” Med. Phys. 38, 2523–2534 (2011)] and Mayer et al. [“Enhanced dosimetry procedures and assessment for EBT2 radiochromic film,” Med. Phys. 39, 2147–2155 (2012)]. The purpose of this work was to compare their results and to develop a generalized channel-independent perturbations framework in which both methods enter as special cases. Methods: Four models of channel-independent perturbations were compared: weighted mean, Micke–Mayer method, uniform distribution, and truncated normal distribution. A closed-form formula to calculate film doses and the associated type B uncertainty for all four models was deduced. To evaluate the models, film dose distributions were compared with planned and measured dose distributions. At the same time, several elements of the dosimetry process were compared: film type EBT2 versus EBT3, different waiting-time windows, reflection mode versus transmission mode scanning, and planned versus measured dose distribution for film calibration and for γ-index analysis. The methods and the models described in this study are publicly accessible through IRISEU. Alpha 1.1 ( http://www.iriseu.com ). IRISEU. is a cloud computing web application for calibration and dosimetry of radiochromic films. Results: The truncated normal distribution model provided the best agreement between film and reference doses, both for calibration and γ-index verification, and proved itself superior to both the weighted mean model, which neglects correlations between the channels, and the Micke–Mayer model, whose accuracy depends on the properties of the sensitometric curves. With respect to the selection of dosimetry protocol, no significant differences were found between transmission and reflection mode scanning, between 75 ± 5 min and 20 ± 1 h waiting-time windows or between employing EBT2 or EBT3 films. Significantly better results were obtained when a measured dose distribution was used instead of a planned one as reference for the calibration, and when a planned dose distribution was used instead of a measured one as evaluation for the γ-analysis. Conclusions: The truncated normal distribution model of channel-independent perturbations was found superior to the other three models under comparison and the authors propose its use for multichannel dosimetry.

61 RADIATION PROTECTION AND DOSIMETRY↗

A user-friendly menu-driven language-free laser characteristics curves graphing program

In the selection of laser materials to be used as active sensors, it is essential to know how various factors of the specific material composition interact. Questions such as how does the rod size and frequency or absorption relate and how might this be affected by temperature variations must be answered before the materials are selected. A menu-driven language-free program was developed that would graph the interrelationship of many physical parameters of laser materials. This program reduced or removed the requirement that all users be competent in FORTRAN. A menu-driven language-free program was then developed that requires the use of a microcomputer to graph a two-dimensional display of data. The ability to graph more than one graph-line on the same chart was accomplished. The program is now generic in that it will take any data file whether in the data base or not. The program generates the format for the data read statement if it is not contained in the file header and the user does not know how to write them.

Klutz, Glenn↗

Retargetable Optimizing Compilers for Quantum Accelerators via a Multi-Level Intermediate Representation

In this work, we present a multi-level quantum-classical intermediate representation (IR) that enables an optimizing, retargetable compiler for available quantum languages. Our work builds upon the Multi-level Intermediate Representation (MLIR) framework and leverages its unique progressive lowering capabilities to map quantum languages to the LLVM machine-level IR. We provide both quantum and classical optimizations via the MLIR pattern rewriting sub-system and standard LLVM optimization passes, and demonstrate the programmability, compilation, and execution of our approach via standard benchmarks and test cases. In comparison to other standalone language and compiler efforts available today, our work results in compile times that are 1000x faster than standard Pythonic approaches, and 5-10x faster than comparative standalone quantum language compilers. Our compiler provides quantum resource optimizations via standard programming patterns that result in a 10x reduction in entangling operations, a common source of program noise. We see this work as a vehicle for rapid quantum compiler prototyping.

43 PARTICLE ACCELERATORS↗

Benefits of using Electronic Data Sheets (EDS) with coreFlight Systems (cFS) - A Project Example

Recently there has been interest in the incorporation of core Flight Systems (cFS) with Spacecraft Onboard Interface Services (SOIS) Electronic Data Sheets (EDS) in the spaceflight software community. The Regenerative Fuel Cell project at the Glenn Research Center is using cFS architecture with EDS support for its monitoring and control software. The presentation will outline the benefits to using cFS with EDS support: First, EDS establishes a single source of truth for the definitions of data structures used throughout an entire mission that may otherwise be programmed in different languages and designed with different processor architectures. Not only does this help with inter-application communication via the software bus, but it also greatly simplifies communication between systems. An EDS Application Programming Interface (API) library allows the conversion of EDS data structures to and from native data structures. Second, bindings for other programming languages (e.g. Lua, Python, JSON) have been written to allow the creation and manipulation of EDS data objects within those languages. The RFC project uses Lua scripts to automatically generate binary configuration files at build time to be loaded into our cFS programs. We also use Python bindings in a graphical user interface (GUI) to allow an operator to send commands and view telemetry messages sent from cFS instances. Finally, using Lua scripts we can set up specific simulation scenarios to perform automatic functional testing. During the development of the RFC software, the software team put together a generic python GUI called “cFS-EDS-GroundStation” that provides a basic interface to an instance of cFS with EDS support. The GUI includes a basic telecommand and telemetry system that reads directly from the generated EDS databases. In the telecommand system, dropdown menus are populated with all user commands that are defined in EDS. In the telemetry system, telemetry messages are automatically decoded, written to the screen, and saved to a binary file. Additional Python scripts have been written to convert the binary data files into a comma separated value (CSV) format for further processing. We will demonstrate the basic use of the cFS-EDS-GroundStation software including adding additional commands and telemetry payload values in EDS and see them appear automatically in the cFS-EDS-Groundstation software. About the RFC project: The Regenerative Fuel Cell project is tasked with developing and demonstrating a power system consisting of a fuel cell and electrolyzer to provide power during a lunar day/night cycle. During the night, the fuel cell takes Hydrogen and Oxygen gasses and converts them into electricity, water, and heat. During the day, the electrolyzer takes input power (e.g. from a photovoltaic array) and converts water back into Hydrogen and Oxygen gasses.

Mathew Mccaskey↗

JACC: Leveraging HPC Meta-Programming and Performance Portability with the Just-in-Time and LLVM-based Julia Language

We present JACC (Julia for Accelerators), the first high-level, and performance-portable model for the just-in-time and LLVM-based Julia language. JACC provides a unified and lightweight front end across different back ends available in Julia, enabling the same Julia code to run efficiently on many HPC CPU and GPU targets. We evaluated the performance of JACC for common HPC kernels as well as for the most computationally demanding kernels used in applications, HPCCG, a supercomputing benchmark test for sparse domains, and HARVEY, a blood flow simulator to assist in the diagnosis and treatment of patients suffering from vascular diseases. We carried out the performance analysis on the most advanced US DOE supercomputers: Aurora, Frontier, and Perlmutter. Overall, we show that JACC has a negligible overhead versus vendor-specific solutions, reporting GPU speedups with no extra cost to programmability.

Valero-Lara, Pedro↗