Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “compilation”

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,009 records · Page 56

The scheme machine: A case study in progress in design derivation at system levels

The Scheme Machine is one of several design projects of the Digital Design Derivation group at Indiana University. It differs from the other projects in its focus on issues of system design and its connection to surrounding research in programming language semantics, compiler construction, and programming methodology underway at Indiana and elsewhere. The genesis of the project dates to the early 1980's, when digital design derivation research branched from the surrounding research effort in programming languages. Both branches have continued to develop in parallel, with this particular project serving as a bridge. However, by 1990 there remained little real interaction between the branches and recently we have undertaken to reintegrate them. On the software side, researchers have refined a mathematically rigorous (but not mechanized) treatment starting with the fully abstract semantic definition of Scheme and resulting in an efficient implementation consisting of a compiler and virtual machine model, the latter typically realized with a general purpose microprocessor. The derivation includes a number of sophisticated factorizations and representations and is also deep example of the underlying engineering methodology. The hardware research has created a mechanized algebra supporting the tedious and massive transformations often seen at lower levels of design. This work has progressed to the point that large scale devices, such as processors, can be derived from first-order finite state machine specifications. This is roughly where the language oriented research stops; thus, together, the two efforts establish a thread from the highest levels of abstract specification to detailed digital implementation. The Scheme Machine project challenges hardware derivation research in several ways, although the individual components of the system are of a similar scale to those we have worked with before. The machine has a custom dual-ported memory to support garbage collection. It consists of four tightly coupled processes--processor, collector, allocator, memory--with a very non-trivial synchronization relationship. Finally, there are deep issues of representation for the run-time objects of a symbolic processing language. The research centers on verification through integrated formal reasoning systems, but is also involved with modeling and prototyping environments. Since the derivation algebra is basd on an executable modeling language, there is opportunity to incorporate design animation in the design process. We are looking for ways to move smoothly and incrementally from executable specifications into hardware realization. For example, we can run the garbage collector specification, a Scheme program, directly against the physical memory prototype, and similarly, the instruction processor model against the heap implementation.

Johnson, Steven D.↗

Space Mechanisms Lessons Learned Study. Volume 1: Summary

Hundreds of satellites have been launched to date. Some have operated extremely well and others have not. In order to learn from past operating experiences, a study was conducted to determine the conditions under which space mechanisms (mechanically moving components) have previously worked or failed. The study consisted of: (1) an extensive literature review that included both government contractor reports and technical journals; (2) communication and visits (when necessary) to the various NASA and DOD centers and their designated contractors (this included contact with project managers of current and prior NASA satellite programs as well as their industry counterparts); (3) requests for unpublished information to NASA and industry; and (4) a mail survey designed to acquire specific mechanism experience. The information obtained has been organized into two volumes. Volume 1 provides a summary of the lessons learned, the results of a needs analysis, responses to the mail survey, a listing of experts, a description of some available facilities and a compilation of references. Volume 2 contains a compilation of the literature review synopsis.

Shapiro, Wilbur↗

CLIPS/Ada: An Ada-based tool for building expert systems

Clips/Ada is a production system language and a development environment. It is functionally equivalent to the CLIPS tool. CLIPS/Ada was developed in order to provide a means of incorporating expert system technology into projects where the use of the Ada language had been mandated. A secondary purpose was to glean information about the Ada language and its compilers. Specifically, whether or not the language and compilers were mature enough to support AI applications. The CLIPS/Ada tool is coded entirely in Ada and is designed to be used by Ada systems that require expert reasoning.

White, W. A.↗

Executing CLIPS expert systems in a distributed environment

This paper describes a framework for running cooperating agents in a distributed environment to support the Intelligent Computer Aided Design System (ICADS), a project in progress at the CAD Research Unit of the Design Institute at the California Polytechnic State University. Currently, the systems aids an architectural designer in creating a floor plan that satisfies some general architectural constraints and project specific requirements. At the core of ICADS is the Blackboard Control System. Connected to the blackboard are any number of domain experts called Intelligent Design Tools (IDT). The Blackboard Control System monitors the evolving design as it is being drawn and helps resolve conflicts from the domain experts. The user serves as a partner in this system by manipulating the floor plan in the CAD system and validating recommendations made by the domain experts. The primary components of the Blackboard Control System are two expert systems executed by a modified CLIPS shell. The first is the Message Handler. The second is the Conflict Resolver. The Conflict Resolver synthesizes the suggestions made by the domain experts, which can be either CLIPS expert systems, or compiled C programs. In DEMO1, the current ICADS prototype, the CLIPS domain expert systems are Acoustics, Lighting, Structural, and Thermal; the compiled C domain experts are the CAD system and the User Interface.

Taylor, James↗

Space Mechanisms Lessons Learned Study. Volume 2: Literature Review

Hundreds of satellites have been launched to date. Some have operated extremely well and others have not. In order to learn from past operating experiences, a study was conducted to determine the conditions under which space mechanisms (mechanically moving components) have previously worked or failed. The study consisted of an extensive literature review that included both government contractor reports and technical journals, communication and visits (when necessary) to the various NASA and DOD centers and their designated contractors (this included contact with project managers of current and prior NASA satellite programs as well as their industry counterparts), requests for unpublished information to NASA and industry, and a mail survey designed to acquire specific mechanism experience. The information obtained has been organized into two volumes. Volume 1 provides a summary of the lesson learned, the results of a needs analysis, responses to the mail survey, a listing of experts, a description of some available facilities, and a compilation of references. Volume 2 contains a compilation of the literature review synopsis.

Shapiro, Wilbur↗

Research on computer systems benchmarking

This grant addresses the topic of research on computer systems benchmarking and is more generally concerned with performance issues in computer systems. This report reviews work in those areas during the period of NASA support under this grant. The bulk of the work performed concerned benchmarking and analysis of CPUs, compilers, caches, and benchmark programs. The first part of this work concerned the issue of benchmark performance prediction. A new approach to benchmarking and machine characterization was reported, using a machine characterizer that measures the performance of a given system in terms of a Fortran abstract machine. Another report focused on analyzing compiler performance. The performance impact of optimization in the context of our methodology for CPU performance characterization was based on the abstract machine model. Benchmark programs are analyzed in another paper. A machine-independent model of program execution was developed to characterize both machine performance and program execution. By merging these machine and program characterizations, execution time can be estimated for arbitrary machine/program combinations. The work was continued into the domain of parallel and vector machines, including the issue of caches in vector processors and multiprocessors. All of the afore-mentioned accomplishments are more specifically summarized in this report, as well as those smaller in magnitude supported by this grant.

Smith, Alan Jay↗

The Role of Reformulation in the Automatic Design of Satisfiability Procedures

Recently there has been increasing interest in the problem of knowledge compilation (Selman & Kautz91). This is the problem of identifying tractable techniques for determining the consequences of a knowledge base. We have developed and implemented a technique, called DRAT, that given a theory, i.e., a collection of firstorder clauses, can often produce a type of decision procedure for that theory that can be used in the place of a general-purpose first-order theorem prover for determining many of the consequences of that theory. Hence, DRAT does a type of knowledge compilation. Central to the DRAT technique is a type of reformulation in which a problem's clauses are restated in terms of different nonlogical symbols. The reformulation is isomorphic in the sense that it does not change the semantics of a problem.

VanBaalen, Jeffrey↗

Outgassing Data for Selecting Spacecraft Materials

Outgassing data, derived from tests at 398 K (125 C) for 24 hours in a vacuum as per ASTM E 595-84, have been compiled for numerous materials for spacecraft use. The data presented are the total mass loss (TML) and the collected volatile condensable materials (CVCM). The various materials are compiled by likely usage and alphabetically.

Walter, Neil A.↗

Development of the Tensoral Computer Language

The research scientist or engineer wishing to perform large scale simulations or to extract useful information from existing databases is required to have expertise in the details of the particular database, the numerical methods and the computer architecture to be used. This poses a significant practical barrier to the use of simulation data. The goal of this research was to develop a high-level computer language called Tensoral, designed to remove this barrier. The Tensoral language provides a framework in which efficient generic data manipulations can be easily coded and implemented. First of all, Tensoral is general. The fundamental objects in Tensoral represent tensor fields and the operators that act on them. The numerical implementation of these tensors and operators is completely and flexibly programmable. New mathematical constructs and operators can be easily added to the Tensoral system. Tensoral is compatible with existing languages. Tensoral tensor operations co-exist in a natural way with a host language, which may be any sufficiently powerful computer language such as Fortran, C, or Vectoral. Tensoral is very-high-level. Tensor operations in Tensoral typically act on entire databases (i.e., arrays) at one time and may, therefore, correspond to many lines of code in a conventional language. Tensoral is efficient. Tensoral is a compiled language. Database manipulations are simplified optimized and scheduled by the compiler eventually resulting in efficient machine code to implement them.

Ferziger, Joel↗

Interfacing with Legacy using Remote Method Invocation

The assignment described was enough to make a neophyte Java developer bolt for the door: provide a remote method for use by an applet which invokes a native method that wraps a function in an existing legacy library. The purpose of the remote method is to return an instance of a class object whose contents reflect the data structure returned by the legacy function. While embroiled in implementation, I would have spent the time wading through their JNI use group archive as well, but I couldn't seem to locate one. Subsequently, I made the decision to try to document my findings in order to assist others. Before we start on the class design, let's look at what the existing legacy code does. The C function to be called, Get-Legacy-Data, consists of two steps: an ASII file is read from the local disk and its contents are parsed into a Legacy_Type structure whose address is passed as an argument by the caller. The legacy code was compiled into a shared object library, legacy. so, using the IRIX 6.2 compiler and then loaded onto the Web server, a Silicon Graphics Indy station loaded with the IRIX 6.4 operating system. As far as the class design is concerned, the first thing required is a class to act as a template for the data structure returned by the legacy function. This class, JLegacy, declares a series of public instance variables which correspond to the members of Legacy_Type and provides a parameterless constructor. This constructor is never called, not even by the native method which allocates the object for return to the remote method. Next, the remote interface declaration for the remote object must be defined. In order for JLegacyRO to implement getJLegacy, JLegacyRO must interface with the existing legacy code through a native method, getn. getn is declared in the JLegacyRO class but implemented in C, just like the legacy code. getn returns a JLegacy instance and is declared static since its implementation is the same for all instances of the JLegacyRO class.

Howard, Scott M.↗

Analysis of Gamma-Ray Data from Solar Flares in Cycles 21 and 22

One of our primary accomplishments under grant NAGW-35381 was the systematic derivation and compilation, for the first time, of physical parameters for all gamma-ray flares detected by the SMM GRS during its ten year lifetime. The flare parameters derived from the gamma-ray spectra include: bremsstrahlung fluence and best-fit power-law parameters, narrow nuclear line fluence, positron annihilation line fluence, neutron capture line fluence, and an indication of whether or not greater than 10 MeV emissions were present. We combined this compilation of flare parameters with our plots of counting rate time histories and flare spectra to construct an atlas of gamma-ray flare characteristics. The atlas time histories display four energy bands: 56-199 kev, 298526 keV, 4-8 MeV, and 10-25 MeV. These energy bands respectively measure nonrelativistic bremsstrahlung, trans-relativistic bremsstrahlung, nuclear de-excitation, and ultra-relativistic bremsstrahlung. The atlas spectra show the integrated high-energy spectra measured for all GRS flares and dissects them into electron bremsstrahlung, positron annihilation and nuclear emission components. The atlas has been accepted for publication in the Astrophysical Journal Supplements and is currently in press. The atlas materials were also supplied to the Solar Data Analysis Center at Goddard Space Flight Center and were made available through a web site at the University of New Hampshire. Since a uniform methodology was adopted for deriving the flare parameters, this atlas will be very useful for future statistical and correlative studies of solar flares-three independent groups are presently using it to correlate interplanetary energetic particle measurements with our gamma-ray measurements. A better model for the response of the GRS instrument to high energy radiation was also developed. A refined response model was needed because the old model was not adequate for predicting the first and second escape peaks associated with strong nuclear lines nor could it accurately describe the Compton continuum shape. The new response was developed using a GEANT based simulation code and tested against preflight calibration data. The refinement of the response model and the removal of systematic errors now allow more detailed spectral studies of the GRS gamma-ray measurements. This refined response function was supplied to the Solar DAC at Goddard and was also made available via a web site at the University of New Hampshire.

Vestrand, W. Thomas↗

Enhancement to Hitran to Support the NASA EOS Program

The HITRAN molecular database has been enhanced with the object of providing improved capabilities for the EOS program scientists. HITRAN itself is the database of high-resolution line parameters of gaseous species expected to be observed by the EOS program in its remote sensing activities. The database is part of a larger compilation that includes IR cross-sections, aerosol indices of refraction, and software for filtering and plotting portions of the database. These properties have also been improved. The software has been advanced in order to work on multiple platforms. Besides the delivery of the compilation on CD-ROM, the effort has been directed toward making timely access of data and software on the world wide web.

Kirby, Kate P.↗

The Tera Multithreaded Architecture and Unstructured Meshes

The Tera Multithreaded Architecture (MTA) is a new parallel supercomputer currently being installed at San Diego Supercomputing Center (SDSC). This machine has an architecture quite different from contemporary parallel machines. The computational processor is a custom design and the machine uses hardware to support very fine grained multithreading. The main memory is shared, hardware randomized and flat. These features make the machine highly suited to the execution of unstructured mesh problems, which are difficult to parallelize on other architectures. We report the results of a study carried out during July-August 1998 to evaluate the execution of EUL3D, a code that solves the Euler equations on an unstructured mesh, on the 2 processor Tera MTA at SDSC. Our investigation shows that parallelization of an unstructured code is extremely easy on the Tera. We were able to get an existing parallel code (designed for a shared memory machine), running on the Tera by changing only the compiler directives. Furthermore, a serial version of this code was compiled to run in parallel on the Tera by judicious use of directives to invoke the "full/empty" tag bits of the machine to obtain synchronization. This version achieves 212 and 406 Mflop/s on one and two processors respectively, and requires no attention to partitioning or placement of data issues that would be of paramount importance in other parallel architectures.

Bokhari, Shahid H.↗

Aerodynamic Shape Optimization Using A Combined Distributed/Shared Memory Paradigm

Current parallel computational approaches involve distributed and shared memory paradigms. In the distributed memory paradigm, each processor has its own independent memory. Message passing typically uses a function library such as MPI or PVM. In the shared memory paradigm, such as that used on the SGI Origin 2000 machine, compiler directives are used to instruct the compiler to schedule multiple threads to perform calculations. In this paradigm, it must be assured that processors (threads) do not simultaneously access regions of memory in such away that errors would occur. This paper utilizes the latest version of the SGI MPI function library to combine the two parallelization paradigms to perform aerodynamic shape optimization of a generic wing/body.

Cheung, Samson↗

A Digital Tectonic Activity Map of the Earth

The subject of neotectonics, covering the structures and structural activity of the last 5 million years (i.e., post-Miocene) is a well-recognized field, including "active tectonics," focussed on the last 500,000 years in a 1986 National Research Council report of that title. However, there is a cartographic gap between tectonic maps, generally showing all features regardless of age, and maps of current seismic or volcanic activity. We have compiled a map intended to bridge this gap, using modern data bases and computer-aided cartographic techniques. The maps presented here are conceptually descended from an earlier map showing tectonic and volcanic activity of the last one million years. Drawn by hand with the National Geographic Society's 1975 "The Physical World" map as a base, the 1981 map in various revisions has been widely reproduced in textbooks and various technical publications. However, two decades of progress call for a completely new map that can take advantage of new knowledge and cartographic techniques. The digital tectonic activity map (DTM), presented in shaded relief (Fig. 1) and schematic (Fig. 2) versions, is the result. The DTM is intended to show tectonism and volcanism of the last one million years, a period long enough to be representative of global activity, but short enough that features such as fault scarps and volcanos are still geomorphically recognizable. Data Sources and Cartographic Methods The DTM is based on a wide range of sources, summarized in Table 1. The most important is the digital elevation model, used to construct a shaded relief map. The bathymetry is largely from satellite altimetry, specifically the marine gravity compilations by Smith and Sandwell (1996). The shaded relief map was designed to match the new National Geographic Society world physical map (1992), although drawn independently, from the digital elevation model. The Robinson Projection is used instead of the earlier Van der Grinten one. Although neither conformal nor equal-area, the Robinson Projection provides a reasonable compromise and retains useful detail at high latitudes.

Lowman, Paul↗

Application of the Shuttle Laser Altimeter in an Accuracy Assessment of Global 1-Kilometer Digital Elevation Data

Shuttle Laser Altimeter (SLA) data have been used to evaluate the accuracy of GTOPO30, the first comprehensive, 1 km resolution, global topographic data set. GTOPO30 was developed by the USGS Eros Data Center (EDC), in part, to address NASA's needs for a global topographic model in support of remote sensing instruments aboard the Earth Observing System AM-1 spacecraft. SLA flew as a part of the STS-72 mission in January, 1996 observing the latitude band from +/- 28.5 deg, and on STS-85 in August, 1997 extending the observations to +/- 57 deg. Combining the SLA ranging data with shuttle position and pointing knowledge yields surface elevation data of very high vertical accuracy in an Earth-centered, absolute reference frame (2.8 m rms difference for SLA-01 with respect to ocean reference surface). Use of the well-determined mean sea surface reference for calibration allows propagation of high accuracy altimetry onto the continents. 436,635 SLA-01 land elevations were compared to the GTOPO30 grid after conversion to a mean sea level vertical datum using the Earth Geoid Model 96, jointly developed by Goddard and NIMA. The comparison reveals systematic elevation biases in southern Asia, Africa, Australia, and south America on the order 10's to 100 meters in the GTOPO30 compilation on spatial scales of 100's to 1000's of kilometers. These biases are likely due to vertical datum errors in the topographic source materials used to compile GTOPO30, which primarily consist of Defense Mapping Agency (DMA) digital elevation and topographic map products. These biases imply that elevation corrections applied to land gravity measurements using these DMA source materials will be biased, leading to errors in geoid models incorporating these land gravity data.

Harding, David J.↗

Enhancement to HITRAN to Support the NASA EOS Program

The HITRAN molecular database has been enhanced with the object of providing improved capabilities for the EOS program scientists. HITRAN itself is the database of high-resolution line parameters of gaseous species expected to be observed by the EOS program in its remote sensing activities. The database is part of a larger compilation that includes IR cross-sections, aerosol indices of refraction, and software for filtering and plotting portions of the database. These properties have also been improved. The software has been advanced in order to work on multiple platforms. Besides the delivery of the compilation on CD-ROM, the effort has been directed toward making timely access of data and software on the world wide web.

Kirby, Kate P.↗

Use Computer-Aided Tools to Parallelize Large CFD Applications

Porting applications to high performance parallel computers is always a challenging task. It is time consuming and costly. With rapid progressing in hardware architectures and increasing complexity of real applications in recent years, the problem becomes even more sever. Today, scalability and high performance are mostly involving handwritten parallel programs using message-passing libraries (e.g. MPI). However, this process is very difficult and often error-prone. The recent reemergence of shared memory parallel (SMP) architectures, such as the cache coherent Non-Uniform Memory Access (ccNUMA) architecture used in the SGI Origin 2000, show good prospects for scaling beyond hundreds of processors. Programming on an SMP is simplified by working in a globally accessible address space. The user can supply compiler directives, such as OpenMP, to parallelize the code. As an industry standard for portable implementation of parallel programs for SMPs, OpenMP is a set of compiler directives and callable runtime library routines that extend Fortran, C and C++ to express shared memory parallelism. It promises an incremental path for parallel conversion of existing software, as well as scalability and performance for a complete rewrite or an entirely new development. Perhaps the main disadvantage of programming with directives is that inserted directives may not necessarily enhance performance. In the worst cases, it can create erroneous results. While vendors have provided tools to perform error-checking and profiling, automation in directive insertion is very limited and often failed on large programs, primarily due to the lack of a thorough enough data dependence analysis. To overcome the deficiency, we have developed a toolkit, CAPO, to automatically insert OpenMP directives in Fortran programs and apply certain degrees of optimization. CAPO is aimed at taking advantage of detailed inter-procedural dependence analysis provided by CAPTools, developed by the University of Greenwich, to reduce potential errors made by users. Earlier tests on NAS Benchmarks and ARC3D have demonstrated good success of this tool. In this study, we have applied CAPO to parallelize three large applications in the area of computational fluid dynamics (CFD): OVERFLOW, TLNS3D and INS3D. These codes are widely used for solving Navier-Stokes equations with complicated boundary conditions and turbulence model in multiple zones. Each one comprises of from 50K to 1,00k lines of FORTRAN77. As an example, CAPO took 77 hours to complete the data dependence analysis of OVERFLOW on a workstation (SGI, 175MHz, R10K processor). A fair amount of effort was spent on correcting false dependencies due to lack of necessary knowledge during the analysis. Even so, CAPO provides an easy way for user to interact with the parallelization process. The OpenMP version was generated within a day after the analysis was completed. Due to sequential algorithms involved, code sections in TLNS3D and INS3D need to be restructured by hand to produce more efficient parallel codes. An included figure shows preliminary test results of the generated OVERFLOW with several test cases in single zone. The MPI data points for the small test case were taken from a handcoded MPI version. As we can see, CAPO's version has achieved 18 fold speed up on 32 nodes of the SGI O2K. For the small test case, it outperformed the MPI version. These results are very encouraging, but further work is needed. For example, although CAPO attempts to place directives on the outer- most parallel loops in an interprocedural framework, it does not insert directives based on the best manual strategy. In particular, it lacks the support of parallelization at the multi-zone level. Future work will emphasize on the development of methodology to work in a multi-zone level and with a hybrid approach. Development of tools to perform more complicated code transformation is also needed.

Jin, H.↗