Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “code verification”

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 199 records · Page 11

Advanced transmission studies

The NASA Lewis Research Center and the U.S. Army Aviation Systems Command share an interest in advancing the technology for helicopter propulsion systems. In particular, this paper presents highlights from that portion of the program in drive train technology and the related mechanical components. The major goals of the program are to increase the life, reliability, and maintainability; reduce the weight, noise, and vibration; and maintain the relatively high mechanical efficiency of the gear train. The current activity emphasizes noise reduction technology and analytical code development followed by experimental verification. Selected significant advances in technology for transmissions are reviewed, including advance configurations and new analytical tools. Finally, the plan for future transmission research is presented.

Coy, John J.↗

Rotorcraft transmissions

Highlighted here is that portion of the Lewis Research Center's helicopter propulsion systems program that deals with drive train technology and the related mechanical components. The major goals of the program are to increase life, reliability, and maintainability, to reduce weight, noise, and vibration, and to maintain the relatively high mechanical efficiency of the gear train. The current activity emphasizes noise reduction technology and analytical code development, followed by experimental verification. Selected significant advances in technology for transmissions are reviewed, including advanced configurations and new analytical tools. Finally, the plan for transmission research in the future is presented.

Coy, John J.↗

Overview of aerothermodynamic loads definition study

The objective of the Aerothermodynamic Loads Definition Study is to develop methods of accurately predicting the operating environment in advanced Earth-to-Orbit (ETO) propulsion systems, such as the Space Shuttle Main Engine (SSME) powerhead. Development of time averaged and time dependent three dimensional viscous computer codes as well as experimental verification and engine diagnostic testing are considered to be essential in achieving that objective. Time-averaged, nonsteady, and transient operating loads must all be well defined in order to accurately predict powerhead life. Described here is work in unsteady heat flow analysis, improved modeling of preburner flow, turbulence modeling for turbomachinery, computation of three dimensional flow with heat transfer, and unsteady viscous multi-blade row turbine analysis.

Gaugler, Raymond E.↗

An algebraic turbulence model for turbomachinery

This paper presents a description and verification of RVC3D (rotor viscous code 3-D) which provides a Euler or Navier-Stokes analysis for steady three dimensional flows in turbomachinery. A motivation for this analysis is the calculation of turbine endwall heat transfer. Features of the turbulence model code include thin-layer formulation, Baldwin-Lomax or Cebeci-Smith turbulence models, node-centered finite difference formulation, and explicit four-stage Runge-Kutta time marching scheme. Results for flat plate, annular turbine cascade, turbine endwall heat transfer, and supersonic compressor blade test cases are presented.

Chima, Rodrick V.↗

Evaluation of the efficiency and fault density of software generated by code generators

Flight computers and flight software are used for GN&C (guidance, navigation, and control), engine controllers, and avionics during missions. The software development requires the generation of a considerable amount of code. The engineers who generate the code make mistakes and the generation of a large body of code with high reliability requires considerable time. Computer-aided software engineering (CASE) tools are available which generates code automatically with inputs through graphical interfaces. These tools are referred to as code generators. In theory, code generators could write highly reliable code quickly and inexpensively. The various code generators offer different levels of reliability checking. Some check only the finished product while some allow checking of individual modules and combined sets of modules as well. Considering NASA's requirement for reliability, an in house manually generated code is needed. Furthermore, automatically generated code is reputed to be as efficient as the best manually generated code when executed. In house verification is warranted.

Schreur, Barbara↗

Clouds and the Earth's Radiant Energy System (CERES) Visualization Single Satellite Footprint (SSF) Plot Generator

The first Clouds and the Earth's Radiant Energy System (CERES) instrument will be launched in 1997 to collect data on the Earth's radiation budget. The data retrieved from the satellite will be processed through twelve subsystems. The Single Satellite Footprint (SSF) plot generator software was written to assist scientists in the early stages of CERES data analysis, producing two-dimensional plots of the footprint radiation and cloud data generated by one of the subsystems. Until the satellite is launched, however, software developers need verification tools to check their code. This plot generator will aid programmers by geolocating algorithm result on a global map.

Barsi, Julia A.↗

Testing First-Order Logic Axioms in AutoCert

AutoCert [2] is a formal verification tool for machine generated code in safety critical domains, such as aerospace control code generated from MathWorks Real-Time Workshop. AutoCert uses Automated Theorem Provers (ATPs) [5] based on First-Order Logic (FOL) to formally verify safety and functional correctness properties of the code. These ATPs try to build proofs based on user provided domain-specific axioms, which can be arbitrary First-Order Formulas (FOFs). These axioms are the most crucial part of the trusted base, since proofs can be submitted to a proof checker removing the need to trust the prover and AutoCert itself plays the part of checking the code generator. However, formulating axioms correctly (i.e. precisely as the user had really intended) is non-trivial in practice. The challenge of axiomatization arise from several dimensions. First, the domain knowledge has its own complexity. AutoCert has been used to verify mathematical requirements on navigation software that carries out various geometric coordinate transformations involving matrices and quaternions. Axiomatic theories for such constructs are complex enough that mistakes are not uncommon. Second, adjusting axioms for ATPs can add even more complexity. The axioms frequently need to be modified in order to have them in a form suitable for use with ATPs. Such modifications tend to obscure the axioms further. Thirdly, speculating validity of the axioms from the output of existing ATPs is very hard since theorem provers typically do not give any examples or counterexamples.

Ahn, Ki Yung↗

X-Ray Computed Tomography Inspection of the Stardust Heat Shield

The "Stardust" heat shield, composed of a PICA (Phenolic Impregnated Carbon Ablator) Thermal Protection System (TPS), bonded to a composite aeroshell, contains important features which chronicle its time in space as well as re-entry. To guide the further study of the Stardust heat shield, NASA reviewed a number of techniques for inspection of the article. The goals of the inspection were: 1) to establish the material characteristics of the shield and shield components, 2) record the dimensions of shield components and assembly as compared with the pre-flight condition, 3) provide flight infonnation for validation and verification of the FIAT ablation code and PICA material property model and 4) through the evaluation of the shield material provide input to future missions which employ similar materials. Industrial X-Ray Computed Tomography (CT) is a 3D inspection technology which can provide infonnation on material integrity, material properties (density) and dimensional measurements of the heat shield components. Computed tomographic volumetric inspections can generate a dimensionally correct, quantitatively accurate volume of the shield assembly. Because of the capabilities offered by X-ray CT, NASA chose to use this method to evaluate the Stardust heat shield. Personnel at NASA Johnson Space Center (JSC) and Lawrence Livermore National Labs (LLNL) recently performed a full scan of the Stardust heat shield using a newly installed X-ray CT system at JSC. This paper briefly discusses the technology used and then presents the following results: 1. CT scans derived dimensions and their comparisons with as-built dimensions anchored with data obtained from samples cut from the heat shield; 2. Measured density variation, char layer thickness, recession and bond line (the adhesive layer between the PICA and the aeroshell) integrity; 3. FIAT predicted recession, density and char layer profiles as well as bondline temperatures Finally suggestions are made as to future uses of this technology as a tool for non-destructively inspecting and verifying both pre and post flight heat shields.

McNamara, Karen M.↗

An Overview of Ares-I CFD Ascent Aerodynamic Data Development And Analysis Based on USM3D

An overview of the computational results obtained from the NASA Langley developed unstructured grid, Reynolds-averaged Navier-Stokes flow solver USM3D, in support of the Ares-I project within the NASA s Constellation program, are presented. The numerical data are obtained for representative flow conditions pertinent to the ascent phase of the trajectory at both wind tunnel and flight Reynolds number without including any propulsion effects. The USM3D flow solver has been designated to have the primary role within the Ares-I project in developing the computational aerodynamic data for the vehicle while other flow solvers, namely OVERFLOW and FUN3D, have supporting roles to provide complementary results for fewer cases as part of the verification process to ensure code-to-code solution consistency. Similarly, as part of the solution validation efforts, the predicted numerical results are correlated with the aerodynamic wind tunnel data that have been generated within the project in the past few years. Sample aerodynamic results and the processes established for the computational solution/data development for the evolving Ares-I design cycles are presented.

FUN3D↗

Engineering Software for Flight

This talk describes our efforts to improve the software engineering processes of the Copilot runtime verification framework so that the code generated can be used in UAS flights.

software engineering↗

Analysis of the MODIS Above-Cloud Aerosol Retrieval Algorithm Using MCARS

The Multi-sensor Cloud and Aerosol Retrieval Simulator (MCARS) presently produces synthetic radiance data from Goddard Earth Observing System version 5 (GEOS-5) model output as if the Moderate Resolution Imaging Spectroradiometer (MODIS) was viewing a combination of atmospheric column inclusive of clouds, aerosols and a variety of gases and land/ocean surface at a specific location. In this paper we use MCARS to study the MODIS Above-Cloud AEROsol retrieval algorithm (MOD06ACAERO). MOD06ACAERO is presently a regional research algorithm able to retrieve aerosol optical thickness over clouds, in particular absorbing biomass burning aerosols overlying marine boundary layer clouds in the Southeastern Atlantic Ocean. The algorithm’s ability to provide aerosol information in cloudy conditions makes it a valuable source of information for modeling and climate studies n an area where current clear sky-only operational MODIS aerosol retrievals effectively have a data gap between the months of June and October. We use MCARS for a verification and closure study of the MOD06ACAERO algorithm. The purpose of this study is to develop a set of constraints a model developer might use during assimilation of MOD06ACAERO data. Our simulations indicate that the MOD06ACAERO algorithm performs well for marine boundary layer clouds in the SE Atlantic provided some specific screening rules are observed. For the present study, a combination of five simulated MODIS data granules was used for a dataset of 13.5 million samples with known input conditions. When pixel retrieval uncertainty was less than 30%, optical thickness of the underlying cloud layer was greater than 4 and scattering angle range within the cloud bow was excluded, MOD06ACAERO retrievals agreed with the underlying ground truth (GEOS-5 cloud and aerosol profiles used to generate the synthetic radiances) with a slope of 0.913, offset of 0.06, and RMSE=0.107. When only near-nadir pixels were considered (view zenith angle within +/-20 degrees) the agreement with source data further improved (0.977, 0.051 and 0.096 respectively). Algorithm closure was examined using a single case out of the five 38 used for verification. For closure, the MOD06ACAERO code was modified to use GEOS-5 temperature and moisture profiles as ancillary. Agreement of MOD06ACAERO retrievals with source data for the closure study had a slope of 0.996 with offset -0.007 and RMSE of 0.097 at pixel uncertainty level of less than 40%, illustrating the benefits of high-quality ancillary atmospheric data for such retrievals.

MODIS↗

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↗

Environment Modeling Using Runtime Values for JPF-Android

Software applications are developed to be executed in a specific environment. This environment includes external native libraries to add functionality to the application and drivers to fire the application execution. For testing and verification, the environment of an application is simplified abstracted using models or stubs. Empty stubs, returning default values, are simple to generate automatically, but they do not perform well when the application expects specific return values. Symbolic execution is used to find input parameters for drivers and return values for library stubs, but it struggles to detect the values of complex objects. In this work-in-progress paper, we explore an approach to generate drivers and stubs based on values collected during runtime instead of using default values. Entry-points and methods that need to be modeled are instrumented to log their parameters and return values. The instrumented applications are then executed using a driver and instrumented libraries. The values collected during runtime are used to generate driver and stub values on- the-fly that improve coverage during verification by enabling the execution of code that previously crashed or was missed. We are implementing this approach to improve the environment model of JPF-Android, our model checking and analysis tool for Android applications.

Verification↗

Verification and Validation of the k-kL Turbulence Model in FUN3D and CFL3D Codes

The implementation of the k-kL turbulence model using multiple computational uid dy- namics (CFD) codes is reported herein. The k-kL model is a two-equation turbulence model based on Abdol-Hamid's closure and Menter's modi cation to Rotta's two-equation model. Rotta shows that a reliable transport equation can be formed from the turbulent length scale L, and the turbulent kinetic energy k. Rotta's equation is well suited for term-by-term mod- eling and displays useful features compared to other two-equation models. An important di erence is that this formulation leads to the inclusion of higher-order velocity derivatives in the source terms of the scale equations. This can enhance the ability of the Reynolds- averaged Navier-Stokes (RANS) solvers to simulate unsteady ows. The present report documents the formulation of the model as implemented in the CFD codes Fun3D and CFL3D. Methodology, veri cation and validation examples are shown. Attached and sepa- rated ow cases are documented and compared with experimental data. The results show generally very good comparisons with canonical and experimental data, as well as matching results code-to-code. The results from this formulation are similar or better than results using the SST turbulence model.

Abdol-Hamid, Khaled S.↗

Verification and validation of rulebased systems for Hubble Space Telescope ground support

As rulebase systems become more widely used in operational environments, the focus is on the problems and concerns of maintaining expert systems. In the conventional software model, the verification and validation of a system have two separate and distinct meanings. To validate a system means to demonstrate that the system does what is advertised. The verification process refers to investigating the actual code to identify inconsistencies and redundancies within the logic path. In current literature regarding maintaining rulebased systems, little distinction is made between these two terms. In fact, often the two terms are used interchangeably. Verification and validation of rulebased systems are discussed as separate but equally important aspects of the maintenance phase. Also described are some of the tools and methods that were developed at the Space Telescope Science Institute to aid in the maintenance of the rulebased system.

Vick, Shon↗

Structural behavior of scientific balloons - Finite element simulation and verification

An off-the-shelf nonlinear finite element code was used to analyze fully inflated scientific balloons. The thin balloon film was modeled by shell bending elements. Numerical difficulties caused by insignificant bending stiffness terms were overcome by introducing some artificial bending stiffness. This approximation is justified by the fact that in thin shells with nonzero Gaussian curvature the membrane solution component is essentially independent of the bending solution component. Perturbation of the coveraged solution by increasing the bending stiffness by a full decade verified this assertion. This analytical approach was experimentally verified. As a result of this verification process it was discovered that the generally accepted linearly visco-elastic model for polyethylene film is inappropriate for a significant planar (as opposed to uniaxial) stress state. A linear elastic model presents a good approximation for planar stress states.

Schur, Willi W.↗

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↗

Transonic flow about a thick circular-arc airfoil

An experimental and theoretical study of transonic flow over a thick airfoil, prompted by a need for adequately documented experiments that could provide rigorous verification of viscous flow simulation computer codes, is reported. Special attention is given to the shock-induced separation phenomenon in the turbulent regime. Measurements presented include surface pressures, streamline and flow separation patterns, and shadowgraphs. For a limited range of free-stream Mach numbers the airfoil flow field is found to be unsteady. Dynamic pressure measurements and high-speed shadowgraph movies were taken to investigate this phenomenon. Comparisons of experimentally determined and numerically simulated steady flows using a new viscous-turbulent code are also included. The comparisons show the importance of including an accurate turbulence model. When the shock-boundary layer interaction is weak the turbulence model employed appears adequate, but when the interaction is strong, and extensive regions of separation are present, the model is inadequate and needs further development.

Mcdevitt, J. B.↗