Search NASASearch

SEARCH · Search NASA

Results for “automated code 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.

28 records · Page 2

Computer-aided system design

A technique has been developed for combining features of a systems architecture design and assessment tool and a software development tool. This technique reduces simulation development time and expands simulation detail. The Architecture Design and Assessment System (ADAS), developed at the Research Triangle Institute, is a set of computer-assisted engineering tools for the design and analysis of computer systems. The ADAS system is based on directed graph concepts and supports the synthesis and analysis of software algorithms mapped to candidate hardware implementations. Greater simulation detail is provided by the ADAS functional simulator. With the functional simulator, programs written in either Ada or C can be used to provide a detailed description of graph nodes. A Computer-Aided Software Engineering tool developed at the Charles Stark Draper Laboratory (CSDL CASE) automatically generates Ada or C code from engineering block diagram specifications designed with an interactive graphical interface. A technique to use the tools together has been developed, which further automates the design process.

Walker, Carrie K.

Automated structural design with aeroelastic constraints - A review and assessment of the state of the art

A review and assessment of the state of the art in automated aeroelastic design is presented. Most of the aeroelastic design studies appearing in the literature deal with flutter, and, therefore, this paper also concentrates on flutter. The flutter design problem is divided into three cases: as isolated flutter mode, neighboring flutter modes, and a hump mode which can rise and cause a sudden, discontinuous change in the flutter velocity. Synthesis procedures are presented in terms of techniques that are appropriate for problems of various levels of difficulty. Current trends, which should result in more efficient, powerful and versatile design codes, are discussed. Approximate analysis procedures and the need for simultaneous consideration of multiple design requirements are emphasized.

Stroud, W. J.

AutoBayes/CC: Combining Program Synthesis with Automatic Code Certification: System Description

Code certification is a lightweight approach to formally demonstrate software quality. It concentrates on aspects of software quality that can be defined and formalized via properties, e.g., operator safety or memory safety. Its basic idea is to require code producers to provide formal proofs that their code satisfies these quality properties. The proofs serve as certificates which can be checked independently, by the code consumer or by certification authorities, e.g., the FAA. It is the idea underlying such approaches as proof-carrying code [6]. Code certification can be viewed as a more practical version of traditional Hoare-style program verification. The properties to be verified are fairly simple and regular so that it is often possible to use an automated theorem prover to automatically discharge all emerging proof obligations. Usually, however, the programmer must still splice auxiliary annotations (e.g., loop invariants) into the program to facilitate the proofs. For complex properties or larger programs this quickly becomes the limiting factor for the applicability of current certification approaches.

Whalen, Michael

Data Structure Alchemy

In an increasingly more data-driven world, the project set out to uncover the first principles of data-structure design, chart the immense design space they form, and build automation that can synthesize an optimal structure, or even a whole storage engine, for any given workload, hardware platform, and cost target. Data structures are at the center of every computational system and are directly responsible for its performance. Two core technical thrusts were defined: 1) Mapping design spaces for key data-centric abstractions (filters, hash functions, storage-engine layouts, neural-network topologies, blockchain protocols, image layouts, etc.). 2) Developing search & synthesis algorithms, initially analytical cost models, later neural-guided bi-level optimisers that navigate sextillions of candidate designs in seconds and materialise the best one as ready‐to-run code. This report distills the key insights, accomplishments, and impact.

97 MATHEMATICS AND COMPUTING

Improving Conceptual Design for Launch Vehicles

This report summarizes activities performed during the second year of a three year cooperative agreement between NASA - Langley Research Center and Georgia Tech. Year 1 of the project resulted in the creation of a new Cost and Business Assessment Model (CABAM) for estimating the economic performance of advanced reusable launch vehicles including non-recurring costs, recurring costs, and revenue. The current year (second year) activities were focused on the evaluation of automated, collaborative design frameworks (computation architectures or computational frameworks) for automating the design process in advanced space vehicle design. Consistent with NASA's new thrust area in developing and understanding Intelligent Synthesis Environments (ISE), the goals of this year's research efforts were to develop and apply computer integration techniques and near-term computational frameworks for conducting advanced space vehicle design. NASA - Langley (VAB) has taken a lead role in developing a web-based computing architectures within which the designer can interact with disciplinary analysis tools through a flexible web interface. The advantages of this approach are, 1) flexible access to the designer interface through a simple web browser (e.g. Netscape Navigator), 2) ability to include existing 'legacy' codes, and 3) ability to include distributed analysis tools running on remote computers. To date, VAB's internal emphasis has been on developing this test system for the planetary entry mission under the joint Integrated Design System (IDS) program with NASA - Ames and JPL. Georgia Tech's complementary goals this year were to: 1) Examine an alternate 'custom' computational architecture for the three-discipline IDS planetary entry problem to assess the advantages and disadvantages relative to the web-based approach.and 2) Develop and examine a web-based interface and framework for a typical launch vehicle design problem.

John R. Olds

Proceedings of the Second NASA Formal Methods Symposium

This publication contains the proceedings of the Second NASA Formal Methods Symposium sponsored by the National Aeronautics and Space Administration and held in Washington D.C. April 13-15, 2010. Topics covered include: Decision Engines for Software Analysis using Satisfiability Modulo Theories Solvers; Verification and Validation of Flight-Critical Systems; Formal Methods at Intel -- An Overview; Automatic Review of Abstract State Machines by Meta Property Verification; Hardware-independent Proofs of Numerical Programs; Slice-based Formal Specification Measures -- Mapping Coupling and Cohesion Measures to Formal Z; How Formal Methods Impels Discovery: A Short History of an Air Traffic Management Project; A Machine-Checked Proof of A State-Space Construction Algorithm; Automated Assume-Guarantee Reasoning for Omega-Regular Systems and Specifications; Modeling Regular Replacement for String Constraint Solving; Using Integer Clocks to Verify the Timing-Sync Sensor Network Protocol; Can Regulatory Bodies Expect Efficient Help from Formal Methods?; Synthesis of Greedy Algorithms Using Dominance Relations; A New Method for Incremental Testing of Finite State Machines; Verification of Faulty Message Passing Systems with Continuous State Space in PVS; Phase Two Feasibility Study for Software Safety Requirements Analysis Using Model Checking; A Prototype Embedding of Bluespec System Verilog in the PVS Theorem Prover; SimCheck: An Expressive Type System for Simulink; Coverage Metrics for Requirements-Based Testing: Evaluation of Effectiveness; Software Model Checking of ARINC-653 Flight Code with MCP; Evaluation of a Guideline by Formal Modelling of Cruise Control System in Event-B; Formal Verification of Large Software Systems; Symbolic Computation of Strongly Connected Components Using Saturation; Towards the Formal Verification of a Distributed Real-Time Automotive System; Slicing AADL Specifications for Model Checking; Model Checking with Edge-valued Decision Diagrams; and Data-flow based Model Analysis.

Munoz, Cesar

Reuse: A knowledge-based approach

This paper describes our research in automating the reuse process through the use of application domain models. Application domain models are explicit formal representations of the application knowledge necessary to understand, specify, and generate application programs. Furthermore, they provide a unified repository for the operational structure, rules, policies, and constraints of a specific application area. In our approach, domain models are expressed in terms of a transaction-based meta-modeling language. This paper has described in detail the creation and maintenance of hierarchical structures. These structures are created through a process that includes reverse engineering of data models with supplementary enhancement from application experts. Source code is also reverse engineered but is not a major source of domain model instantiation at this time. In the second phase of the software synthesis process, program specifications are interactively synthesized from an instantiated domain model. These specifications are currently integrated into a manual programming process but will eventually be used to derive executable code with mechanically assisted transformations. This research is performed within the context of programming-in-the-large types of systems. Although our goals are ambitious, we are implementing the synthesis system in an incremental manner through which we can realize tangible results. The client/server architecture is capable of supporting 16 simultaneous X/Motif users and tens of thousands of attributes and classes. Domain models have been partially synthesized from five different application areas. As additional domain models are synthesized and additional knowledge is gathered, we will inevitably add to and modify our representation. However, our current experience indicates that it will scale and expand to meet our modeling needs.

Iscoe, Neil

Automatic Generation of Algorithms for the Statistical Analysis of Planetary Nebulae Images

Analyzing data sets collected in experiments or by observations is a Core scientific activity. Typically, experimentd and observational data are &aught with uncertainty, and the analysis is based on a statistical model of the conjectured underlying processes, The large data volumes collected by modern instruments make computer support indispensible for this. Consequently, scientists spend significant amounts of their time with the development and refinement of the data analysis programs. AutoBayes [GF+02, FS03] is a fully automatic synthesis system for generating statistical data analysis programs. Externally, it looks like a compiler: it takes an abstract problem specification and translates it into executable code. Its input is a concise description of a data analysis problem in the form of a statistical model as shown in Figure 1; its output is optimized and fully documented C/C++ code which can be linked dynamically into the Matlab and Octave environments. Internally, however, it is quite different: AutoBayes derives a customized algorithm implementing the given model using a schema-based process, and then further refines and optimizes the algorithm into code. A schema is a parameterized code template with associated semantic constraints which define and restrict the template s applicability. The schema parameters are instantiated in a problem-specific way during synthesis as AutoBayes checks the constraints against the original model or, recursively, against emerging sub-problems. AutoBayes schema library contains problem decomposition operators (which are justified by theorems in a formal logic in the domain of Bayesian networks) as well as machine learning algorithms (e.g., EM, k-Means) and nu- meric optimization methods (e.g., Nelder-Mead simplex, conjugate gradient). AutoBayes augments this schema-based approach by symbolic computation to derive closed-form solutions whenever possible. This is a major advantage over other statistical data analysis systems which use numerical approximations even in cases where closed-form solutions exist. AutoBayes is implemented in Prolog and comprises approximately 75.000 lines of code. In this paper, we take one typical scientific data analysis problem-analyzing planetary nebulae images taken by the Hubble Space Telescope-and show how AutoBayes can be used to automate the implementation of the necessary anal- ysis programs. We initially follow the analysis described by Knuth and Hajian [KHO2] and use AutoBayes to derive code for the published models. We show the details of the code derivation process, including the symbolic computations and automatic integration of library procedures, and compare the results of the automatically generated and manually implemented code. We then go beyond the original analysis and use AutoBayes to derive code for a simple image segmentation procedure based on a mixture model which can be used to automate a manual preproceesing step. Finally, we combine the original approach with the simple segmentation which yields a more detailed analysis. This also demonstrates that AutoBayes makes it easy to combine different aspects of data analysis.

Fischer, Bernd

A study of transonic aerodynamic analysis methods for use with a hypersonic aircraft synthesis code

A means of performing routine transonic lift, drag, and moment analyses on hypersonic all-body and wing-body configurations were studied. The analysis method is to be used in conjunction with the Hypersonic Vehicle Optimization Code (HAVOC). A review of existing techniques is presented, after which three methods, chosen to represent a spectrum of capabilities, are tested and the results are compared with experimental data. The three methods consist of a wave drag code, a full potential code, and a Navier-Stokes code. The wave drag code, representing the empirical approach, has very fast CPU times, but very limited and sporadic results. The full potential code provides results which compare favorably to the wind tunnel data, but with a dramatic increase in computational time. Even more extreme is the Navier-Stokes code, which provides the most favorable and complete results, but with a very large turnaround time. The full potential code, TRANAIR, is used for additional analyses, because of the superior results it can provide over empirical and semi-empirical methods, and because of its automated grid generation. TRANAIR analyses include an all body hypersonic cruise configuration and an oblique flying wing supersonic transport.

Sandlin, Doral R.

A Multi-Disciplinary Analysis Framework for the Design of Small Launch Vehicles

Between the years of 1995 and 2014 the number of small satellites (1-500 kg) went up from 20 to 180. [1] Out of the 180 launched in 2014 66% were Nano satellites (1-10 kg). [1] With this trend of smaller satellites, one would expect a rise in number of small launch vehicles (SLVs are defined by capability to carry 1-100 kg to orbit), but this has not happened: [3] only 8% of all small satellites are launched on SLVs and the others become secondary payloads on regular launch vehicles. [1] This results in small satellites being placed into either suboptimal orbits or waiting for launch schedules to align with bigger launches, resulting in long waiting times. Dedicated SLVs could improve the responsiveness of small satellite launches, but SLV design is complicated by the large architecture space needed to be explored in order to find efficient and affordable designs. The SLV architecture trade space contains many discrete options, e.g. solid vs. liquid fuels, air launch vs. ground launch, number of stages, etc. [2][3] Performing detailed analysis for all the options at once would be prohibitive. Thus, a sizing environment/framework that is capable of providing necessary information for conceptual-level trade studies and can rapidly explore the vast SLV architecture space is necessary. The framework, illustrated in Figure 1, consists of four disciplines central to the sizing and synthesis of launch vehicles: propulsion, aerodynamics, structures, and trajectory. For the aerodynamics and trajectory disciplines, Missile DATCOM and POST2 are used, respectively. The propulsion and structures disciplines are represented in the framework with tools developed at ASDL Georgia Tech. For propulsion, the Solid Motor Analysis Code (SMAC) is a physics-based conceptual design tool for solid rocket motors. SMAC is capable of geometric burn simulation, ballistic analysis, and prediction of thrust performance. [4] For structures, Launch Vehicle Structural Analysis (LVSA) tool is a physics-based tool that focuses on structural dynamic analysis with sizing capability. These tools are integrated into the framework illustrated in Figure 1 with the corresponding connections described in Table 1. The process flow is as follows: first, SMAC sizes insulation and calculates maximum operating pressures for each vehicle stage. The MEOP and insulation thickness values from SMAC are fed to LVSA which then utilizes this information to size the motor casing. This creates a feedback loop between LVSA and SMAC that converges on the radius available for fuel, casing, and insulation thickness. Once the stage sizing is converged on SMAC creates an engine deck that is passed to POST2. Next, the data from SMAC and LVSA goes into Missile DATCOM which generates an aerodynamics database for POST2. Finally, POST2 performs a targeting optimization while maximizing the payload mass to orbit. Within the framework, POST2 is automated in order to be robust to a wide variety of possible designs by performing a Monte Carlo simulation over the initialization vector of the POST2 optimization variables. To demonstrate the capability of this framework, a sample problem of exploring the design space of an SLV capable of placing satellites into a low Earth orbit (inclination=47 deg, 196.5 by 211.3 nm) is used. This sample problem is a ground-launched SLV consisting of four in-line SRM stages. The multidisciplinary design analysis (MDA) environment is utilized to explore a design space consisting of 22 continuous and 12 discrete variables, shown by Table 1 by blocks 1,2,3. Running a full factorial design of experiments (DOE) would have been prohibitively expensive even with this reduced design space, thus a space filling design with 3,502 and then additional expansion of 2,602 cases was used. The first DOE consisted of 3,502 cases, and all of the variables were varied. These input variables are listed in blocks 1, 2, and 3 in Table 1. Most of the variables are propulsion related with stage lengths determining the delta-V split of the SLV. The expansion consisted of 2,602 cases, and the continuous variables were set to be equal to the most promising designs from the sizing of first DOE. For each set of continuous variables, the discrete variables (grain type, star points, and propellant) were to varied. The results of the DOE can be seen in Figure 2; each of the points in this plot represents a closed launch vehicle that reaches the targeted orbit. For each of the cases, there is information on flown trajectory, structural, and propulsion properties of the SLV. For example, Figure 3 shows changes in altitude and velocity with time for a particular case. The right side of Figure 3 clearly shows the coasting (slow decrease) and burning phases (sharp increase) of the SLV mission. LV mass is positively correlated with the optimized payload mass to orbit because heavier LVs carry more fuel and thus have more stored chemical energy. Furthermore, for any given payload mass to orbit, the most efficient design would result in the smallest LV. The results as visualized in Figure 2 shows this tradeoff, and the Pareto frontier of the efficient designs can be seen along the dotted line. Figure 2 can be divided into regions with the lowest mass vehicles corresponding to the minimum bound on radius, and the highest mass vehicles corresponding to the maximum bound on radius. Within a mass region, the discrete variables, such as propellant type and propellant grain arrangement, have the most effect on payload mass. This paper presents an MDA framework that can perform an automated physics-based sizing of SLV designs and a corresponding methodology to utilize the MDA to explore the design space of SLVs. The proposed methodology was applied to a perform a design space exploration for a four stage SLV. The outputs show the expected pareto frontier forming and provide detailed information about the SLV performance and staging. Using the produced data, it will be possible to select a set of pareto optimal designs that can then be further explored in subsequent design cycles. This demonstration shows that automated design space exploration should be used in the early phase design of future SLV concepts.

Nikita S Birbasov