Search NASA⌕ Search

SEARCH · Search NASA

Results for “complex partition function”

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.

40 records · Page 3

Regression Verification Using Impact Summaries

Regression verification techniques are used to prove equivalence of syntactically similar programs. Checking equivalence of large programs, however, can be computationally expensive. Existing regression verification techniques rely on abstraction and decomposition techniques to reduce the computational effort of checking equivalence of the entire program. These techniques are sound but not complete. In this work, we propose a novel approach to improve scalability of regression verification by classifying the program behaviors generated during symbolic execution as either impacted or unimpacted. Our technique uses a combination of static analysis and symbolic execution to generate summaries of impacted program behaviors. The impact summaries are then checked for equivalence using an o-the-shelf decision procedure. We prove that our approach is both sound and complete for sequential programs, with respect to the depth bound of symbolic execution. Our evaluation on a set of sequential C artifacts shows that reducing the size of the summaries can help reduce the cost of software equivalence checking. Various reduction, abstraction, and compositional techniques have been developed to help scale software verification techniques to industrial-sized systems. Although such techniques have greatly increased the size and complexity of systems that can be checked, analysis of large software systems remains costly. Regression analysis techniques, e.g., regression testing [16], regression model checking [22], and regression verification [19], restrict the scope of the analysis by leveraging the differences between program versions. These techniques are based on the idea that if code is checked early in development, then subsequent versions can be checked against a prior (checked) version, leveraging the results of the previous analysis to reduce analysis cost of the current version. Regression verification addresses the problem of proving equivalence of closely related program versions [19]. These techniques compare two programs with a large degree of syntactic similarity to prove that portions of one program version are equivalent to the other. Regression verification can be used for guaranteeing backward compatibility, and for showing behavioral equivalence in programs with syntactic differences, e.g., when a program is refactored to improve its performance, maintainability, or readability. Existing regression verification techniques leverage similarities between program versions by using abstraction and decomposition techniques to improve scalability of the analysis [10, 12, 19]. The abstractions and decomposition in the these techniques, e.g., summaries of unchanged code [12] or semantically equivalent methods [19], compute an over-approximation of the program behaviors. The equivalence checking results of these techniques are sound but not complete-they may characterize programs as not functionally equivalent when, in fact, they are equivalent. In this work we describe a novel approach that leverages the impact of the differences between two programs for scaling regression verification. We partition program behaviors of each version into (a) behaviors impacted by the changes and (b) behaviors not impacted (unimpacted) by the changes. Only the impacted program behaviors are used during equivalence checking. We then prove that checking equivalence of the impacted program behaviors is equivalent to checking equivalence of all program behaviors for a given depth bound. In this work we use symbolic execution to generate the program behaviors and leverage control- and data-dependence information to facilitate the partitioning of program behaviors. The impacted program behaviors are termed as impact summaries. The dependence analyses that facilitate the generation of the impact summaries, we believe, could be used in conjunction with other abstraction and decomposition based approaches, [10, 12], as a complementary reduction technique. An evaluation of our regression verification technique shows that our approach is capable of leveraging similarities between program versions to reduce the size of the queries and the time required to check for logical equivalence. The main contributions of this work are: - A regression verification technique to generate impact summaries that can be checked for functional equivalence using an off-the-shelf decision procedure. - A proof that our approach is sound and complete with respect to the depth bound of symbolic execution. - An implementation of our technique using the LLVMcompiler infrastructure, the klee Symbolic Virtual Machine [4], and a variety of Satisfiability Modulo Theory (SMT) solvers, e.g., STP [7] and Z3 [6]. - An empirical evaluation on a set of C artifacts which shows that the use of impact summaries can reduce the cost of regression verification.

Backes, John↗

Turbulence Scales, Rise Times, Caustics, and the Simulation of Sonic Boom Propagation

The general topic of atmospheric turbulence effects on sonic boom propagation is addressed with especial emphasis on taking proper and efficient account of the contributions of the portion oi the turbulence that is associated with extremely high wavenumber components. The recent work reported by Bart Lipkens in his doctoral thesis is reexamined to determine whether the good agreement between his measured rise times with the 1971 theory of the author is fortuitous. It is argued that Lipken's estimate of the distance to the first caustic was a gross overestimate because of the use of a sound speed correlation function shaped like a gaussian curve. In particular, it is argued that the expected distance to the first caustic varies with the kinematic viscosity nu and the energy epsilon dissipated per unit mass per unit time, and the sound speed c as : d(sub first caustic) = nu(exp 7/12) c(exp 2/3)/ epsilon(exp 5/12)(nu x epsilon/c(exp 4))(exp a), where the exponent a is greater than -7/12 and can be argued to be either O or 1/24. In any event, the surprising aspect of the relationship is that it actually goes to zero as the viscosity goes to zero with s held constant. It is argued that the apparent overabundance of caustics can be grossly reduced by a general computational and analytical perspective that partitions the turbulence into two parts, divided by a wavenumber k(sub c). Wavenumbers higher than kc correspond to small-scale turbulence, and the associated turbulence can be taken into account by a renormalization of the ambient sound speed so that the result has a small frequency dependence that results from a spatial averaging over of the smaller-scale turbulent fluctuations. Selection of k(sub c). can be made so large that only a very small number of caustics are encountered if one adopts the premise that the frequency dispersion of pulses is caused by that part of the turbulence spectrum which lies in the inertial range originally predicted by Kolmogoroff. The acoustic propagating wave's dispersion relation has the acoustic wavenumber being of the form k = (omega/c) + F(omega), where c is a spatially averaged sound speed and where, for mechanical turbulence, the extra term F(omega) must depend on only the angular frequency omega, the sound speed c, and the turbulent energy dissipation epsilon per unit fluid mass and per unit time. If the turbulence is weak, then the quantity F(omega) has to be of second order in the portions of the turbulent fluid velocity in the inertial range, so, following Kolmogoroff's reasoning, it must vary with epsilon as epsilon(exp 2/3). Simple dimensional analysis then reveals that F(omega) is K epsilon(exp 2/3) c(exp -7/3) omega(exp l/3), K being a universal dimensionless complex constant.

Pierce, Allan D.↗

"Coulombic Viscosity" In Granular Materials: Planetary and Astrophysical Implications

The term "Coulombic viscosity" is introduced here to define an empirically observed phenomenon from experiments conducted in both microgravity, and in ground-based 1-g conditions. In the latter case, a sand attrition device was employed to test the longevity of aeolian materials by creating two intersecting grain-circulation paths or cells that would lead to most of the grain energy being expended on grain-to-grain collisions (simulating dune systems). In the areas in the device where gravitationally-driven grain-slurries recycled the sand, the slurries moved with a boundary-layer impeded motion down the chamber walls. Excessive electrostatic charging of the grains during these experiments was prevented by the use of an a.c. corona (created by a Tesla coil) through which the grains passed on every cycle. This created both positive and negative ions which neutralized the triboelectrically-generated grain charges. When the corona was switched on, the velocity of the wall-attached slurries increased by a factor of two as approximately determined by direct observation. What appeared to be a freely-flowing slurry of grains impeded only by intergranular mechanical friction, had obviously been significantly retarded in its motion by electrostatic forces between the grains; with the charging reduced, the grains were able to move past one another without a flow "viscosity" imposed by the Coulombic intergranular forces. A similar phenomenon was observed during microgravity experiments aboard Space Shuttle in USML-1 & USML-2 spacelabs where freely-suspended clouds of sand were being investigated for their potential to for-m aggregates. In this environment, the grains were also charged electrostatically (by natural processes prior to flight), but were free from the intervention of gravity in their interactions. The grains were dispersed into dense clouds by bursts of air turbulence and allowed to form aggregates as the ballistic and turbulent motions damped out. During this very brief (30-60 sec) damping period, motion of the grains was observed to be retarded by the electrostatic interactions. The fact that the grains almost instantly formed aggregates was evidence that their ballistic motions had been constrained and redirected by the dipole-dipole interactions that led to filamentary aggregate development. Undoubtedly, the "Coulombic viscosity" of the cloud assisted in damping grain motion so rapidly. The electrostatically-induced grain-cloud viscosity or drag exerted on grain motion, is a complex function of three major parameters: charge magnitude, charge sign, and mean intergranular distance. The above experiments illustrate one particular type of granular behavior. The discussion here will therefore be restricted to drag relationships: (a) between grains that are naturally charged triboelectrically and thus exhibit dipole-dipole attractions between one another even if there are slight net charges present (which can be overwhelmed by dipole coupling at short distances), and (b) between grains that are densely spaced where the intergranular distance varies between zero and some value (usually tens or hundreds of grain diameters) that permits each grain to detect the dipole moment of another grain -- the distance is not so great that other grains appears as neutral electrical "singularities. I. Aeolian transport: During motion of grains in a saltation cloud (on Earth, Mars, or Venus), triboelectric charging must occur as a result of multiple grain contacts, and by friction with the entraining air. A situation might develop that is similar to the one described above in the attrition device: grain motion becoming significantly retarded (reduced flux) as grains find it increasingly difficult to either separate from the surface, or to pass one another without Coulombic retarding forces. A "Coulombic drag" will exist at flux initiation and increase with time to work in direct opposition to the aerodynamic drag that drives the grain motion. It is predicted that this will lead to an increase with time of both the aerodynamic and bed-dilatancy thresholds (3). Because of Paschen discharge effects in the martian atmosphere, the electrostatic charging in a saltation cloud may be partially abated, but this will lead to greater grain mobility, more charging, and thus to a charge-discharge steady state mediated by mechanical interactions. II. Dry colluvial systems: Sand avalanches on dunes, dry debris flows, talus flows, avalanches, and pyroclastic surges are examples of gravity-driven, dense granular flows where rock/grain fragmentation and grain-to-grain interactions cause triboelectrification (sometimes augmented by other electrical charging processes), and where the grain densities of the systems are such that strong dipole-dipole interactions between grains might be expected to be present. Because it is expected that the Coulombic forces between grains will cause a sluggishness or enhanced granular-flow viscosity, the motion of a grain mass will be retarded or damped so that this will assist, ultimately, in terminating the flow. The greatest Coulombic viscosity will be created in the most highly charged systems, which will also be the most energetic. Thus, grain flows have some tendency to be self-limiting by internal energy partitioning; gravitational potential is converted to Coulombic potential, which manifests itself as a drag force between the grains. III. Volcanic eruption plumes and impact ejecta curtains: The violence of these systems leads to powerful electrical charging of particulates. Lightning storms emanating from volcanic plumes are a testimony to the levels of charging. As pyroclastic grains interact forcefully and frequently within eruption plumes, it is reasonable to predict that the internal turbulent motions of the plume will be significantly damped by the Coulombic viscosity exerted by grain charges. Additional information is contained in the original.

Marshall, J. R.↗

A Vehicle Management End-to-End Testing and Analysis Platform for Validation of Mission and Fault Management Algorithms to Reduce Risk for NASAs Space Launch System

The engineering development of the National Aeronautics and Space Administration's (NASA) new Space Launch System (SLS) requires cross discipline teams with extensive knowledge of launch vehicle subsystems, information theory, and autonomous algorithms dealing with all operations from pre-launch through on orbit operations. The nominal and off-nominal characteristics of SLS's elements and subsystems must be understood and matched with the autonomous algorithm monitoring and mitigation capabilities for accurate control and response to abnormal conditions throughout all vehicle mission flight phases, including precipitating safing actions and crew aborts. This presents a large and complex systems engineering challenge, which is being addressed in part by focusing on the specific subsystems involved in the handling of off-nominal mission and fault tolerance with response management. Using traditional model-based system and software engineering design principles from the Unified Modeling Language (UML) and Systems Modeling Language (SysML), the Mission and Fault Management (M&FM) algorithms for the vehicle are crafted and vetted in Integrated Development Teams (IDTs) composed of multiple development disciplines such as Systems Engineering (SE), Flight Software (FSW), Safety and Mission Assurance (S&MA) and the major subsystems and vehicle elements such as Main Propulsion Systems (MPS), boosters, avionics, Guidance, Navigation, and Control (GNC), Thrust Vector Control (TVC), and liquid engines. These model-based algorithms and their development lifecycle from inception through FSW certification are an important focus of SLS's development effort to further ensure reliable detection and response to off-nominal vehicle states during all phases of vehicle operation from pre-launch through end of flight. To test and validate these M&FM algorithms a dedicated test-bed was developed for full Vehicle Management End-to-End Testing (VMET). For addressing fault management (FM) early in the development lifecycle for the SLS program, NASA formed the M&FM team as part of the Integrated Systems Health Management and Automation Branch under the Spacecraft Vehicle Systems Department at the Marshall Space Flight Center (MSFC). To support the development of the FM algorithms, the VMET developed by the M&FM team provides the ability to integrate the algorithms, perform test cases, and integrate vendor-supplied physics-based launch vehicle (LV) subsystem models. Additionally, the team has developed processes for implementing and validating the M&FM algorithms for concept validation and risk reduction. The flexibility of the VMET capabilities enables thorough testing of the M&FM algorithms by providing configurable suites of both nominal and off-nominal test cases to validate the developed algorithms utilizing actual subsystem models such as MPS, GNC, and others. One of the principal functions of VMET is to validate the M&FM algorithms and substantiate them with performance baselines for each of the target vehicle subsystems in an independent platform exterior to the flight software test and validation processes. In any software development process there is inherent risk in the interpretation and implementation of concepts from requirements and test cases into flight software compounded with potential human errors throughout the development and regression testing lifecycle. Risk reduction is addressed by the M&FM group but in particular by the Analysis Team working with other organizations such as S&MA, Structures and Environments, GNC, Orion, Crew Office, Flight Operations, and Ground Operations by assessing performance of the M&FM algorithms in terms of their ability to reduce Loss of Mission (LOM) and Loss of Crew (LOC) probabilities. In addition, through state machine and diagnostic modeling, analysis efforts investigate a broader suite of failure effects and associated detection and responses to be tested in VMET to ensure reliable failure detection, and confirm responses do not create additional risks or cause undesired states through interactive dynamic effects with other algorithms and systems. VMET further contributes to risk reduction by prototyping and exercising the M&FM algorithms early in their implementation and without any inherent hindrances such as meeting FSW processor scheduling constraints due to their target platform - the ARINC 6535-partitioned Operating System, resource limitations, and other factors related to integration with other subsystems not directly involved with M&FM such as telemetry packing and processing. The baseline plan for use of VMET encompasses testing the original M&FM algorithms coded in the same C++ language and state machine architectural concepts as that used by FSW. This enables the development of performance standards and test cases to characterize the M&FM algorithms and sets a benchmark from which to measure their effectiveness and performance in the exterior FSW development and test processes. This paper is outlined in a systematic fashion analogous to a lifecycle process flow for engineering development of algorithms into software and testing. Section I describes the NASA SLS M&FM context, presenting the current infrastructure, leading principles, methods, and participants. Section II defines the testing philosophy of the M&FM algorithms as related to VMET followed by section III, which presents the modeling methods of the algorithms to be tested and validated in VMET. Its details are then further presented in section IV followed by Section V presenting integration, test status, and state analysis. Finally, section VI addresses the summary and forward directions followed by the appendices presenting relevant information on terminology and documentation.

Trevino, Luis↗