Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “program synthesis”

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

An implementation of the distributed programming structural synthesis system (PROSSS)

A method is described for implementing a flexible software system that combines large, complex programs with small, user-supplied, problem-dependent programs and that distributes their execution between a mainframe and a minicomputer. The Programming Structural Synthesis System (PROSSS) was the specific software system considered. The results of such distributed implementation are flexibility of the optimization procedure organization and versatility of the formulation of constraints and design variables.

Rogers, J. L., Jr.↗

Development of a weight/sizing design synthesis computer program. Volume 1: Program formulation

The development of a weight/sizing design synthesis methodology for use in support of the main line space shuttle program is discussed. The methodology has a minimum number of data inputs and quick turn around capabilities. The methodology makes it possible to: (1) make weight comparisons between current shuttle configurations and proposed changes, (2) determine the effects of various subsystems trades on total systems weight, and (3) determine the effects of weight on performance and performance on weight.

Garrison, J. M.↗

Towards performance portability in the Spark astrophysical magnetohydrodynamics solver in the Flash-X simulation framework

Simulations of core-collapse supernovae, and other astrophysical phenomena, are quintessential extreme-scale computing challenges. For core-collapse supernova simulations to be carried out by the ExaStar project under the Exascale Computing Project umbrella, a robust, efficient, and state-of-the-art magnetohydrodynamics solver is a critical requirement. In Flash-X, the primary software instrument for ExaStar, a new magnetohydrodynamics solver has been designed and implemented from the ground up to achieve accuracy and efficiency for simulations of complex astrophysical flows. This new solver, dubbed Spark, uses high-order spatial reconstruction, Runge-Kutta time integration, and an efficient cell-centered approach to satisfying the divergence-free condition for the magnetic fields. Spark was written to be optimized for data locality in cache hierarchy of CPUs. Since data locality optimizations for cache hierarchy are not directly compatible with those of accelerators, we have taken the approach of using program synthesis to avoid massive amounts of code replication that would be necessary if we were to maintain two different versions of the solver. Our program synthesis relies on a simple key-dictionary approach, implemented in python, that enables us to assemble the version of the solver suitable for the target hardware from code fragments identified by specific keys. In this work, we describe the data locality optimizations of the solver for CPUs and accelerators and the program synthesis tools that enable this portability. We also detail the parallel performance of Spark for both CPUs and accelerators.

97 MATHEMATICS AND COMPUTING↗

Using Verified Lifting to Optimize Legacy Stencil Codes (Final Project Report)

This project investigated new techniques for compiling stencil and stencil-like computations. Stencils computations are commonly found in applications such as image processing, physical simulations, image processing, and machine learning. In recent years, many high-performance domain-specific languages (DSLs) have been proposed to optimize stencil computations. To leverage such DSLs, however, existing codes often need to be rewritten. Such rewriting is manual, labor intensive, and error-prone. To alleviate such issues, this project investigated the application of program synthesis and artificial learning techniques to enable stencil computations to automatically leverage new high-performance DSLs. Rather than constructing syntax driven rules, verified lifting uses program synthesis to search for a target code fragment to compile the given input code into. In addition, it also searches for a proof that validates how the found target code fragment preserves the semantics of the original input. Thus, the target code fragment is guaranteed to be semantically equivalent to the input.

97 MATHEMATICS AND COMPUTING↗

A Formal Approach to Domain-Oriented Software Design Environments

This paper describes a formal approach to domain-oriented software design environments, based on declarative domain theories, formal specifications, and deductive program synthesis. A declarative domain theory defines the semantics of a domain-oriented specification language and its relationship to implementation-level subroutines. Formal specification development and reuse is made accessible to end-users through an intuitive graphical interface that guides them in creating diagrams denoting formal specifications. The diagrams also serve to document the specifications. Deductive program synthesis ensures that end-user specifications are correctly implemented. AMPHION has been applied to the domain of solar system kinematics through the development of a declarative domain theory, which includes an axiomatization of JPL's SPICELIB subroutine library. Testing over six months with planetary scientists indicates that AMPHION's interactive specification acquisition paradigm enables users to develop, modify, and reuse specifications at least an order of magnitude more rapidly than manual program development. Furthermore, AMPHION synthesizes one to two page programs consisting of calls to SPICELIB subroutines from these specifications in just a few minutes. Test results obtained by metering AMPHION's deductive program synthesis component are examined. AMPHION has been installed at JPL and is currently undergoing further refinement in preparation for distribution to hundreds of SPICELIB users worldwide. Current work to support end-user customization of AMPHION's specification acquisition subsystem is briefly discussed, as well as future work to enable domain-expert creation of new AMPHION applications through development of suitable domain theories.

Lowry, Michael↗

General aviation design synthesis utilizing interactive computer graphics

Interactive computer graphics is a fast growing area of computer application, due to such factors as substantial cost reductions in hardware, general availability of software, and expanded data communication networks. In addition to allowing faster and more meaningful input/output, computer graphics permits the use of data in graphic form to carry out parametric studies for configuration selection and for assessing the impact of advanced technologies on general aviation designs. The incorporation of interactive computer graphics into a NASA developed general aviation synthesis program is described, and the potential uses of the synthesis program in preliminary design are demonstrated.

Galloway, T. L.↗

Research on Spectroscopy, Opacity, and Atmospheres

I propose to continue providing observers with basic data for interpreting spectra from stars, novas, supernovas, clusters, and galaxies. These data will include allowed and forbidden line lists, both laboratory and computed, for the first five to ten ions of all atoms and for all relevant diatomic molecules. I will eventually expand to all ions of the first thirty elements to treat far UV and X-ray spectra, and for envelope opacities. I also include triatomic molecules provided by other researchers. I have also made CDs with Partridge and Schwenke's water data for work on UV stars. The line data also serve as input to my model atmosphere and synthesis programs that generate energy distributions, photometry, limb darkening, and spectra that can be used for planning observations and for fitting observed spectra. The spectrum synthesis programs produce detailed plots with the lines identified. Grids of stellar spectra can be used for radial velocity-, rotation-, or abundance templates and for population synthesis. I am fitting spectra of bright stars to test the data and to produce atlases to guide observers. For each star the whole spectrum is computed from the UV to the far IR. The line data, opacities, models, spectra, and programs are freely distributed on CDs and on my Web site and represent a unique resource for many NASA programs. I am now in full production of new line lists for atoms. I am computing all ions of all elements from H to Zn and the first 5 ions of all the heavier elements, about 800 ions. For each ion I treat as many as 61 even and 61 odd configurations, computing all energy levels and eigenvectors. The Hamiltonian is determined from a scaled-Hartree-Fock starting guess by least squares fitting the observed energy levels. The average energy of each configuration is used in computing scaled-Thomas-Fermi-Dirac wavefunctions for each configuration which in turn are used to compute allowed and forbidden transition integrals. These are multiplied into the LS allowed and forbidden transition arrays. The transition arrays are transformed to the observed coupling to yield the allowed and forbidden line lists. Results are put on the web as they are finished. Provided I get funding,there will be more than 500 million lines. I will then compare ion by ion, to all the laboratory and computed data in the literature and make up a working line list for spectrum synthesis and opacity calculations with the best available data. As the laboratory spectrum analyses are improved, I will redo the calculations with the new energy levels. My original plan when I started the new calculations was to run through all the atoms using my old Cray programs from the 1980's that were limited to 1100 x 1100 arrays in the Hamiltonian for each J. Then I would go back and rerun the more complicated cases with 3000 x 3000 arrays so that I could include many more configurations and more configuration interactions. At present I am limited to 61 even and 61 odd configurations and I try to include everything up through n = 9. The current program runs on Alpha workstations. I decided to test the big program on Fe I and Fe II to see whether there was any great difference in the low configurations compared to those from the Cray program. Besides increasing the number of E1 lines by a factor of 6 to 7.7 million, there was an unexpected result: the electric quadrupole transitions were 10 times stronger than before because the transition integrals are weighted by r(exp 2) ---they become very large for high n, and because there are numerous configuration interactions that mix the low and high configurations. As a check I was able to reproduce Carstang's (1962) lower results by running his three configurations with my program. Since my model atom is still only a subset of a real Fe II ion, the true quadrupole A values are probably larger than mine. The magnetic dipole lines are affected by the mixing but the overall scale does not change. Because of this scovery I decided that there was no point in computing the small array cases. I have been running with as many configurations as I can and with thousands of parameters in the Hamiltonian. The computer runs take much longer to set up and produce than I had expected. I have concentrated on redoing the low iron group spectra, especially to get data for supernova modelers. I have done only Ca I -- Zn I, Ca II -- Zn II, CU I -- Cu XXIX, Zn I - Zn XXX, for practice at high stages of ionization, C I, C II, S I, and CL I and Ag I for people who were working on the laboratory spectra. Check my web site kurucz.harvard.edu for current additions. My latest calculations have been for carbon I and sulphur I, and silicon I is under way using the same elaborate approach as for C I, which took many months to do. These line lists greatly increase the number of lines in the ultraviolet, in the visible, and especially in the infrared. They will increase the opacity in A, F, and G stars. They will account for many unidentified lines in the sun.

Kurucz, Robert L.↗

Research on Spectroscopy, Opacity, and Atmospheres

I propose to continue providing observers with basic data for interpreting spectra from stars, novas, supernovas, clusters, and galaxies. These data will include allowed forbidden line lists both laboratory and computed, for the first five to ten ions of all atoms and for all relevant diatomic molecules. I will eventually expend to all ions of the first thirty elements to treat far UV end X-ray spectra, and for envelope opacities. I also include triatomic molecules providing by other researchers. I have made CDs with Partridge and Schwanke's water data for work on M stars.The luna data also serve as input to my model atmosphere and synthesis programs that generated energy distributions, photometry, limb darkening, and spectra that can be used for planning observations and for fitting observed spectra. The spectrum synthesis programs produce detailed plots with the line identified. Grids of stellar spectra can be used for radial velocity-, rotation-, or abundance templates and for population synthesis. I am fitting spectra of bright stars to test the data and to produce atlases to guide observer. For each star the whole spectrum is computed from the UV to the far IR. The line data, opacities, models, spectra, and programs are freely distributed on CDs and on my web site and represent a unique resource for many NASA programs.

Oliversen, Ronald↗

Preliminary performance estimates of an oblique, all-wing, remotely piloted vehicle for air-to-air combat

A computerized aircraft synthesis program has been used to assess the effects of various vehicle and mission parameters on the performance of an oblique, all-wing, remotely piloted vehicle (RPV) for the highly maneuverable, air-to-air combat role. The study mission consists of an outbound cruise, an acceleration phase, a series of subsonic and supersonic turns, and a return cruise. The results are presented in terms of both the required vehicle weight to accomplish this mission and the combat effectiveness as measured by turning and acceleration capability. This report describes the synthesis program, the mission, the vehicle, and results from sensitivity studies. An optimization process has been used to establish the nominal RPV configuration of the oblique, all-wing concept for the specified mission. In comparison to a previously studied conventional wing-body canard design for the same mission, this oblique, all-wing nominal vehicle is lighter in weight and has higher performance.

Nelms, W. P., Jr.↗

Preliminary performance estimates of a highly maneuverable remotely piloted vehicle

A computerized synthesis program has been used to assess the effects of various vehicle and mission parameters on the performance of a highly maneuverable remotely piloted vehicle (RPV) for the air-to-air combat role. The configuration used in the study is a trapezoidal-wing and body concept, with forward-mounted stabilizing and control surfaces. The study mission consists of an outbound cruise, an acceleration phase, a series of subsonic and supersonic turns, and a return cruise. Performance is evaluated in terms of both the required vehicle weight to accomplish this mission and combat effectiveness as measured by turning and acceleration capability. The report describes the synthesis program, the mission, the vehicle, and the results of sensitivity and trade studies.

Nelms, W. P., Jr.↗

Analysis of advanced programs (Study 2.3). Volume 1: Executive summary

An analysis of advanced programs for space missions is presented. The subjects discussed are (1) alternate space shuttle configurations, (2) space transportation systems, (3) computer programs and methodology to estimate program cost implications of space vehicle program uncertainties, (4) vehicle synthesis program, (5) relative effectiveness of various proposals for space vehicles, and (6) cost analysis of solid propellant rocket engine program to support space shuttle vehicle.

Source record↗

Development of a weight/sizing design synthesis computer program. Volume 2: Program Description

The program for the computerized analysis of weight estimation relationships for those elements of the space shuttle vehicle which contribute a significant portion of the inert weight is discussed. A listing of each module and subroutine of the program is presented. Included are a generalized flow chart describing the subroutine linkage of the complete program and detailed flow charts for each subprogram.

Garrison, J. M.↗

Solar array synthesis computer program

Photovoltaic characteristics have been measured on solar cells irradiated by 1 MeV electrons to fluences ranging from 1 x 10 to the 13th power e/sq cm to 1 x 10 to the 16th power e/sq cm, for cell temperatures ranging from 123 K to 473 K and for illumination intensities ranging from 5m W/sq cm to 1830m W/sq cm. Empirical equations have been derived from these measurements to describe the behavior of light generated current, open circuit voltage and I-V curve shape over various portions of these temperature/illumination ranges. Both 10 ohms/cm and 17 ohms/cm n-p silicon solar cells were tested, and similar analytical expressions were formulated for easy comparison between the two resistivities.

Faith, T. J.↗

Performance Analysis and Design Synthesis (PADS) computer program. Volume 2: Program description, part 1

The Performance Analysis and Design Synthesis (PADS) computer program has a two-fold purpose. It can size launch vehicles in conjunction with calculus-of-variations optimal trajectories and can also be used as a general-purpose branched trajectory optimization program. In the former use, it has the Space Shuttle Synthesis Program as well as a simplified stage weight module for optimally sizing manned recoverable launch vehicles. For trajectory optimization alone or with sizing, PADS has two trajectory modules. The first trajectory module uses the method of steepest descent; the second employs the method of quasilinearization, which requires a starting solution from the first trajectory module. For Volume 1 see N73-13199.

Source record↗

Performance Analysis and Design Synthesis (PADS) computer program. Volume 1: Formulation

The program formulation for PADS computer program is presented. It can size launch vehicles in conjunction with calculus-of-variations optimal trajectories and can also be used as a general-purpose branched trajectory optimization program. In the former use, it has the Space Shuttle Synthesis Program as well as a simplified stage weight module for optimally sizing manned recoverable launch vehicles. For trajectory optimization alone or with sizing, PADS has two trajectory modules. The first trajectory module uses the method of steepest descent; the second employs the method of quasilinearization, which requires a starting solution from the first trajectory module.

Source record↗

Challenges and Demands on Automated Software Revision

In the past three decades, automated program verification has undoubtedly been one of the most successful contributions of formal methods to software development. However, when verification of a program against a logical specification discovers bugs in the program, manual manipulation of the program is needed in order to repair it. Thus, in the face of existence of numerous unverified and un- certified legacy software in virtually any organization, tools that enable engineers to automatically verify and subsequently fix existing programs are highly desirable. In addition, since requirements of software systems often evolve during the software life cycle, the issue of incomplete specification has become a customary fact in many design and development teams. Thus, automated techniques that revise existing programs according to new specifications are of great assistance to designers, developers, and maintenance engineers. As a result, incorporating program synthesis techniques where an algorithm generates a program, that is correct-by-construction, seems to be a necessity. The notion of manual program repair described above turns out to be even more complex when programs are integrated with large collections of sensors and actuators in hostile physical environments in the so-called cyber-physical systems. When such systems are safety/mission- critical (e.g., in avionics systems), it is essential that the system reacts to physical events such as faults, delays, signals, attacks, etc, so that the system specification is not violated. In fact, since it is impossible to anticipate all possible such physical events at design time, it is highly desirable to have automated techniques that revise programs with respect to newly identified physical events according to the system specification.

Bonakdarpour, Borzoo↗

Automated Reuse of Scientific Subroutine Libraries through Deductive Synthesis

Systematic software construction offers the potential of elevating software engineering from an art-form to an engineering discipline. The desired result is more predictable software development leading to better quality and more maintainable software. However, the overhead costs associated with the formalisms, mathematics, and methods of systematic software construction have largely precluded their adoption in real-world software development. In fact, many mainstream software development organizations, such as Microsoft, still maintain a predominantly oral culture for software development projects; which is far removed from a formalism-based culture for software development. An exception is the limited domain of safety-critical software, where the high-assuiance inherent in systematic software construction justifies the additional cost. We believe that systematic software construction will only be adopted by mainstream software development organization when the overhead costs have been greatly reduced. Two approaches to cost mitigation are reuse (amortizing costs over many applications) and automation. For the last four years, NASA Ames has funded the Amphion project, whose objective is to automate software reuse through techniques from systematic software construction. In particular, deductive program synthesis (i.e., program extraction from proofs) is used to derive a composition of software components (e.g., subroutines) that correctly implements a specification. The construction of reuse libraries of software components is the standard software engineering solution for improving software development productivity and quality.

Lowry, Michael R.↗