Search NASA⌕ Search

SEARCH · Search NASA

Results for “automatic generation”

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 739 records · Page 41

Evaluation of Separation Mechanism Design for the Orion/Ares Launch Vehicle

As a part of the preliminary design work being performed for the Orion vehicle, the Orion to Spacecraft Adaptor (SA) separation mechanism mechanism was analyzed and sized, with findings presented here. Sizing is based on worst case abort condition as a result of an anomaly driving the launch vehicle engine thrust vector control hard-over causing a severe vehicle pitch over. This worst case scenario occurs just before Upper Stage Main Engine Cut-Off (MECO) when the vehicle is the lightest and the damping effect due to propellant slosh has been reduced to a minimum. To address this scenario and others, two modeling approaches were invoked. The first approach was a detailed Simulink model to quickly assess the Service Module Engine nozzle to SA clearance for a given separation mechanism. The second approach involved the generation of an Automatic Dynamic Analysis of Mechanical Systems (ADAMS) model to assess secondary effects due to mass centers of gravity that were slightly off the vehicle centerline. It also captured any interference between the Solar Arrays and the Spacecraft Adapter. A comparison of modeling results and accuracy are discussed. Most notably, incorporating a larger SA flange diameter allowed for a natural separation of the Orion and its engine nozzle even at relatively large pitch rates minimizing the kickoff force. Advantages and disadvantages of the Simulink model vs. a full geometric ADAMS model are discussed as well.

Konno, Kevin E.↗

Evaluation of Separation Mechanism Design for the Orion/Ares Launch Vehicle

As a part of the preliminary design work being performed for the Orion vehicle, the Orion to Spacecraft Adaptor (SA) separation mechanism was analyzed and sized, with findings presented here. Sizing is based on worst case abort condition as a result of an anomaly driving the launch vehicle engine thrust vector control hard-over causing a severe vehicle pitch over. This worst case scenario occurs just before Upper Stage Main Engine Cut-Off (MECO) when the vehicle is the lightest and the damping effect due to propellant slosh has been reduced to a minimum. To address this scenario and others, two modeling approaches were invoked. The first approach was a detailed 2-D (Simulink) model to quickly assess the Service Module Engine nozzle to SA clearance for a given separation mechanism. The second approach involved the generation of an Automatic Dynamic Analysis of Mechanical Systems (ADAMS) model to assess secondary effects due to mass centers of gravity that were slightly off the vehicle centerline. It also captured any interference between the Solar Arrays and the Spacecraft Adapter. A comparison of modeling results and accuracy are discussed. Most notably, incorporating a larger SA flange diameter allowed for a natural separation of the Orion and its engine nozzle even at relatively large pitch rates minimizing the kickoff force. Advantages and disadvantages of the 2-D model vs. a full 3-D (ADAMS) model are discussed as well.

Konno, Kevin E.↗

jFuzz: A Concolic Whitebox Fuzzer for Java

We present jFuzz, a automatic testing tool for Java programs. jFuzz is a concolic whitebox fuzzer, built on the NASA Java PathFinder, an explicit-state Java model checker, and a framework for developing reliability and analysis tools for Java. Starting from a seed input, jFuzz automatically and systematically generates inputs that exercise new program paths. jFuzz uses a combination of concrete and symbolic execution, and constraint solving. Time spent on solving constraints can be significant. We implemented several well-known optimizations and name-independent caching, which aggressively normalizes the constraints to reduce the number of calls to the constraint solver. We present preliminary results due to the optimizations, and demonstrate the effectiveness of jFuzz in creating good test inputs. The source code of jFuzz is available as part of the NASA Java PathFinder. jFuzz is intended to be a research testbed for investigating new testing and analysis techniques based on concrete and symbolic execution. The source code of jFuzz is available as part of the NASA Java PathFinder.

Jayaraman, Karthick↗

Evaluation of Separation Mechanism Design for the Orion/Ares Launch Vehicle

As a part of the preliminary design work being performed for the Orion vehicle, the Orion to Spacecraft Adaptor (SA) separation mechanism was analyzed and sized, with findings presented here. Sizing is based on worst case abort condition as a result of an anomaly driving the launch vehicle engine thrust vector control hard-over causing a severe vehicle pitch over. This worst case scenario occurs just before Upper Stage Main Engine Cut-Off (MECO) when the vehicle is the lightest and the damping effect due to propellant slosh has been reduced to a minimum. To address this scenario and others, two modeling approaches were invoked. The first approach was a detailed 2-D (Simulink) model to quickly assess the Service Module Engine nozzle to SA clearance for a given separation mechanism. The second approach involved the generation of an Automatic Dynamic Analysis of Mechanical Systems (ADAMS) model to assess secondary effects due to mass centers of gravity that were slightly off the vehicle centerline. It also captured any interference between the Solar Arrays and the Spacecraft Adapter. A comparison of modeling results and accuracy are discussed. Most notably, incorporating a larger SA flange diameter allowed for a natural separation of the Orion and its engine nozzle even at relatively large pitch rates minimizing the kickoff force. Advantages and disadvantages of the 2-D model vs. a full 3-D (ADAMS) model are discussed as well.

Konno, Kevin E.↗

Satellite-Derived Management Zones

The term "satellite-derived management zones" (SAMZ) denotes agricultural management zones that are subdivisions of large fields and that are derived from images of the fields acquired by instruments aboard Earth-orbiting satellites during approximately the past 15 years. "SAMZ" also denotes the methodology and the software that implements the methodology for creating such zones. The SAMZ approach is one of several products of continuing efforts to realize a concept of precision agriculture, which involves optimal variations in seeding, in application of chemicals, and in irrigation, plus decisions to farm or not to farm certain portions of fields, all in an effort to maximize profitability in view of spatial and temporal variations in the growth and health of crops, and in the chemical and physical conditions of soils. As used here, "management zone" signifies, more precisely, a subdivision of a field within which the crop-production behavior is regarded as homogeneous. From the perspective of precision agriculture, management zones are the smallest subdivisions between which the seeding, application of chemicals, and other management parameters are to be varied. In the SAMZ approach, the main sources of data are the archives of satellite imagery that have been collected over the years for diverse purposes. One of the main advantages afforded by the SAMZ approach is that the data in these archives can be reused for purposes of precision agriculture at low cost. De facto, these archives contain information on all sources of variability within a field, including weather, crop types, crop management, soil types, and water drainage patterns. The SAMZ methodology involves the establishment of a Web-based interface based on an algorithm that generates management zones automatically and quickly from archival satellite image data in response to requests from farmers. A farmer can make a request by either uploading data describing a field boundary to the Web site or else drawing the boundary on a reference image. Hence, a farmer can start to engage in precision farming shortly after gaining access to the Web site, without the need for incurring the high costs of conventional precision-agriculture data-collection practices that include collecting soil samples, mapping electrical conductivity of soil, and compiling multiyear crop-yield data. Given the boundary of a field, a SAMZ server computes the zones within the field in a three-stage process. In the first stage, a vector-valued image of the field is constructed by assembling, from the archives, the equivalent of a stack of the available images of the field (see figure). In the second stage, the vector-valued image is analyzed by use of a wavelet transform that detects spatial variations considered significant for precision farming while suppressing small-scale heterogeneities that are regarded as insignificant. In the third stage, a segmentation algorithm assembles the zones from smaller regions that have been identified in the wavelet analysis.

Lepoutre, Damien↗

SequenceL: Automated Parallel Algorithms Derived from CSP-NT Computational Laws

With the introduction of new parallel architectures like the cell and multicore chips from IBM, Intel, AMD, and ARM, as well as the petascale processing available for highend computing, a larger number of programmers will need to write parallel codes. Adding the parallel control structure to the sequence, selection, and iterative control constructs increases the complexity of code development, which often results in increased development costs and decreased reliability. SequenceL is a high-level programming language that is, a programming language that is closer to a human s way of thinking than to a machine s. Historically, high-level languages have resulted in decreased development costs and increased reliability, at the expense of performance. In recent applications at JSC and in industry, SequenceL has demonstrated the usual advantages of high-level programming in terms of low cost and high reliability. SequenceL programs, however, have run at speeds typically comparable with, and in many cases faster than, their counterparts written in C and C++ when run on single-core processors. Moreover, SequenceL is able to generate parallel executables automatically for multicore hardware, gaining parallel speedups without any extra effort from the programmer beyond what is required to write the sequen tial/singlecore code. A SequenceL-to-C++ translator has been developed that automatically renders readable multithreaded C++ from a combination of a SequenceL program and sample data input. The SequenceL language is based on two fundamental computational laws, Consume-Simplify- Produce (CSP) and Normalize-Trans - pose (NT), which enable it to automate the creation of parallel algorithms from high-level code that has no annotations of parallelism whatsoever. In our anecdotal experience, SequenceL development has been in every case less costly than development of the same algorithm in sequential (that is, single-core, single process) C or C++, and an order of magnitude less costly than development of comparable parallel code. Moreover, SequenceL not only automatically parallelizes the code, but since it is based on CSP-NT, it is provably race free, thus eliminating the largest quality challenge the parallelized software developer faces.

Cooke, Daniel↗

TracKlinic: Diagnosis of Challenge Factors in Visual Tracking

Generic visual object tracking is difficult due to many challenge factors (e.g., occlusion, blur, etc.). Each of these factors may cause serious problems for a tracker, and when they work together can make things even more complicated. Despite a great amount of efforts devoted to understanding the behavior of trackers, reliable and quantifiable ways for studying the per factor tracking behavior remain barely available. Addressing this issue, in this paper we contribute to the community a tracking diagnosis toolkit, TracKlinic, for diagnosis of challenge factors of tracking algorithms. TracKlinic consists of two novel components focusing on the data and analysis aspects, respectively. For the data component, we carefully prepare a set of 2,390 annotated videos, each involving one and only one major challenge factor. When analyzing an algorithm for a specific challenge factor, such one-factor-per-sequence rule greatly inhibits the disturbance from other factors and consequently leads to more faithful analysis. For the analysis component, given the tracking results on all sequences, it investigates the behavior of the tracker under each individual factor and generates the report automatically. With TracKlinic, a thorough study is conducted on ten state-of-the-art trackers on nine challenge factors (including two compound ones). The results suggest that, heavy shape variation and occlusion are the two most challenging factors faced by most trackers. Besides, out-of-view, though does not happen frequently, is often fatal. By sharing TracKlinic1, we expect to make it much easier for diagnosing tracking algorithms, and to thus facilitate developing better ones.

97 MATHEMATICS AND COMPUTING↗

"Hybrid fracture/matrix modeling for well completion options evaluation"

Orientation and completion for well pairs that have been subjected to multi-zonal stimulation play a critical role in the long-term performance of an Enhanced Geothermal Reservoir. Here we present the development of a methodology to rapidly and efficiently numerically simulate mixed fracture-matrix flow systems for evaluation of well design and completion options. The methodology is based on a loose coupling framework, allowing the fracture and matrix systems to be meshed separately. The fracture system includes the integration of fracture growth and aperture data from well stimulation simulations of stochastically generated fracture networks. Automatic mesh refinement is used in the matrix simulation to resolve heat transfer near the fracture network. This simulation framework is used to efficiently determine optimal production and injection well placement using adaptive sampling.

15 GEOTHERMAL ENERGY↗

Annular Metallic Nuclear Fuel Informatics at 50 nm Resolution

U-10wt.% Zr (U-10Zr) based metallic fuel is the leading candidate for next-generation sodium cooled fast reactor in United States. Advanced post-irradiation characterization (from sub-nanometer to micrometer) helps to understand fuel microstructure and property change during irradiation, benefiting fuel qualification for commercial application. With high velocity image data generating method, an automatic way to extract the microstructural information quantitively can better serve the needs from post irradiation characterization. A trained machine learning model, named Decision Tree, is employed to categorize pores caused by fission gas release and to aid phase identification. This work presents a showcase of this approach on different irradiated U-10Zr metallic fuels. This quantitative data offers insights into the fission product migration and potentially thermal conductivity degradation. This information from machine learning will be fed into fuel design code for better prediction of fuel performance.

11 NUCLEAR FUEL CYCLE AND FUEL MATERIALS↗

Automating NISQ Application Design with Meta Quantum Circuits with Constraints (MQCC)

Near-term intermediate scale quantum (NISQ) computers are likely to have very restricted hardware resources, where precisely controllable qubits are expensive, error-prone, and scarce. Programmers of such computers must therefore balance trade-offs among a large number of (potentially heterogeneous) factors specific to the targeted application and quantum hardware. To assist them, we propose Meta Quantum Circuits with Constraints (MQCC), a meta-programming framework for quantum programs. Programmers express their application as a succinct collection of normal quantum circuits stitched together by a set of (manually or automatically) added meta-level choice variables, whose values are constrained according to a programmable set of quantitative optimization criteria. MQCC’s compiler generates the appropriate constraints and solves them via an SMT solver, producing an optimized, runnable program. We showcase a few MQCC’s applications for its generality including an automatic generation of efficient error syndrome extraction schemes for fault-tolerant quantum error correction with heterogeneous qubits and an approach to writing approximate quantum Fourier transformation and quantum phase estimation that smoothly trades off accuracy and resource use. We also illustrate that MQCC can easily encode prior one-off NISQ application designs-–multi-programming (MP), crosstalk mitigation (CM)—as well as a combination of their optimization goals (i.e., a combined MP-CM).

97 MATHEMATICS AND COMPUTING↗

Towards reverse mode automatic differentiation of Kokkos-based codes

Derivative computation is a key component of optimization, sensitivity analysis, uncertainty quantification, and the solving of nonlinear problems. Automatic differentiation (AD) is a powerful technique for evaluating such derivatives, and in recent years, has been integrated into programming environments such as Jax, PyTorch, and TensorFlow to support derivative computations needed for training of machine learning models, facilitating wide-spread use of these technologies. The C++ language has become the de facto standard for scientific computing due to numerous factors, yet language complexity has made the wide-spread adoption of AD technologies for C++ difficult, hampering the incorporation of powerful differentiable programming approaches into C++ scientific simulations. This is exacerbated by the increasing emergence of architectures, such as GPUs, with limited memory capabilities and requiring massive thread-level concurrency. C++ AD tools must effectively use these environments to bring novel scientific simulations to next-generation DOE experimental and observational facilities. In this project, we investigated source transformation-based automatic differentiation using LLVM compiler infrastructure to automatically generate portable and efficient gradient computations of Kokkos-based code. We have demonstrated that our proposed strategy is feasible by investigating the usage of a prototype LLVM-based source transformation tool to generate gradients of simple functions made of sequences of simple Kokkos parallel regions. Speedups of up to 500x compared to Sacado were observed on NVIDIA V100 GPU.

97 MATHEMATICS AND COMPUTING↗

Computer-Aided Parallelizer and Optimizer

The Computer-Aided Parallelizer and Optimizer (CAPO) automates the insertion of compiler directives (see figure) to facilitate parallel processing on Shared Memory Parallel (SMP) machines. While CAPO currently is integrated seamlessly into CAPTools (developed at the University of Greenwich, now marketed as ParaWise), CAPO was independently developed at Ames Research Center as one of the components for the Legacy Code Modernization (LCM) project. The current version takes serial FORTRAN programs, performs interprocedural data dependence analysis, and generates OpenMP directives. Due to the widely supported OpenMP standard, the generated OpenMP codes have the potential to run on a wide range of SMP machines. CAPO relies on accurate interprocedural data dependence information currently provided by CAPTools. Compiler directives are generated through identification of parallel loops in the outermost level, construction of parallel regions around parallel loops and optimization of parallel regions, and insertion of directives with automatic identification of private, reduction, induction, and shared variables. Attempts also have been made to identify potential pipeline parallelism (implemented with point-to-point synchronization). Although directives are generated automatically, user interaction with the tool is still important for producing good parallel codes. A comprehensive graphical user interface is included for users to interact with the parallelization process.

Jin, Haoqiang↗

Numerical Investigation and Optimization of a Flushwall Injector for Scramjet Applications at Hypervelocity Flow Conditions

An investigation utilizing Reynolds-averaged simulations (RAS) was performed in order to demonstrate the use of design and analysis of computer experiments (DACE) methods in Sandia’s DAKOTA software package for surrogate modeling and optimization. These methods were applied to a flow- path fueled with an interdigitated flushwall injector suitable for scramjet applications at hyper- velocity conditions and ascending along a constant dynamic pressure flight trajectory. The flight Mach number, duct height, spanwise width, and injection angle were the design variables selected to maximize two objective functions: the thrust potential and combustion efficiency. Because the RAS of this case are computationally expensive, surrogate models are used for optimization. To build a surrogate model a RAS database is created. The sequence of the design variables comprising the database were generated using a Latin hypercube sampling (LHS) method. A methodology was also developed to automatically build geometries and generate structured grids for each design point. The ensuing RAS analysis generated the simulation database from which the two objective functions were computed using a one-dimensionalization (1D) of the three-dimensional simulation data. The data were fitted using four surrogate models: an artificial neural network (ANN), a cubic polynomial, a quadratic polynomial, and a Kriging model. Variance-based decomposition showed that both objective functions were primarily driven by changes in the duct height. Multiobjective design optimization was performed for all four surrogate models via a genetic algorithm method. Optimal solutions were obtained at the upper and lower bounds of the flight Mach number range. The Kriging model predicted an optimal solution set that exhibited high values for both objective functions. Additionally, three challenge points were selected to assess the designs on the Pareto fronts. Further sampling among the designs of the Pareto fronts may be required to lower the surrogate model errors and perform more accurate surrogate-model-based optimization.

Shenoy, Rajiv R.↗

Certifying Auto-Generated Flight Code

Model-based design and automated code generation are being used increasingly at NASA. Many NASA projects now use MathWorks Simulink and Real-Time Workshop for at least some of their modeling and code development. However, there are substantial obstacles to more widespread adoption of code generators in safety-critical domains. Since code generators are typically not qualified, there is no guarantee that their output is correct, and consequently the generated code still needs to be fully tested and certified. Moreover, the regeneration of code can require complete recertification, which offsets many of the advantages of using a generator. Indeed, manual review of autocode can be more challenging than for hand-written code. Since the direct V&V of code generators is too laborious and complicated due to their complex (and often proprietary) nature, we have developed a generator plug-in to support the certification of the auto-generated code. Specifically, the AutoCert tool supports certification by formally verifying that the generated code is free of different safety violations, by constructing an independently verifiable certificate, and by explaining its analysis in a textual form suitable for code reviews. The generated documentation also contains substantial tracing information, allowing users to trace between model, code, documentation, and V&V artifacts. This enables missions to obtain assurance about the safety and reliability of the code without excessive manual V&V effort and, as a consequence, eases the acceptance of code generators in safety-critical contexts. The generation of explicit certificates and textual reports is particularly well-suited to supporting independent V&V. The primary contribution of this approach is the combination of human-friendly documentation with formal analysis. The key technical idea is to exploit the idiomatic nature of auto-generated code in order to automatically infer logical annotations. The annotation inference algorithm itself is generic, and parametrized with respect to a library of coding patterns that depend on the safety policies and the code generator. The patterns characterize the notions of definitions and uses that are specific to the given safety property. For example, for initialization safety, definitions correspond to variable initializations while uses are statements which read a variable, whereas for array bounds safety, definitions are the array declarations, while uses are statements which access an array variable. The inferred annotations are thus highly dependent on the actual program and the properties being proven. The annotations, themselves, need not be trusted, but are crucial to obtain the automatic formal verification of the safety properties without requiring access to the internals of the code generator. The approach has been applied to both in-house and commercial code generators, but is independent of the particular generator used. It is currently being adapted to flight code generated using MathWorks Real-Time Workshop, an automatic code generator that translates from Simulink/Stateflow models into embedded C code.

Denney, Ewen↗

A CSP-Based Agent Modeling Framework for the Cougaar Agent-Based Architecture

Cognitive Agent Architecture (Cougaar) is a Java-based architecture for large-scale distributed agent-based applications. A Cougaar agent is an autonomous software entity with behaviors that represent a real-world entity (e.g., a business process). A Cougaar-based Model Driven Architecture approach, currently under development, uses a description of system's functionality (requirements) to automatically implement the system in Cougaar. The Communicating Sequential Processes (CSP) formalism is used for the formal validation of the generated system. Two main agent components, a blackboard and a plugin, are modeled as CSP processes. A set of channels represents communications between the blackboard and individual plugins. The blackboard is represented as a CSP process that communicates with every agent in the collection. The developed CSP-based Cougaar modeling framework provides a starting point for a more complete formal verification of the automatically generated Cougaar code. Currently it is used to verify the behavior of an individual agent in terms of CSP properties and to analyze the corresponding Cougaar society.

Gracanin, Denis↗

Formal Safety Certification of Aerospace Software

In principle, formal methods offer many advantages for aerospace software development: they can help to achieve ultra-high reliability, and they can be used to provide evidence of the reliability claims which can then be subjected to external scrutiny. However, despite years of research and many advances in the underlying formalisms of specification, semantics, and logic, formal methods are not much used in practice. In our opinion this is related to three major shortcomings. First, the application of formal methods is still expensive because they are labor- and knowledge-intensive. Second, they are difficult to scale up to complex systems because they are based on deep mathematical insights about the behavior of the systems (t.e., they rely on the "heroic proof"). Third, the proofs can be difficult to interpret, and typically stand in isolation from the original code. In this paper, we describe a tool for formally demonstrating safety-relevant aspects of aerospace software, which largely circumvents these problems. We focus on safely properties because it has been observed that safety violations such as out-of-bounds memory accesses or use of uninitialized variables constitute the majority of the errors found in the aerospace domain. In our approach, safety means that the program will not violate a set of rules that can range for the simple memory access rules to high-level flight rules. These different safety properties are formalized as different safety policies in Hoare logic, which are then used by a verification condition generator along with the code and logical annotations in order to derive formal safety conditions; these are then proven using an automated theorem prover. Our certification system is currently integrated into a model-based code generation toolset that generates the annotations together with the code. However, this automated formal certification technology is not exclusively constrained to our code generator and could, in principle, also be integrated with other code generators such as RealTime Workshop or even applied to legacy code. Our approach circumvents the historical problems with formal methods by increasing the degree of automation on all levels. The restriction to safety policies (as opposed to arbitrary functional behavior) results in simpler proof problems that can generally be solved by fully automatic theorem proves. An automated linking mechanism between the safety conditions and the code provides some of the traceability mandated by process standards such as DO-178B. An automated explanation mechanism uses semantic markup added by the verification condition generator to produce natural-language explanations of the safety conditions and thus supports their interpretation in relation to the code. It shows an automatically generated certification browser that lets users inspect the (generated) code along with the safety conditions (including textual explanations), and uses hyperlinks to automate tracing between the two levels. Here, the explanations reflect the logical structure of the safety obligation but the mechanism can in principle be customized using different sets of domain concepts. The interface also provides some limited control over the certification process itself. Our long-term goal is a seamless integration of certification, code generation, and manual coding that results in a "certified pipeline" in which specifications are automatically transformed into executable code, together with the supporting artifacts necessary for achieving and demonstrating the high level of assurance needed in the aerospace domain.

Denney, Ewen↗

Numerical Investigation of the Micromechanics of Composite Fracture

A generalized program for the two-dimensional analysis of static crack growth problems was developed and is being tested. In addition to a detailed examination and development of fracture criteria needed to track cracks in composites at the micromechanical level, the program employs fully automatic finite element mesh generation. This is an entirely new approach in program structure that is being taken to allow for the automatic tracking of discrete crack growth. The maximum strain energy density criterion (T-criterion) was found to be a good alternative to the minimum strain energy density criterion (S-criterion).

Source record↗

An Automatic Medium to High Fidelity Low-Thrust Global Trajectory Toolchain; EMTG-GMAT

Solving the global optimization, low-thrust, multiple-flyby interplanetary trajectory problem with high-fidelity dynamical models requires an unreasonable amount of computational resources. A better approach, and one that is demonstrated in this paper, is a multi-step process whereby the solution of the aforementioned problem is solved at a lower-fidelity and this solution is used as an initial guess for a higher-fidelity solver. The framework presented in this work uses two tools developed by NASA Goddard Space Flight Center: the Evolutionary Mission Trajectory Generator (EMTG) and the General Mission Analysis Tool (GMAT). EMTG is a medium to medium-high fidelity low-thrust interplanetary global optimization solver, which now has the capability to automatically generate GMAT script files for seeding a high-fidelity solution using GMAT's local optimization capabilities. A discussion of the dynamical models as well as thruster and power modeling for both EMTG and GMAT are given in this paper. Current capabilities are demonstrated with examples that highlight the toolchains ability to efficiently solve the difficult low-thrust global optimization problem with little human intervention.

low thrust↗