Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “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,225 records · Page 68

Framework for Extensible, Asynchronous Task Scheduling (FEATS) in Fortran

Most parallel scientific programs contain compiler directives (pragmas) such as those from OpenMP, explicit calls to runtime library procedures such as those implementing the Message Passing Interface (MPI), or compiler-specific language extensions such as those provided by CUDA. By contrast, the recent Fortran standards empower developers to express parallel algorithms without directly referencing lower-level parallel programming models. Fortran’s parallel features place the language within the Partitioned Global Address Space (PGAS) class of programming models. When writing programs that exploit data-parallelism, application developers often find it straightforward to develop custom parallel algorithms. Problems involving complex, heterogeneous, staged calculations, however, pose much greater challenges. Such applications require careful coordination of tasks in a manner that respects dependencies prescribed by a directed acyclic graph. When rolling one’s own solution proves difficult, extending a customizable framework becomes attractive. The paper presents the design, implementation, and use of the Framework for Extensible Asynchronous Task Scheduling (FEATS), which we believe to be the first task-scheduling tool written in modern Fortran. We describe the benefits and compromises associated with choosing Fortran as the implementation language, and we propose ways in which future Fortran standards can best support the use case in this paper.

Richardson, Brad↗

AI-powered topic modeling: comparing LDA and BERTopic in analyzing opioid-related cardiovascular risks in women

Topic modeling is a crucial technique in natural language processing (NLP), enabling the extraction of latent themes from large text corpora. Traditional topic modeling, such as Latent Dirichlet Allocation (LDA), faces limitations in capturing the semantic relationships in the text document although it has been widely applied in text mining. BERTopic, created in 2022, leveraged advances in deep learning and can capture the contextual relationships between words. In this work, we integrated Artificial Intelligence (AI) modules to LDA and BERTopic and provided a comprehensive comparison on the analysis of prescription opioid-related cardiovascular risks in women. Opioid use can increase the risk of cardiovascular problems in women such as arrhythmia, hypotension etc. 1,837 abstracts were retrieved and downloaded from PubMed as of April 2024 using three Medical Subject Headings (MeSH) words: “opioid,” “cardiovascular,” and “women.” Machine Learning of Language Toolkit (MALLET) was employed for the implementation of LDA. BioBERT was used for document embedding in BERTopic. Eighteen was selected as the optimal topic number for MALLET and 23 for BERTopic. ChatGPT-4-Turbo was integrated to interpret and compare the results. The short descriptions created by ChatGPT for each topic from LDA and BERTopic were highly correlated, and the performance accuracies of LDA and BERTopic were similar as determined by expert manual reviews of the abstracts grouped by their predominant topics. The results of the t-SNE (t-distributed Stochastic Neighbor Embedding) plots showed that the clusters created from BERTopic were more compact and well-separated, representing improved coherence and distinctiveness between the topics. Our findings indicated that AI algorithms could augment both traditional and contemporary topic modeling techniques. In addition, BERTopic has the connection port for ChatGPT-4-Turbo or other large language models in its algorithm for automatic interpretation, while with LDA interpretation must be manually, and needs special procedures for data pre-processing and stop words exclusion. Therefore, while LDA remains valuable for large-scale text analysis with resource constraints, AI-assisted BERTopic offers significant advantages in providing the enhanced interpretability and the improved semantic coherence for extracting valuable insights from textual data.

Research & Experimental Medicine↗

SCIMON: Scientific Inspiration Machines Optimized for Novelty

We explore and enhance the ability of neu- ral language models to generate novel scien- tific directions grounded in literature. Work on literature-based hypothesis generation has traditionally focused on binary link prediction— severely limiting the expressivity of hypothe- ses. This line of work also does not focus on optimizing novelty. We take a dramatic depar- ture with a novel setting in which models use as input background contexts (e.g., problems, experimental settings, goals), and output natu- ral language ideas grounded in literature. We present SCIMON, a modeling framework that uses retrieval of “inspirations” from past scien- tific papers, and explicitly optimizes for novelty by iteratively comparing to prior papers and up- dating idea suggestions until sufficient novelty is achieved. Comprehensive evaluations reveal that GPT-4 tends to generate ideas with over- all low technical depth and novelty, while our methods partially mitigate this issue. Our work represents a first step toward evaluating and developing language models that generate new ideas derived from the scientific literature.

Ji, Heng↗

Comparing the Performance of Julia on CPUs versus GPUs and Julia-MPI versus Fortran-MPI: a case study with MPAS-Ocean (Version 7.1)

Abstract. Some programming languages are easy to develop at the cost of slow execution, while others are fast at runtime but much more difficult to write. Julia is a programming language that aims to be the best of both worlds – a development and production language at the same time. To test Julia's utility in scientific high-performance computing (HPC), we built an unstructured-mesh shallow water model in Julia and compared it against an established Fortran-MPI ocean model, the Model for Prediction Across Scales–Ocean (MPAS-Ocean), as well as a Python shallow water code. Three versions of the Julia shallow water code were created: for single-core CPU, graphics processing unit (GPU), and Message Passing Interface (MPI) CPU clusters. Comparing identical simulations revealed that our first version of the Julia model was 13 times faster than Python using NumPy, where both used an unthreaded single-core CPU. Further Julia optimizations, including static typing and removing implicit memory allocations, provided an additional 10–20× speed-up of the single-core CPU Julia model. The GPU-accelerated Julia code was almost identical in terms of performance to the MPI parallelized code on 64 processes, an unexpected result for such different architectures. Parallelized Julia-MPI performance was identical to Fortran-MPI MPAS-Ocean for low processor counts and ranges from 2× faster to 2× slower for higher processor counts. Our experience is that Julia development is fast and convenient for prototyping but that Julia requires further investment and expertise to be competitive with compiled codes. We provide advice on Julia code optimization for HPC systems.

54 ENVIRONMENTAL SCIENCES↗

Ballistocardiography, a Bibliography <1877 - 1964<

The publication of this bibliography on Ballistocardiography, NASA SP-7021 (FAA AM 65-15) fulfills a long-standing requirement for a comprehensive and retrospective collection of references on a subject that is of particular interest to medical investigators and cardiovascular physiologists engaged in aerospace studies. Ballistocardiography is a technique for producing a graphical representation of repetitive motions of the human body arising from the sudden ejection of blood into the great vessels with each heart beat. Standard ballistocardiographic techniques are emphasized in the references included in the bibliography, but attention is also given to several related methods that are used to record these phenomena and to the equipment and instrumentation employed in such investigations. The format of the citations in NASA SP-7021 (FAA AM 65-15) was chosen to resemble, as closely as possible, the format that is now being used in the Index Medicwl published by the National Library of Medicine, except that English titles of foreign language articles appear in parentheses instead of in brackets as they do in Index Medicus. In each case, an attempt was made to identify the language of the article, or the place of publication of the foreign language journal. Since the citations were gathered over a period of years and occasionally from sources which do not appear in standard indexes, complete information was not always available. Citations are arranged alphabetically by personal author. In a large measure, the comprehensivenes of this collection of references is due to information obtained from card files compiled and maintained by Dr. William R. Scarborough of the Georgetown Clinical Research Institute, Office of Aviation Medicine, FAA, supplemented by the private collections of Drs. Isaac Starr, Abraham Noordergraaf, and John L. Nickerson. Selection and preparation of individual references and general editing of the material was done by Dr. Scarborough, who received valuable assistance from Mrs. Claire Tedesco of the Medical Library Branch of the FAA Library. Final compilation and printing were completed under the supervision of NASA.

AEROSPACE MEDICINE↗

Translation of shuttle operations simulation from GPSS 2 to GPSS 1100

A method has been developed which enables a programmer to convert the General Purpose Systems Simulator (GPSS) 2 simulation language into the GPSS 1100 language. To accomplish the conversion, a translator deck is used in addition to hand changes made by the analyst after translation. The conversion of a particular GPSS 2 program used at the Marshall Space Flight Center (MSFC) is reported and major changes required for compatibility of the two languages are summerized. Validation of the GPSS 1100 model was completed by comparing the results of the GPSS 2 statistics to the converted 1100 model.

Marshall, A. J.↗

Terminal context in context-sensitive grammars.

Investigation of the conditions whereunder context-sensitive grammars generate context-free languages. The obtained results indicate that, if every noncontext-free rewriting rule of a context-sensitive grammar has as left context a string of terminal symbols and the left context is at least as long as the right context, then the language generated is context-free. Likewise, if every noncontext-free rewriting rule of a context-sensitive grammar has strings of terminal symbols as left and right contexts, then the language generated is also context-free.

Book, R. V.↗

Computers formed by the problems rather than problems deformed by the computers.

Description of an approach to computer programming which tries to minimize the time required for retranslation from the computer language into the language of the original process. A notion of a programmable network is introduced which allows the abstract machines that are a model of the processes in the user's mind to be put into a rigorous and simple form. Each process is then modeled as a particular finite-state machine, a circulating page loose system being employed as an architecture for implementing these finite-state machines. An experiment is discussed in which the use of abstract machines as a language for modeling processes, in conjunction with the use of a self-organizing computer, decreases user effort, eliminates the need for compilation, facilitates debugging, and decreases computer time.

Schaffner, M. R.↗

Automated Engineering Design (AED); An approach to automated documentation

The automated engineering design (AED) is reviewed, consisting of a high level systems programming language, a series of modular precoded subroutines, and a set of powerful software machine tools that effectively automate the production and design of new languages. AED is used primarily for development of problem and user-oriented languages. Software production phases are diagramed, and factors which inhibit effective documentation are evaluated.

Mcclure, C. W.↗

A new approach to telemetry data processing

An approach for a preprocessing system for telemetry data processing was developed. The philosophy of the approach is the development of a preprocessing system to interface with the main processor and relieve it of the burden of stripping information from a telemetry data stream. To accomplish this task, a telemetry preprocessing language was developed. Also, a hardware device for implementing the operation of this language was designed using a cellular logic module concept. In the development of the hardware device and the cellular logic module, a distributed form of control was implemented. This is accomplished by a technique of one-to-one intermodule communications and a set of privileged communication operations. By transferring this control state from module to module, the control function is dispersed through the system. A compiler for translating the preprocessing language statements into an operations table for the hardware device was also developed. Finally, to complete the system design and verify it, a simulator for the collular logic module was written using the APL/360 system.

Broglio, C. J.↗

Advancing HAL to an operational status

The development of the HAL language and the compiler implementation of the mathematical subset of the language have been completed. On-site support, training, and maintenance of this compiler were enlarged to broaden the implementation of HAL to include all features of the language specification for NASA manned space usage. A summary of activities associated with the HAL compiler for the UNIVAC 1108 is given.

Source record↗

NASA software specification and evaluation system design, part 1

The research to develop methods for reducing the effort expended in software and verification is reported. The development of a formal software requirements methodology, a formal specifications language, a programming language, a language preprocessor, and code analysis tools are discussed.

Source record↗

User's guide for SFTRAN/360

Extension and improvements made to SFTRAN, a structured-programming language are discussed. This improved language is implemented as a precompiler that translates from SFTRAN to FORTRAN. The SFTRAN language and its use are described. Time-Sharing System (TSS) command procedures were implemented that eliminate the complications of dealing with extra files and processing steps which the use of a precompiler would otherwise require. These command procedures are described and their use is illustrated by examples.

Fessler, T. E.↗

User's guide to SFTRAN/1100

Extensions and improvements were made to SFTRAN, a structured programming language. This language was implemented as a precompiler that translates from SFTRAN to FORTRAN. It was available to batch and conversational users of the UNIVAC 1100 computer system. The SFTRAN language and its use are described. In addition, conversational time-sharing system command subroutines were implemented that eliminated the complications of dealing with extra files and processing steps that the use of a precompiler would otherwise require. These command subroutines are reported, and their use is illustrated by examples.

Ford, W. F.↗

UNIX as an environment for producing numerical software

The UNIX operating system supports a number of software tools; a mathematical equation-setting language, a phototypesetting language, a FORTRAN preprocessor language, a text editor, and a command interpreter. The design, implementation, documentation, and maintenance of a portable FORTRAN test of the floating-point arithmetic unit of a computer is used to illustrate these tools at work.

Schryer, N. L.↗

Programming in HAL/S

HAL/S is a computer programming language; it is a representation for algorithms which can be interpreted by either a person or a computer. HAL/S compilers transform blocks of HAL/S code into machine language which can then be directly executed by a computer. When the machine language is executed, the algorithm specified by the HAL/S code (source) is performed. This document describes how to read and write HAL/S source.

Ryer, M. J.↗

Interpretive computer simulator for the NASA Standard Spacecraft Computer-2 (NSSC-2)

An Interpretive Computer Simulator (ICS) for the NASA Standard Spacecraft Computer-II (NSSC-II) was developed as a code verification and testing tool for the Annular Suspension and Pointing System (ASPS) project. The simulator is written in the higher level language PASCAL and implented on the CDC CYBER series computer system. It is supported by a metal assembler, a linkage loader for the NSSC-II, and a utility library to meet the application requirements. The architectural design of the NSSC-II is that of an IBM System/360 (S/360) and supports all but four instructions of the S/360 standard instruction set. The structural design of the ICS is described with emphasis on the design differences between it and the NSSC-II hardware. The program flow is diagrammed, with the function of each procedure being defined; the instruction implementation is discussed in broad terms; and the instruction timings used in the ICS are listed. An example of the steps required to process an assembly level language program on the ICS is included. The example illustrates the control cards necessary to assemble, load, and execute assembly language code; the sample program to to be executed; the executable load module produced by the loader; and the resulting output produced by the ICS.

Smith, R. S.↗

A vehicle for developing standards for simulation programming

The objective of SDDL (Software Design and Documentation Language) is to provide an effective communications medium to support the design and documentation of complex software applications. This objective is met by providing (1) a processor which can express design specifications in an intelligible, informative, machine-reproducible document, (2) a design and documentation language with forms and syntax that are simple, unrestrictive, and communicative, and (3) methodology for effective use of the language and processor. The application of SDDL to the specific problems of simulation models is discussed, with emphasis on the potential of SDDL for developing and specifying design and documentation standards for simulation and modeling.

Kleine, H.↗