Search NASASearch

SEARCH · Search NASA

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.

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.

Flexible Generation of Kalman Filter Code

Domain-specific program synthesis can automatically generate high quality code in complex domains from succinct specifications, but the range of programs which can be generated by a given synthesis system is typically narrow. Obtaining code which falls outside this narrow scope necessitates either 1) extension of the code generator, which is usually very expensive, or 2) manual modification of the generated code, which is often difficult and which must be redone whenever changes are made to the program specification. In this paper, we describe adaptations and extensions of the AUTOFILTER Kalman filter synthesis system which greatly extend the range of programs which can be generated. Users augment the input specification with a specification of code fragments and how those fragments should interleave with or replace parts of the synthesized filter. This allows users to generate a much wider range of programs without their needing to modify the synthesis system or edit generated code. We demonstrate the usefulness of the approach by applying it to the synthesis of a complex state estimator which combines code from several Kalman filters with user-specified code. The work described in this paper allows the complex design decisions necessary for real-world applications to be reflected in the synthesized code. When executed on simulated input data, the generated state estimator was found to produce comparable estimates to those produced by a handcoded estimator

Richardson, Julian

Synthesizing Certified Code

Code certification is a lightweight approach to demonstrate software quality on a formal level. Its basic idea is to require producers to provide formal proofs that their code satisfies certain quality properties. These proofs serve as certificates which can be checked independently. Since code certification uses the same underlying technology as program verification, it also requires many detailed annotations (e.g., loop invariants) to make the proofs possible. However, manually adding theses annotations to the code is time-consuming and error-prone. We address this problem by combining code certification with automatic program synthesis. We propose an approach to generate simultaneously, from a high-level specification, code and all annotations required to certify generated code. Here, we describe a certification extension of AUTOBAYES, a synthesis tool which automatically generates complex data analysis programs from compact specifications. AUTOBAYES contains sufficient high-level domain knowledge to generate detailed annotations. This allows us to use a general-purpose verification condition generator to produce a set of proof obligations in first-order logic. The obligations are then discharged using the automated theorem E-SETHEO. We demonstrate our approach by certifying operator safety for a generated iterative data classification program without manual annotation of the code.

Whalen, Michael