Search NASASearch

SEARCH · Search NASA

Results for “COMPILER PROGRAM”

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 145 records · Page 8

The Concert system - Compiler and runtime technology for efficient concurrent object-oriented programming

Concurrent object-oriented languages, particularly fine-grained approaches, reduce the difficulty of large scale concurrent programming by providing modularity through encapsulation while exposing large degrees of concurrency. Despite these programmability advantages, such languages have historically suffered from poor efficiency. This paper describes the Concert project whose goal is to develop portable, efficient implementations of fine-grained concurrent object-oriented languages. Our approach incorporates aggressive program analysis and program transformation with careful information management at every stage from the compiler to the runtime system. The paper discusses the basic elements of the Concert approach along with a description of the potential payoffs. Initial performance results and specific plans for system development are also detailed.

Chien, Andrew A.

GLobal Integrated Design Environment

The GLobal Integrated Design Environment (GLIDE) is a collaborative engineering application built to resolve the design session issues of real-time passing of data between multiple discipline experts in a collaborative environment. Utilizing Web protocols and multiple programming languages, GLIDE allows engineers to use the applications to which they are accustomed in this case, Excel to send and receive datasets via the Internet to a database-driven Web server. Traditionally, a collaborative design session consists of one or more engineers representing each discipline meeting together in a single location. The discipline leads exchange parameters and iterate through their respective processes to converge on an acceptable dataset. In cases in which the engineers are unable to meet, their parameters are passed via e-mail, telephone, facsimile, or even postal mail. The result of this slow process of data exchange would elongate a design session to weeks or even months. While the iterative process remains in place, software can now exchange parameters securely and efficiently, while at the same time allowing for much more information about a design session to be made available. GLIDE is written in a compilation of several programming languages, including REALbasic, PHP, and Microsoft Visual Basic. GLIDE client installers are available to download for both Microsoft Windows and Macintosh systems. The GLIDE client software is compatible with Microsoft Excel 2000 or later on Windows systems, and with Microsoft Excel X or later on Macintosh systems. GLIDE follows the Client-Server paradigm, transferring encrypted and compressed data via standard Web protocols. Currently, the engineers use Excel as a front end to the GLIDE Client, as many of their custom tools run in Excel.

Kunkel, Matthew

Programs for Testing Processor-in-Memory Computing Systems

The Multithreaded Microbenchmarks for Processor-In-Memory (PIM) Compilers, Simulators, and Hardware are computer programs arranged in a series for use in testing the performances of PIM computing systems, including compilers, simulators, and hardware. The programs at the beginning of the series test basic functionality; the programs at subsequent positions in the series test increasingly complex functionality. The programs are intended to be used while designing a PIM system, and can be used to verify that compilers, simulators, and hardware work correctly. The programs can also be used to enable designers of these system components to examine tradeoffs in implementation. Finally, these programs can be run on non-PIM hardware (either single-threaded or multithreaded) using the POSIX pthreads standard to verify that the benchmarks themselves operate correctly. [POSIX (Portable Operating System Interface for UNIX) is a set of standards that define how programs and operating systems interact with each other. pthreads is a library of pre-emptive thread routines that comply with one of the POSIX standards.]

Katz, Daniel S.

The NASA program for standardizing silicon solar cells

The program is discussed which was initiated to formulate standard silicon solar cell and cover specifications. The program includes (1) compilation of solar cell and cover specifications, both past and present (2) elicitation of inputs from major users and suppliers and (3) establishment of tentative standardized solar cell and cover specifications.

Bifano, W. J.

Life sciences payload definition and integration study. Volume 2: Requirements, design, and planning studies for the carry-on laboratories

The task phase concerned with the requirements, design, and planning studies for the carry-on laboratory (COL) began with a definition of biomedical research areas and candidate research equipment, and then went on to develop conceptual layouts for COL which were each evaluated in order to arrive at a final conceptual design. Each step in this design/evaluation process concerned itself with man/systems integration research and hardware, and life support and protective systems research and equipment selection. COL integration studies were also conducted and include attention to electrical power and data management requirements, operational considerations, and shuttle/Spacelab interface specifications. A COL program schedule was compiled, and a cost analysis was finalized which takes into account work breakdown, annual funding, and cost reduction guidelines.

Source record

Total system issues

A raw computer resource capable of one billion floating point operations per second will have multiple parallel and/or segmented functional units to obtain such a speed. The system programmers, software writers and users are faced with the task of writing operating systems, compilers and application programs to utilize such a capability efficiently. The software problem of giving the user access to the available power of the machine is discussed.

Levesque, J. M.

An IBM 370 assembly language program verifier

The paper describes a program written in SNOBOL which verifies the correctness of programs written in assembly language for the IBM 360 and 370 series of computers. The motivation for using assembly language as a source language for a program verifier was the realization that many errors in programs are caused by misunderstanding or ignorance of the characteristics of specific computers. The proof of correctness of a program written in assembly language must take these characteristics into account. The program has been compiled and is currently running at the Center for Academic and Administrative Computing of The George Washington University.

Maurer, W. D.

PIFCGT: A PIF autopilot design program for general aviation aircraft

This report documents the PIFCGT computer program. In FORTRAN, PIFCGT is a computer design aid for determing Proportional-Integral-Filter (PIF) control laws for aircraft autopilots implemented with a Command Generator Tracker (CGT). The program uses Linear-Quadratic-Regulator synthesis algorithms to determine feedback gains, and includes software to solve the feedforward matrix equation which is useful in determining the command generator tracker feedforward gains. The program accepts aerodynamic stability derivatives and computes the corresponding aerodynamic linear model. The nine autopilot modes that can be designed include four maneuver modes (ROLL SEL, PITCH SEL, HDG SEL, ALT SEL), four final approach models (APR GS, APR LOCI, APR LOCR, APR LOCP), and a BETA HOLD mode. The program has been compiled and executed on a CDC computer.

Broussard, J. R.

Microgravity Science and Applications Program tasks, 1987 revision

A compilation is presented of the active research tasks as of the end of the FY87 of the Microgravity Science and Applications Program, NASA-Office of Space Science and Applications, involving several NASA centers and other organizations. An overview is provided of the program scope for managers and scientists in industry, university, and government communities. An introductory description is provided of the program along with the strategy and overall goal, identification of the organizational structures and people involved, and a description of each task. A list of recent publications is also provided. The tasks are grouped into six major categories: Electronic Materials; Solidification of Metals, Alloys, and Composites; Fluid Dynamics and Transport Phenomena; Biotechnology; Glasses and Ceramics; and Combustion. Other categories include Experimental Technology, General Studies and Surveys; Foreign Government Affiliations; Industrial Affiliations; and Physics and Chemistry Experiments (PACE). The tasks are divided into ground based and flight experiments.

Source record

Chaotic rhythms of a dripping faucet

An experiment was conducted which showed that a leaky faucet can offer valuable insights on predicting fluid flow. In this experiment, a flow control and drop detector were connected to the printer port of an IBM PC, which computed and saved the time intervals using a program for droptime compiled with Turbo C. It is noted that the time intervals change from periodic to doubly periodic as the flow rate is increased and then to various forms of chaos, interrupted by windows of periodicity. A number of two- and three-dimensional plots are displayed and discussed. Attention is focused on one of the simpler plots which is approximately parabolic, where each successive time interval is a quadratic function of the preceding interval, with a steepness which depends upon the flow rate. It is shown that a single past analog can predict a dripping faucet with reasonable accuracy 7-10 drops ahead. While such methods are more difficult to apply in higher-dimensional systems, this experiment aids in understanding how fluid flow may be predicted even under conditions of unstable flows caused by increase in velocity.

Cahalan, Robert F.

Experience with abstract notation one

The development of computer science has produced a vast number of machine architectures, programming languages, and compiler technologies. The cross product of these three characteristics defines the spectrum of previous and present data representation methodologies. With regard to computer networks, the uniqueness of these methodologies presents an obstacle when disparate host environments are to be interconnected. Interoperability within a heterogeneous network relies upon the establishment of data representation commonality. The International Standards Organization (ISO) is currently developing the abstract syntax notation one standard (ASN.1) and the basic encoding rules standard (BER) that collectively address this problem. When used within the presentation layer of the open systems interconnection reference model, these two standards provide the data representation commonality required to facilitate interoperability. The details of a compiler that was built to automate the use of ASN.1 and BER are described. From this experience, insights into both standards are given and potential problems relating to this development effort are discussed.

Harvey, James D.

Gamma ray astronomy

Miscellaneous tasks related to mission operations and data analysis for the Burst and Transient Source Experiment on the Gamma Ray Observatory, to collection, analysis, and interpretation of data from the Marshall Space Flight Center Very Low Frequency transient monitoring program, and to compilation and analysis of induced radioactivity data were performed. The results are summarized and relevant references are included.

Paciesas, William S.

Atomic Spectroscopic Databases at NIST

We describe recent work at NIST to develop and maintain databases for spectra, transition probabilities, and energy levels of atoms that are astrophysically important. Our programs to critically compile these data as well as to develop a new database to compare plasma calculations for atoms that are not in local thermodynamic equilibrium are also summarized.

Reader, J.

Virtual Satellite

Virtual Satellite (VirtualSat) is a computer program that creates an environment that facilitates the development, verification, and validation of flight software for a single spacecraft or for multiple spacecraft flying in formation. In this environment, enhanced functionality and autonomy of navigation, guidance, and control systems of a spacecraft are provided by a virtual satellite that is, a computational model that simulates the dynamic behavior of the spacecraft. Within this environment, it is possible to execute any associated software, the development of which could benefit from knowledge of, and possible interaction (typically, exchange of data) with, the virtual satellite. Examples of associated software include programs for simulating spacecraft power and thermal- management systems. This environment is independent of the flight hardware that will eventually host the flight software, making it possible to develop the software simultaneously with, or even before, the hardware is delivered. Optionally, by use of interfaces included in VirtualSat, hardware can be used instead of simulated. The flight software, coded in the C or C++ programming language, is compilable and loadable into VirtualSat without any special modifications. Thus, VirtualSat can serve as a relatively inexpensive software test-bed for development test, integration, and post-launch maintenance of spacecraft flight software.

Hammrs, Stephan R.

Simulating Avionics Upgrades to the Space Shuttles

Cockpit Avionics Prototyping Environment (CAPE) is a computer program that simulates the functions of proposed upgraded avionics for a space shuttle. In CAPE, pre-existing space-shuttle-simulation programs are merged with a commercial-off-the-shelf (COTS) display-development program, yielding a package of software that enables high-fi46 NASA Tech Briefs, September 2008 delity simulation while making it possible to rapidly change avionic displays and the underlying model algorithms. The pre-existing simulation programs are Shuttle Engineering Simulation, Shuttle Engineering Simulation II, Interactive Control and Docking Simulation, and Shuttle Mission Simulator playback. The COTS program Virtual Application Prototyping System (VAPS) not only enables the development of displays but also makes it possible to move data about, capture and process events, and connect to a simulation. VAPS also enables the user to write code in the C or C++ programming language and compile that code into the end-product simulation software. As many as ten different avionic-upgrade ideas can be incorporated in a single compilation and, thus, tested in a single simulation run. CAPE can be run in conjunction with any or all of four simulations, each representing a different phase of a space-shuttle flight.

Deger, Daniel

NASA Human Research Wiki - An Online Collaboration Tool

In preparation for exploration-class missions, the Exploration Medical Capability (ExMC) element of NASA's Human Research Program (HRP) has compiled a large evidence base, which previously was available only to persons within the NASA community. The evidence base is comprised of several types of data, for example: information on more than 80 medical conditions which could occur during space flight, derived from several sources (including data on incidence and potential outcomes of these medical conditions, as captured in the Integrated Medical Model's Clinical Finding Forms). In addition, approximately 35 gap reports are included in the evidence base, identifying current understanding of the medical challenges for exploration, as well as any gaps in knowledge and/or technology that would need to be addressed in order to provide adequate medical support for these novel missions. In an effort to make the ExMC information available to the general public and increase collaboration with subject matter experts within and outside of NASA, ExMC has developed an online collaboration tool, very similar to a wiki, titled the NASA Human Research Wiki. The platform chosen for this data sharing, and the potential collaboration it could generate, is a MediaWiki-based application that would house the evidence, allow "read only" access to all visitors to the website, and editorial access to credentialed subject matter experts who have been approved by the Wiki's editorial board. Although traditional wikis allow users to edit information in real time, the NASA Human Research Wiki includes a peer review process to ensure quality and validity of information. The wiki is also intended to be a pathfinder project for other HRP elements that may want to use this type of web-based tool. The wiki website will be released with a subset of the data described and will continue to be populated throughout the year.

Barr, Y. R.

Testing-Based Compiler Validation for Synchronous Languages

In this paper we present a novel lightweight approach to validate compilers for synchronous languages. Instead of verifying a compiler for all input programs or providing a fixed suite of regression tests, we extend the compiler to generate a test-suite with high behavioral coverage and geared towards discovery of faults for every compiled artifact. We have implemented and evaluated our approach using a compiler from Lustre to C.

Compiler Validation

Can Large Language Models Understand Intermediate Representations?

Intermediate Representations (IRs) are essential in compiler design and program analysis, yet their comprehension by Large Language Models (LLMs) remains underexplored. This paper presents a pioneering empirical study to investigate the capabilities of LLMs, including GPT-4, GPT-3, Gemma 2, LLaMA 3.1, and Code Llama, in understanding IRs. We analyze their performance across four tasks: Control Flow Graph (CFG) reconstruction, decompilation, code summarization, and execution reasoning. Our results indicate that while LLMs demonstrate competence in parsing IR syntax and recognizing high-level structures, they struggle with control flow reasoning, execution semantics, and loop handling. Specifically, they often misinterpret branching instructions, omit critical IR operations, and rely on heuristic-based reasoning, leading to errors in CFG reconstruction, IR decompilation, and execution reasoning. The study underscores the necessity for IR-specific enhancements in LLMs, recommending fine-tuning on structured IR datasets and integration of explicit control flow models to augment their comprehension and handling of IR-related tasks.

Jiang, Hailong