Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “program 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 55 records · Page 3

Deep Impact Extended Mission Challenges for the Validation and Verification Test Program

The Deep Impact Spacecraft was launched on January 12, 2005 as part of NASA's Discovery Program as a radical mission to excavate the interior of a comet. The Spacecraft consisted of two separate entities known as the Flyby and the Impactor, which were commanded to separate prior to comet rendezvous with comet 9P/Tempel 1. The overall mission was deemed a success on July 4, 2005, as the 370-kg Impactor collided with the comet at 10.2 km/s. This event was captured using the camera and infrared spectrometer on the Flyby spacecraft, along with ground-based observatories. Since this event, the Flyby spacecraft has been in hibernation mode and has received only a small amount of maintenance. The Deep Impact Program was managed by the Jet Propulsion Laboratory (JPL), led by Dr. Michael A'Hearn from the University of Maryland in College Park, and built by Ball Aerospace & Technologies Corp. in Boulder, Colorado.

Test Bench↗

Introduction to Penelope

A formal program verification is a (mathematical) proof that a program executed according to its intended model meets some specification. This proves that the algorithm defined by the program is correct in the precise technical sense of being consistent with a particular specification. A program correct in this sense is free from a large and important class of errors, even though its behavior may still produce unintended results--either because the implementation of the programming language itself does not match the model of execution, or because the specification does not correctly express the user's intentions. Penelope is a prototype system for interactively developing and verifying programs that are written in a rich subset of sequential Ada. Penelope can be used to develop a program and its correctness proof incrementally, and in concert with one another. Incrementality is used in a number of ways to help make verification more tractable and more productive. For example, if an already-verified program is modified, one can attempt to prove the modified version by replaying and modifying the original verification. Penelope's specification language, Larch/Ada, belongs to the family of Larch interface languages. Larch/Ada scales up properly, in the sense that it is demonstrably sound to decompose a system hierarchically and reason locally about the implementation of each piece. Penelope has been applied in various demonstration projects--for specification (guidance control, distributed operating systems), verification (of off-the-shelf code), and formal development (by non-expert as well as expert users). Some features of Penelope have been embodied in Ada Wise, a lint-like non-interactive tool that warns of the potential for certain dynamic semantic errors in Ada programs.

Guaspari, David↗

Computer simulated building energy consumption for verification of energy conservation measures in network facilities

A computer program called ECPVER (Energy Consumption Program - Verification) was developed to simulate all energy loads for any number of buildings. The program computes simulated daily, monthly, and yearly energy consumption which can be compared with actual meter readings for the same time period. Such comparison can lead to validation of the model under a variety of conditions, which allows it to be used to predict future energy saving due to energy conservation measures. Predicted energy saving can then be compared with actual saving to verify the effectiveness of those energy conservation changes. This verification procedure is planned to be an important advancement in the Deep Space Network Energy Project, which seeks to reduce energy cost and consumption at all DSN Deep Space Stations.

Plankey, B.↗

HDM/PASCAL Verification System User's Manual

The HDM/Pascal verification system is a tool for proving the correctness of programs written in PASCAL and specified in the Hierarchical Development Methodology (HDM). This document assumes an understanding of PASCAL, HDM, program verification, and the STP system. The steps toward verification which this tool provides are parsing programs and specifications, checking the static semantics, and generating verification conditions. Some support functions are provided such as maintaining a data base, status management, and editing. The system runs under the TOPS-20 and TENEX operating systems and is written in INTERLISP. However, no knowledge is assumed of these operating systems or of INTERLISP. The system requires three executable files, HDMVCG, PARSE, and STP. Optionally, the editor EMACS should be on the system in order for the editor to work. The file HDMVCG is invoked to run the system. The files PARSE and STP are used as lower forks to perform the functions of parsing and proving.

Hare, D.↗

Code Verification and Solution Verification framework in pin-resolved neutron transport code MPACT

Program verification in scientific computing encompasses the application of formal and mathematical techniques to a scientific computing code for its credibility, accuracy, and validity. Code Verification identifies bugs and performance issues in the software development stage. Solution Verification assesses the applicability of the code and the accuracy of the solution to problems of interest. Both activities utilize application cases and quantify the error against prescribed acceptance criteria. However, simply executing more application cases does not guarantee stronger or more comprehensive credibility. Here, we establish a verification framework that involves Code Verification and Solution Verification, both of which work together such that the overarching goal of “converge to the correct answer for the intended application” can be reasonably inferred. The application of such a verification framework is demonstrated using the pin-resolved neutron transport code MPACT, where standard unit tests and regression tests are covered, and where the Method of Exact Solutions and the Method of Manufactured Solutions are successfully used. Additionally, the applicability of Method of Manufactured Solutions is extended to the OECD/NEA C5G7 benchmark problems of practical material and geometric configurations. Solution Verification activities are demonstrated on a practical hierarchy of application models of increasing complexity ranging from 2D pin cell problems to 3D assembly problems. The convergence behavior and rate of convergence with respect to each individual variable are studied and provided. This framework can be adapted broadly to other fields involving scientific computing codes.

97 MATHEMATICS AND COMPUTING↗

Columbus pressurized module verification

The baseline verification approach of the COLUMBUS Pressurized Module was defined during the A and B1 project phases. Peculiarities of the verification program are the testing requirements derived from the permanent manned presence in space. The model philosophy and the test program have been developed in line with the overall verification concept. Such critical areas as meteoroid protections, heat pipe radiators and module seals are identified and tested. Verification problem areas are identified and recommendations for the next development are proposed.

Messidoro, Piero↗

Hierarchical Design and Verification for VLSI

The specification and verification work is described in detail, and some of the problems and issues to be resolved in their application to Very Large Scale Integration VLSI systems are examined. The hierarchical design methodologies enable a system architect or design team to decompose a complex design into a formal hierarchy of levels of abstraction. The first step inprogram verification is tree formation. The next step after tree formation is the generation from the trees of the verification conditions themselves. The approach taken here is similar in spirit to the corresponding step in program verification but requires modeling of the semantics of circuit elements rather than program statements. The last step is that of proving the verification conditions using a mechanical theorem-prover.

Shostak, R. E.↗

NASA airframe structural integrity program

NASA initiated a research program with the long-term objective of supporting the aerospace industry in addressing issues related to the aging of the commercial transport fleet. The program combines advanced fatigue crack growth prediction methodology with innovative nondestructive examination technology with the focus on multi-stage damage (MSD) at rivited connections. A fracture mechanics evaluation of the concept of pressure proof testing the fuselage to screen for MSD was completed. A successful laboratory demonstration of the ability of the thermal flux method to detect disbonds at rivited lap splice joints was conducted. All long-term program elements were initiated, and the plans for the methodology verification program are being coordinated with the airframe manufacturers.

Harris, Charles E.↗

Validation of Test Methods for Air Leak Rate Verification of Spaceflight Hardware

As deep space exploration continues to be the goal of NASAs human spaceflight program, verification of the performance of spaceflight hardware becomes increasingly critical. Suitable test methods for verifying the leak rate of sealing systems are identified in program qualification testing requirements. One acceptable method for verifying the air leak rate of gas pressure seals is the tracer gas leak detector method. In this method, a tracer gas (commonly helium) leaks past the test seal and is transported to the leak detector where the leak rate is quantified. To predict the air leak rate, a conversion factor of helium-to-air is applied depending on the magnitude of the helium flow rate. The conversion factor is based on either the molecular mass ratio or the ratio of the dynamic viscosities. The current work was aimed at validating this approach for permeation-level leak rates using a series of tests with a silicone elastomer O-ring. An established pressure decay method with constant differential pressure was used to evaluate both the air and helium leak rates of the O-ring under similar temperature and pressure conditions. The results from the pressure decay tests showed, for the elastomer O-ring, that neither the molecular flow nor the viscous flow helium-to-air conversion factors were applicable. Leak rate tests were also performed using nitrogen and argon as the test gas. Molecular mass and viscosity based helium-to-test gas conversion factors were applied, but did not correctly predict the measured leak rates of either gas. To further this study, the effect of pressure boundary conditions was investigated. Often, pressure decay leak rate tests are performed at a differential pressure of 101.3 kPa with atmospheric pressure on the downstream side of the test seal. In space applications, the differential pressure is similar, but with vacuum as the downstream pressure. The same O-ring was tested at four unique differential pressures ranging from 34.5 to 137.9 kPa. Up to six combinations of upstream and downstream pressures for each differential pressure were compared. For a given differential pressure, the various combinations of upstream and downstream dry air pressures did not significantly affect the leak rate. As expected, the leak rate of the O-ring increased with increasing differential pressure. The results suggested that the current leak test pressure conditions, used to verify spacecraft sealing systems with elastomer seals, produce accurate values even though the boundary conditions do not model the space application.

helium leak detector↗

NASA airframe structural integrity program

NASA has initiated a research program with the long-term objective of supporting the aerospace industry in addressing issues related to the aging commercial transport fleet. The interdisciplinary program combines advanced fatigue crack growth prediction methodology with innovative nondestructive examination technology with the focus on multi-site damage (MSD) at riveted connections. A fracture mechanics evaluation of the concept of pressure proof testing the fuselage to screen for MSD has been completed. Also, a successful laboratory demonstration of the ability of the thermal flux method to detect disbonds at riveted lap splice joints has been conducted. All long-term program elements have been initiated and the plans for the methodology verification program are being coordinated with the airframe manufacturers.

Harris, Charles E.↗

Proving the correctness of a flight-director program for an airborne minicomputer

Program verification procedures are described and used to determine the correctness of a program written for an airborne computer. The basic method relies on the inductive assertion method of Floyd (1967), modified and extended for application to a machine-language situation. Correctness considerations in the flight director program include self-modification, system correctness, executable instructions, overflow, approximate calculations with fractional quantities, and fixed point scaling. An example proof of correctness, which proceeds by proving the correctness of a certain subroutine, is provided.

Maurer, W. D.↗

Derivation of sorting programs

Program synthesis for critical applications has become a viable alternative to program verification. Nested resolution and its extension are used to synthesize a set of sorting programs from their first order logic specifications. A set of sorting programs, such as, naive sort, merge sort, and insertion sort, were successfully synthesized starting from the same set of specifications.

Varghese, Joseph↗

Correct Compilation of Concurrent C Code

The CompCert compiler represents a landmark effort in program verification as both a piece of verified software and as a compiler for verified C programs. A key shortcoming of CompCert however is that it does not support multithreaded programs. Prior work to add threads to CompCert has either required major rewrites of parts of the proof or only works for well synchronized programs. The problem is that CompCert’s backward simulation derives from a forward simulation via the determinism of the semantics of intermediate representation languages. This makes the proofs in CompCert easier but also makes them incompatible with standard models of multithreading which are non-deterministic. Here we propose an alternate formulation of CompCert’s proof structure that parameterizes the existing single threaded semantics with nondeterministic behavior generated at the multithreading level. While this is an old trick where program equivalence is concerned, performing it in the context of CompCert is quite subtle. Our approach allows for expressive concurrent semantics and does not require major proof rewrites but still results in a global backward simulation for multithreaded programs.

97 MATHEMATICS AND COMPUTING↗

Maintaining Hubble Space Telescope performance through in-orbit servicing

The HST system design is described as well as the in-orbit servicing program. In order to verify the feasibility and the design of the HST servicing features, a design verification program, which included 1-g tests and 0-g underwater simulations, was carried out. The major elements of the space support equipment, including the flight support system, the orbital replacement unit carrier, and the solar array carrier, are addressed in detail.

Cuviello, Michael J.↗

Verification of Space Station Freedom elements and systems

NASA's Space Station Freedom (SSF) will be assembled in orbit over a period of more than four years, during which the completed sections of the SSF will proceed with research and experimentation. The feasibility of this process is being addressed by the SSF Verification Program (SSFVP), which encompasses development, qualification, acceptance, and prelaunch phases. The SSFVP emphasizes the ground-based verification of the physical and functional compatibility of interfaces for the different elements and launch packages prior to their mating in orbit.

Hopson, George D.↗

Formal verification of mathematical software

Methods are investigated for formally specifying and verifying the correctness of mathematical software (software which uses floating point numbers and arithmetic). Previous work in the field was reviewed. A new model of floating point arithmetic called the asymptotic paradigm was developed and formalized. Two different conceptual approaches to program verification, the classical Verification Condition approach and the more recently developed Programming Logic approach, were adapted to use the asymptotic paradigm. These approaches were then used to verify several programs; the programs chosen were simplified versions of actual mathematical software.

Sutherland, D.↗

Structural verification of an aged composite reflector

A structural verification program applied to qualifying two heritage composite antenna reflectors for flight on the TOPEX satellite is outlined. The verification requirements and an integrated analyses/test approach employed to meet these requirements are described. Structural analysis results and qualification vibration test data are presented and discussed. It was determined that degradation of the composite and bonding materials caused by long-term exposure to an uncontrolled environment had not severely impaired the integrity of the reflector structures. The reflectors were assessed to be structurally adequate for the intended TOPEX application.

Lou, Michael C.↗