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,621 records · Page 90

Econ's optimal decision model of wheat production and distribution-documentation

The report documents the computer programs written to implement the ECON optical decision model. The programs were written in APL, an extremely compact and powerful language particularly well suited to this model, which makes extensive use of matrix manipulations. The algorithms used are presented and listings of and descriptive information on the APL programs used are given. Possible changes in input data are also given.

Source record↗

Hybrid Programming for Near-Term Quantum Computing Systems

Recent computations involving quantum processing units (QPUs) have demonstrated a series of challenges inherent to hybrid classical-quantum programming, compilation, execution, and verification and validation. Despite considerable progress, system-level noise, limited low-level instructions sets, remote access models, and an overall lack of portability and classical integration presents near-term programming challenges that must be overcome in order to enable reliable scientific quantum computing and support robust hardware benchmarking. In this work, we draw on our experience in programming QPUs to identify common concerns and challenges, and detail best practices for mitigating these challenges within the current hybrid classical-quantum computing paradigm. Following this discussion, we introduce the XACC quantum compilation and execution framework as a hardware and language independent solution that addresses many of these hybrid programming challenges. XACC supports extensible methodologies for managing a variety of programming, compilation, and execution concerns across the increasingly diverse set of QPUs. We use recent nuclear physics simulations to illustrate how the framework mitigates programming, compilation, and execution challenges and manages the complex workflow present in QPU-enhanced scientific applications. Finally, we codify the resulting hybrid scientific computing workflow in order to identify key areas requiring future improvement.

Mccaskey, Alex↗

Developing Natural Language Processing and Supervised Learning Techniques to Classify Mars Tasks

As NASA's Human Research Program (HRP) prepares for long-duration Mars missions, understanding astronaut tasks is crucial. This study, conducted at NASA Glenn Research Center (GRC), employed Natural Language Processing (NLP) and machine learning techniques to analyze and classify Mars tasks. A list of 1,058 Mars tasks was provided by HRP experts including binary labeling of 18 Human System Task Categories (HSTCs). We developed an NLP model using Google's BERT language model to capture the semantic and syntactic nuances of these tasks. Supervised training was initially applied to a subset of the NLP-analyzed tasks to assess the model's effectiveness in classifying the remaining tasks. Incorporating HSTC descriptions significantly enhanced the classification accuracy for 9 out of the 18 HSTCs and reduced training time. To address the issue of severe class imbalance in the HSTC data, we introduced innovative weighting and sampling techniques for data augmentation. We then fine-tune BERT to implement a pairwise relatedness scoring method, allowing us to cluster tasks based on their relatedness and similarity, getting a step closer to labeling the tasks without supervision. In this presentation we guide you through data preprocessing, deciphering key syntax components using BERT, and performing supervised classification of the Mars tasks. This work showcases the potential use of advanced NLP techniques to analyze Mars missions to be incorporated into various crew health and performance analyses.

GenAI↗

TENEX SAIL

SAIL, a high level ALGOL language for the PDP-10, is extended to operate under the TENEX time sharing system without executing DEC system calls. A large set of TENEX oriented runtime routines are added to allow complete access to TENEX. The emphasis is on compatibility of programs across time sharing systems and integrity of the language.

Smith, R.↗

Digital techniques for processing Landsat imagery

An overview of the basic techniques used to process Landsat images with a digital computer, and the VICAR image processing software developed at JPL and available to users through the NASA sponsored COSMIC computer program distribution center is presented. Examples of subjective processing performed to improve the information display for the human observer, such as contrast enhancement, pseudocolor display and band rationing, and of quantitative processing using mathematical models, such as classification based on multispectral signatures of different areas within a given scene and geometric transformation of imagery into standard mapping projections are given. Examples are illustrated by Landsat scenes of the Andes mountains and Altyn-Tagh fault zone in China before and after contrast enhancement and classification of land use in Portland, Oregon. The VICAR image processing software system which consists of a language translator that simplifies execution of image processing programs and provides a general purpose format so that imagery from a variety of sources can be processed by the same basic set of general applications programs is described.

Green, W. B.↗

CLIPS, AppleEvents, and AppleScript: Integrating CLIPS with commercial software

Many of today's intelligent systems are comprised of several modules, perhaps written in different tools and languages, that together help solve the user's problem. These systems often employ a knowledge-based component that is not accessed directly by the user, but instead operates 'in the background' offering assistance to the user as necessary. In these types of modular systems, an efficient, flexible, and eady-to-use mechanism for sharing data between programs is crucial. To help permit transparent integration of CLIPS with other Macintosh applications, the AI Research Branch at NASA Ames Research Center has extended CLIPS to allow it to communicate transparently with other applications through two popular data-sharing mechanisms provided by the Macintosh operating system: Apple Events (a 'high-level' event mechanism for program-to-program communication), and AppleScript, a recently-released scripting language for the Macintosh. This capability permits other applications (running on either the same or a remote machine) to send a command to CLIPS, which then responds as if the command were typed into the CLIPS dialog window. Any result returned by the command is then automatically returned to the program that sent it. Likewise, CLIPS can send several types of Apple Events directly to other local or remote applications. This CLIPS system has been successfully integrated with a variety of commercial applications, including data collection programs, electronics forms packages, DBMS's, and email programs. These mechanisms can permit transparent user access to the knowledge base from within a commercial application, and allow a single copy of the knowledge base to service multiple users in a networked environment.

Compton, Michael M.↗

Problems and programming for analysis of IUE high resolution data for variability

Observations of variability in stellar winds provide an important probe of their dynamics. It is crucial however to know that any variability seen in a data set can be clearly attributed to the star and not to instrumental or data processing effects. In the course of analysis of IUE high resolution data of alpha Cam and other O, B and Wolf-Rayet stars several effects were found which cause spurious variability or spurious spectral features in our data. Programming was developed to partially compensate for these effects using the Interactive Data language (IDL) on the LASP PDP 11/34. Use of an interactive language such as IDL is particularly suited to analysis of variability data as it permits use of efficient programs coupled with the judgement of the scientist at each stage of processing.

Grady, C. A.↗

Programming distributed memory architectures using Kali

Programming nonshared memory systems is more difficult than programming shared memory systems, in part because of the relatively low level of current programming environments for such machines. A new programming environment is presented, Kali, which provides a global name space and allows direct access to remote data values. In order to retain efficiency, Kali provides a system on annotations, allowing the user to control those aspects of the program critical to performance, such as data distribution and load balancing. The primitives and constructs provided by the language is described, and some of the issues raised in translating a Kali program for execution on distributed memory systems are also discussed.

Mehrotra, Piyush↗

Final Report from The University of Texas at Austin for DEGAS: Dynamic Global Address Space programming environments

The Dynamic, Exascale Global Address Space programming environment (DEGAS) project will develop the next generation of programming models and runtime systems to meet the challenges of Exascale computing. Our approach is to provide an efficient and scalable programming model that can be adapted to application needs through the use of dynamic runtime features and domain-specific languages for computational kernels. We address the following technical challenges: Programmability: Rich set of programming constructs based on a Hierarchical Partitioned Global Address Space (HPGAS) model, demonstrated in UPC++. Scalability: Hierarchical locality control, lightweight communication (extended GASNet), and ef- ficient synchronization mechanisms (Phasers). Performance Portability: Just-in-time specialization (SEJITS) for generating hardware-specific code and scheduling libraries for domain-specific adaptive runtimes (Habanero). Energy Efficiency: Communication-optimal code generation to optimize energy efficiency by re- ducing data movement. Resilience: Containment Domains for flexible, domain-specific resilience, using state capture mechanisms and lightweight, asynchronous recovery mechanisms. Interoperability: Runtime and language interoperability with MPI and OpenMP to encourage broad adoption.

97 MATHEMATICS AND COMPUTING↗

SpaceWire Driver Software for Special DSPs

A computer program provides a high-level C-language interface to electronics circuitry that controls a SpaceWire interface in a system based on a space qualified version of the ADSP-21020 digital signal processor (DSP). SpaceWire is a spacecraft-oriented standard for packet-switching data-communication networks that comprise nodes connected through bidirectional digital serial links that utilize low-voltage differential signaling (LVDS). The software is tailored to the SMCS-332 application-specific integrated circuit (ASIC) (also available as the TSS901E), which provides three highspeed (150 Mbps) serial point-to-point links compliant with the proposed Institute of Electrical and Electronics Engineers (IEEE) Standard 1355.2 and equivalent European Space Agency (ESA) Standard ECSS-E-50-12. In the specific application of this software, the SpaceWire ASIC was combined with the DSP processor, memory, and control logic in a Multi-Chip Module DSP (MCM-DSP). The software is a collection of low-level driver routines that provide a simple message-passing application programming interface (API) for software running on the DSP. Routines are provided for interrupt-driven access to the two styles of interface provided by the SMCS: (1) the "word at a time" conventional host interface (HOCI); and (2) a higher performance "dual port memory" style interface (COMI).

Clark, Douglas↗

A computer program for analyzing unresolved Mossbauer hyperfine spectra

The program for analyzing unresolved Mossbauer hyperfine spectra was written in FORTRAN 4 language for the Control Data CYBER 170 series digital computer system with network operating system 1.1. With the present dimensions, the program requires approximately 36,000 octal locations of core storage. A typical case involving two innermost coordination shells in which the amplitudes and the peak positions of all three components were estimated in 25 iterations requires 30 seconds on CYBER 173. The program was applied to determine the effects of various near neighbor impurity shells on hyperfine fields in dilute FeAl alloys.

Schiess, J. R.↗

On-line upgrade of program modules

This paper presents a taxonomy of problems that must be solved in order to achieve on-line upgradability of long-lived programs, and presents a solution to the fundamental problems in the taxonomy. The solutions are based upon AdaPT, a set of language extensions designed to aid in the distribution of a single Ada program. AdaPT introduces three major units, the public, the partition, and the node. Publics are primarily used to share type information. Partitions are the basic units of distribution while nodes are used to control the configuration of the program. Nodes and partitions can be created dynamically via the allocator. A node-level routine controls the replacement process. The controlling node creates a new instance of the routine being replaced; the run-time system must ensure that the new instance is the updated one. Once access to the new version has been established, all further calls to the module are redirected to the new version and the caller is informed of the change so that it may make subsequent calls directly. When a module is being upgraded, there is a transition period during which both the old and new versions are present. We require that clients of a potentially replaceable module 'check in' with the controlling node. The controlling node keeps track of the number of clients that have been redirected to the replacement. When all have been redirected, the old version can be deallocated.

Waldrop, Raymond S.↗

Simulation of mission timelines for the Spacelab program

The paper describes the structure of the Special Purpose Simulation Language (SPSL) designed to overcome certain problems encountered in the use of the General Purpose Simulation Language (GPSL) when applied to simulation and validation of Spacelab mission timelines. The current analysis system is GROPE (Ground Resource Operations Planning Executive), the main data base models of which are the ground operations model, the mission model, the resource model, and the traffic model. Some of the simulation problem areas are mentioned, and unique features of the SPSL are highlighted.

Roberts, J. S.↗

“I Would Purposely Try to Keep them Separated”: Language Ideologies, Language Policy, and Beliefs about Emergent Bilinguals in Career and Technical Education

Abstract In the policy context of college and career readiness, career and technical education (CTE) is growing in popularity, especially for students who are underserved in academic high school programs. While CTE has shown promise for some students, very little research exists on its potential for emergent bilingual students (EBs). Thus, building on research of deficit perceptions of EBs and language ideologies (LIs), this study examines how LIs and deficit perspectives are reproduced in CTE contexts across Pennsylvania. Using a sequential mixed‐methods design, we found that, while CTE educators held generally positive attitudes toward EBs, they were influenced by monoglossic language ideology and standard language ideology. These LIs, along with other institutional factors, led educators to implement restrictive language policies within their classrooms. These implications serve to inform how, with a lack of clear language policy within CTE programs, teachers relied on their personal beliefs and reproduced deficit ideologies in the creation of classroom‐level policies.

Emerick, Mark R.↗

Integrated analysis capability for large space systems

The development of an integrated analysis computer program capable of performing the conceptual/preliminary structural system design analysis of large space systems is addressed. The integrated analysis capability (IAC) specifications include thermal/structural/controls integration, an emphasis on existing software and interactive graphics and I/O, a project size capability of 1 to 50 users (1 to 5 users concurrent), and the use of the FORTRAN '77 language. The advantages of the DISCOS and NASTRAN computer programs to the IAC are outlined and recommendations for other programs are made. Barriers to the development of the system arising from the interdisciplinary data flow are defined.

Vos, R. G.↗

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↗