Search NASA⌕ Search

SEARCH · Search NASA

Results for “functional programming”

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 73 records · Page 4

Automatically parallelizing batch inference on deep neural networks using Fiats and Fortran 2023 `do concurrent`

This paper introduces novel programming strategies that leverage features of the Fortran 2023 standard of the International Standards Organization (ISO) to automatically parallelize computations on deep neural networks. The paper focuses on the interplay of object-oriented, parallel, and functional programming paradigms in the Fiats deep learning library. We demonstrate how several infrequently used language features play a role in enabling efficient, parallel execution. Specifically, the ability to explicitly declare that a procedure is pure facilitates inference in the context of the language’s loop-parallelism construct `do concurrent`. Also, explicitly prohibiting the overriding of a parent type’s type-bound procedures eliminates the need for dynamic dispatch in performance-critical code. Finally, this paper uses batch inference calculations on a neural network surrogate for atmospheric aerosol dynamics to demonstrate that LLVM Flang compiler’s automatic parallelization of `do concurrent` achieves roughly the same performance and scalability as achieved by OpenMP compiler directives. We also demonstrate that double-precision inference costs 37–72% longer runtime than default-real precision with most values in the range 57-60%.

Rouson, Damian↗

CADAT integrated circuit artwork program

Versatile, ready-to-use program (ARTWORK) converts artwork data into mask patterns. ARTWORK generates signals for controlling mask-fabricating equipment. Extensive utility package enables user to create new pattern libraries, develop and incorporate new cells, and perform systems orientation functions. Program is written in FORTRAN IV.

Kvelthau, R. L.↗

Orion Script Generator

NASA Engineering's Orion Script Generator (OSG) is a program designed to run on Exploration Flight Test One Software. The script generator creates a SuperScript file that, when run, accepts the filename for a listing of Compact Unique Identifiers (CUIs). These CUIs will correspond to different variables on the Orion spacecraft, such as the temperature of a component X, the active or inactive status of another component Y, and so on. OSG will use a linked database to retrieve the value for each CUI, such as "100 05," "True," and so on. Finally, OSG writes SuperScript code to display each of these variables before outputting the ssi file that allows recipients to view a graphical representation of Orion Flight Test One's status through these variables. This project's main challenge was creating flexible software that accepts and transfers many types of data, from Boolean (true or false) values to "Unsigned Long Long'' values (any number from 0 to 18,446,744,073,709,551,615). We also needed to allow bit manipulation for each variable, requiring us to program functions that could convert any of the multiple types of data into binary code. Throughout the project, we explored different methods to optimize the speed of working with the CUI database and long binary numbers. For example, the program handled extended binary numbers much more efficiently when we stored them as collections of Boolean values (true or false representing 1 or 0) instead of as collections of character strings or numbers. We also strove to make OSG as user-friendly and accommodating of different needs as possible its default behavior is to display a current CUI's maximum value and minimum value with three to five intermediate values in between, all in descending order. Fortunately, users can also add other input on the same lines as each CUI name to request different high values, low values, display options (ascending, sine, and so on), and interval sizes for generating intermediate values. Developing input validation took up quite a bit of time, but OSG's flexibility in the end was worth it.

Dooling, Robert J.↗

Reference earth orbital research and applications investigations (blue book). Volume 1: Summary

The criteria, guidelines, and an organized approach for use in the space station and space shuttle program definition phase are presented. Subjects discussed are: (1) background information and evolution of the studies, (2) definition of terms used, (3) concepts of the space shuttle, space station, experiment modules, shuttle-sortie operations and modular space station, and (4) summary of functional program element (FPE) requirements. Diagrams of the various configurations and the experimental equipment to be installed in the structures are included.

Source record↗

Solid rocket motor cost model

A systematic and standardized procedure for estimating life cycle costs of solid rocket motor booster configurations. The model consists of clearly defined cost categories and appropriate cost equations in which cost is related to program and hardware parameters. Cost estimating relationships are generally based on analogous experience. In this model the experience drawn on is from estimates prepared by the study contractors. Contractors' estimates are derived by means of engineering estimates for some predetermined level of detail of the SRM hardware and program functions of the system life cycle. This method is frequently referred to as bottom-up. A parametric cost analysis is a useful technique when rapid estimates are required. This is particularly true during the planning stages of a system when hardware designs and program definition are conceptual and constantly changing as the selection process, which includes cost comparisons or trade-offs, is performed. The use of cost estimating relationships also facilitates the performance of cost sensitivity studies in which relative and comparable cost comparisons are significant.

Harney, A. G.↗

Review of NASA's Exploration Technology Development Program: An Interim Report

NASA requested that a committee under the auspices of the National Research Council's Aeronautics and Space Engineering Board carry out an assessment of NASA's Exploration Technology Development Program (ETDP). Organizationally, this program functions under the direction of NASA's Exploration Systems Mission Directorate and is charged with developing new technologies that will enable NASA to conduct future human and robotic exploration missions, while reducing mission risk and cost. The Committee to Review NASA's Exploration Technology Development Program has been tasked to examine how well the program is aligned with the stated objectives of the President's Vision for Space Exploration (VSE), to identify gaps in the program, and to assess the quality of the research. The full statement of task is given in Appendix A. The committee consists of 25 members and includes a cross section of senior executives, engineers, researchers, and other aerospace professionals drawn from industry, universities, and government agencies with expertise in virtually all the technical fields represented within the program.

Source record↗

Los Alamos National Laboratory Nuclear Material Management and Storage Program: Storage Health Metrics

The Strategic Materials Sustainment Program (SMSP) supports activities needed to manage the National Nuclear Security Administration’s (NNSA) inventory of strategic materials. As part of the SMSP, the Nuclear Material Management and Storage (NMM&S) program at the Los Alamos National Laboratory (LANL) is responsible for: (1) safe and secure storage of the SMSP strategic materials and others, (2) analysis, forecasting, and management of accountable nuclear materials; and (3) disposition of nuclear material through the Office of Nuclear Materials Integration (ONMI). The nuclear material management (NMM) mission is to ensure efficient nuclear material management lifecycle activities at LANL. The storage program function includes the management of storage capabilities across the site, supply chain management of nuclear materials, storage requirements integration, and nuclear container management (i.e., procurement, compliance, and safety). This report identifies key performance indicators (KPI) and describes the criteria and metrics used to assess the health of the storage component of the NMM&S program. “Health” is the ability of a process, system, facility, or program to safely and reliably accomplish its required mission. A health assessment provides timely identification of significant risks to enable mission performance. Significant risks identified are most effectively mitigated, avoided, or eliminated by evaluating and coordinating with stakeholders to specifically target, document, and often proceduralize strategies directed towards risk reduction. An effective health assessment involves status measurements of specific metrics that are tied directly to representative KPIs for a program. This document will baseline the KPI, criteria, and specific metrics that will be used to measure the “health” of the LANL Storage Program (i.e., NMM is not included).

11 NUCLEAR FUEL CYCLE AND FUEL MATERIALS↗

Reference earth orbital research and applications investigations (blue book). Volume 8: Life sciences

The functional program element for the life sciences facilities to operate aboard manned space stations is presented. The life sciences investigations will consist of the following subjects: (1) medical research, (2) vertebrate research, (3) plant research, (4) cells and tissue research, (5) invertebrate research, (6) life support and protection, and (7) man-system integration. The equipment required to provide the desired functional capability for the research facilities is defined. The goals and objectives of each research facility are described.

Source record↗

The path towards functional nanoparticle-DNA origami composites

Nanoparticles (NPs) hold tremendous promise for diverse applications infields such as imaging, sensing, nanorobotics, and for optical and electronic materials. These applications often require precisely controlled interactions between multiple NPs or between NPs and other components. Hence, the organization of NPs into composite materials has been an active area of research. DNA origami nanotechnology offers a promising path forward with unparalleled control over complex nanoscale geometry and functionalization, programmed dynamic and mechanical properties, stimulus response to local or externally applied triggers, and capability of assembly into higher-order 1D, 2D, or 3D materials. Furthermore, DNA origami self-assembly is rapid and scalable, overcoming limitations of top-down NP organization methods. In this review, we outline the challenges, recent advances, and opportunities for NP-DNA origami composites. We go into depth on aspects of DNA origami that enhance materials function, such as dynamic actuation, and we discuss practical aspects involved in making NP-DNA composites. Whereas the vast majority of research in NP-DNA origami composite synthesis focuses on gold NPs, these methods can be generalized to other DNA-coated NPs, and therefore more broadly establish a path towards functional NP-DNA origami composites. We envision this review will serve as a guide to materials science and engineering researchers to pursue new materials based on NP-DNA composites.

77 NANOSCIENCE AND NANOTECHNOLOGY↗

Knowledge-based machine indexing from natural language text: Knowledge base design, development, and maintenance

One strategy for machine-aided indexing (MAI) is to provide a concept-level analysis of the textual elements of documents or document abstracts. In such systems, natural-language phrases are analyzed in order to identify and classify concepts related to a particular subject domain. The overall performance of these MAI systems is largely dependent on the quality and comprehensiveness of their knowledge bases. These knowledge bases function to (1) define the relations between a controlled indexing vocabulary and natural language expressions; (2) provide a simple mechanism for disambiguation and the determination of relevancy; and (3) allow the extension of concept-hierarchical structure to all elements of the knowledge file. After a brief description of the NASA Machine-Aided Indexing system, concerns related to the development and maintenance of MAI knowledge bases are discussed. Particular emphasis is given to statistically-based text analysis tools designed to aid the knowledge base developer. One such tool, the Knowledge Base Building (KBB) program, presents the domain expert with a well-filtered list of synonyms and conceptually-related phrases for each thesaurus concept. Another tool, the Knowledge Base Maintenance (KBM) program, functions to identify areas of the knowledge base affected by changes in the conceptual domain (for example, the addition of a new thesaurus term). An alternate use of the KBM as an aid in thesaurus construction is also discussed.

Genuardi, Michael T.↗

Biocomposite thermoplastic polyurethanes containing evolved bacterial spores as living fillers to facilitate polymer disintegration

The field of hybrid engineered living materials seeks to pair living organisms with synthetic materials to generate biocomposite materials with augmented function since living systems can provide highly-programmable and complex behavior. Engineered living materials have typically been fabricated using techniques in benign aqueous environments, limiting their application. In this work, biocomposite fabrication is demonstrated in which spores from polymer-degrading bacteria are incorporated into a thermoplastic polyurethane using high-temperature melt extrusion. Bacteria are engineered using adaptive laboratory evolution to improve their heat tolerance to ensure nearly complete cell survivability during manufacturing at 135 °C. Furthermore, the overall tensile properties of spore-filled thermoplastic polyurethanes are substantially improved, resulting in a significant improvement in toughness. The biocomposites facilitate disintegration in compost in the absence of a microbe-rich environment. Finally, embedded spores demonstrate a rationally programmed function, expressing green fluorescent protein. This research provides a scalable method to fabricate advanced biocomposite materials in industrially-compatible processes.

36 MATERIALS SCIENCE↗

Mars Science Laboratory Focused Technology Program Overview

This paper describes how the MSL-FT program functions to ensure that the needed technology is identified, developed, matured to TRL 6, and infused in the MSL mission, in a systematic fashion that will meet the mission's objectives innovatively and within budget. The paper describes the mission's technical and project challenges, and outlines the process, procedures, tools and people involved in meeting those challenges. The paper also discusses the technology certification process required to demonstrate that technology deliverables perform adequately and in a predictable fashion to successful infusion into the MSL Flight System.

program management↗

WORM (Write One, Read Many)

WORM (Write One, Run Many) is an easy to use, cross platform, embedded and extensible, functional programming language designed to facilitate the creation of input-decks for computer codes that use standard ASCII text files for input. WORM makes it easy to create generic (yet, complex and powerful) reusable models. Additionally its nature allows for complex calculations and routines to be coded once and easily reused, further simplifying the creation of input decks. WORM (Write One, Run Many) is a powerful and versatile tool designed to improve the efficiency of today’s criticality safety analyst by allowing: + input decks for parametric studies to be created quickly and easily, + calculations and variables to be imbedded into any input deck, thus allowing for meaningful parameter specifications, + problems to be specified using any combination of units, and + complex mathematically defined models to be created. A very simple syntax is employed, and therefore the WORM is easy to learn. A WORM model is essentially a standard input deck with some of its numerical values replaced by WORM code. WORM code may include and evaluate the following mathematical operators and functions: addition, subtraction, multiplication, division, exponentiation, modulus, sine, cosine, tangent, arcsine, arccosine, arctangent, the natural logarithm, logarithm base 10, integer truncation, absolute value, and random number. Several common constants, e.g., pi, e, and Avogadros’s Number (both as 6.022e23 and 0.6022), are predefined in WORM. Additionally, many unit conversion factors are also predefined: millimeters, meters, inches, feet, yards, and mils to centimeters; kilograms, pounds, and ounces to grams; liters, milliliters, gallons, and fluid ounces to cubic centimeters; and angular degrees to radians. For parametric studies, WORM supports various shorthand list specifications: the explicit step size, linear interpolation, and logarithmic interpolation. The list notation sequentially assigns multiple values to a name. WORM creates an input deck for each value of the name. If multiple lists are used, WORM steps through each list individually, i.e., WORM creates input decks corresponding to each and every permutation of the list values. Additionally, a library of standard material definitions and Perl subroutines are included. Any one of these files can be incorporated into the subject model with a simple WORM read command. WORM is completely written in Perl, the Practical Extraction and Reporting Language. Perl is one of the most portable programming languages available today. As such, the WORM works on practically any computer platform.

Sartor, Raymond↗

Proximal Galerkin: A Structure-Preserving Finite Element Method for Pointwise Bound Constraints

The proximal Galerkin finite element method is a high-order, low iteration complexity, nonlinear numerical method that preserves the geometric and algebraic structure of pointwise bound constraints in infinite-dimensional function spaces. This paper introduces the proximal Galerkin method and applies it to solve free boundary problems, enforce discrete maximum principles, and develop a scalable, mesh-independent algorithm for optimal design with pointwise bound constraints. This paper also introduces the latent variable proximal point (LVPP) algorithm, from which the proximal Galerkin method derives. When analyzing the classical obstacle problem, we discover that the underlying variational inequality can be replaced by a sequence of second-order partial differential equations (PDEs) that are readily discretized and solved with, e.g., the proximal Galerkin method. Throughout this work, we arrive at several contributions that may be of independent interest. These include (1) a semilinear PDE we refer to as the entropic Poisson equation; (2) an algebraic/geometric connection between high-order positivity-preserving discretizations and certain infinite-dimensional Lie groups; and (3) a gradient-based, bound-preserving algorithm for two-field, density-based topology optimization. The complete proximal Galerkin methodology combines ideas from nonlinear programming, functional analysis, tropical algebra, and differential geometry and can potentially lead to new synergies among these areas as well as within variational and numerical analysis. Open-source implementations of our methods accompany this work to facilitate reproduction and broader adoption.

97 MATHEMATICS AND COMPUTING↗

Tikiri—Towards a lightweight blockchain for IoT

Internet of Things (IoT) platforms have been deployed in several domains to enhance efficiency of business process and improve productivity. Most IoT platforms comprise of heterogeneous software and hardware components which can potentially introduce security and privacy challenges. Blockchain technology has been proposed as one of the solutions to realize IoT security by leveraging the (a) Immutable ledger, (b) Decentralized architecture and (c) Strong cryptography primitives. However, integrating blockchain platforms with IoT based applications presents several challenges due to lack of (a) acceptable performance on resource-constrained devices, (b) high transaction throughput, (c) keyword-based search and retrieve, (d) transaction back pressure operations, and (e) real-time response. In this paper, we propose a lightweight blockchain platform, “Tikiri”, for resource-constrained IoT devices. Tikiri uses Apache Kafka for the consensus and proposes new blockchain architecture to handle real-time transaction execution on the blockchain. Tikiri is characterized by functional programming and actor-based smart contract platform that realizes concurrent execution of transactions in the blockchain. Tikiri realizes a lightweight and scalable blockchain that can provides performance on the resource-constrained IoT devices.

97 MATHEMATICS AND COMPUTING↗

Rahasak—Scalable blockchain architecture for enterprise applications

Blockchain-based decentralized infrastructure has been adapted in various industries to handle the sensitive data in a privacy-preserving manner without trusting third parties. However, integrating state-of-the-art blockchain platforms with the scalable, enterprise-level applications result in several challenges. Current blockchain platforms do not support high transaction throughput, lack high scalability, and cannot provide real-time transaction processing and back-pressure operation handling in high transaction throughput applications(e.g Big data, IoT). In this paper, we propose a novel permissioned blockchain platform “Rahasak” for highly scalable, enterprise applications. Rahasak blockchain adopts the Apache Kafka-based consensus on top of a “Validate-Execute-Group” blockchain architecture to handle realtime transaction execution on the blockchain. The architecture is equipped with a functional programming and actor-based smart contract platform that enables concurrent execution of transactions in the blockchain. Rahasak supports high transaction throughput, high scalability, concurrent transaction execution, data analytics features. Finally, with Rahasak, we make blockchain more scalable, secure, structured and meaningful for further data analytics.

97 MATHEMATICS AND COMPUTING↗

A SQL to C compiler in 500 lines of code

Abstract We present the design and implementation of a SQL query processor that outperforms existing database systems and is written in just about 500 lines of Scala code – a convincing case study that high-level functional programming can handily beat C for systems-level programming where the last drop of performance matters. The key enabler is a shift in perspective toward generative programming. The core of the query engine is an interpreter for relational-algebra operations, written in Scala. Using the open-source lightweight modular staging framework, we turn this interpreter into a query compiler with very low effort. To do so, we capitalize on an old and widely known result from partial evaluation: the first Futamura projection, which states that a process that can specialize an interpreter to any given input program is equivalent to a compiler. In this context, we discuss lightweight modular staging programming patterns such as mixed-stage data structures (e.g., data records with static schema and dynamic field components) and techniques to generate low-level C code, including specialized data structures and data loading primitives.

Computer Science↗