Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “symbolic execution”

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 109 records · Page 6

Improving and Expanding NASA Software Cost Estimation Methods

Estimators and analysts are increasingly being tasked to develop better models and reliable cost estimates in support of program planning and execution. While there has been extensive work on improving parametric methods for cost estimation, there is very little focus on the use of cost models based on analogy and clustering algorithms. In this paper we summarize the results of our research in developing an analogy method for estimating NASA spacecraft flight software using spectral clustering on system characteristics (symbolic nonnumerical data) and evaluate its performance by comparing it to a number of the most commonly used estimation methods. The strengths and weaknesses of each method based on their performance are also discussed. The paper concludes with an overview of the analogy estimation tool (ASCoT) developed for use within NASA that implements the recommended analogy algorithm.

Hihn, Jairus↗

An Efficient Scheme for Updating Sparse Cholesky Factors

Raghavan had earlier developed the software package DCSPACK which can be used for solving sparse linear systems where the coefficient matrix is symmetric and positive definite (this project was not funded by NASA but by agencies such as NSF). DSCPACK-S is the serial code and DSCPACK-P is a parallel implementation suitable for multiprocessors or networks-of-workstations with message passing using MCI. The main algorithm used is the Cholesky factorization of a sparse symmetric positive positive definite matrix A = LL(T). The code can also compute the factorization A = LDL(T). The complexity of the software arises from several factors relating to the sparsity of the matrix A. A sparse N x N matrix A has typically less that cN nonzeroes where c is a small constant. If the matrix were dense, it would have O(N2) nonzeroes. The most complicated part of such sparse Cholesky factorization relates to fill-in, i.e., zeroes in the original matrix that become nonzeroes in the factor L. An efficient implementation depends to a large extent on complex data structures and on techniques from graph theory to reduce, identify, and manage fill. DSCPACK is based on an efficient multifrontal implementation with fill-managing algorithms and implementation arising from earlier research by Raghavan and others. Sparse Cholesky factorization is typically a four step process: (1) ordering to compute a fill-reducing numbering, (2) symbolic factorization to determine the nonzero structure of L, (3) numeric factorization to compute L, and, (4) triangular solution to solve L(T)x = y and Ly = b. The first two steps are symbolic and are performed using the graph of the matrix. The numeric factorization step is of dominant cost and there are several schemes for improving performance by exploiting the nested and dense structure of groups of columns in the factor. The latter are aimed at better utilization of the cache-memory hierarchy on modem processors to prevent cache-misses and provide execution rates (operations/second) that are close to the peak rates for dense matrix computations. Currently, EPISCOPACY is being used in an application at NASA directed by J. Newman and M. James. We propose the implementation of efficient schemes for updating the LL(T) or LDL(T) factors computed in DSCPACK-S to meet the computational requirements of their project. A brief description is provided in the next section.

Raghavan, Padma↗

Implementing embedded artificial intelligence rules within algorithmic programming languages

Most integrations of artificial intelligence (AI) capabilities with non-AI (usually FORTRAN-based) application programs require the latter to execute separately to run as a subprogram or, at best, as a coroutine, of the AI system. In many cases, this organization is unacceptable; instead, the requirement is for an AI facility that runs in embedded mode; i.e., is called as subprogram by the application program. The design and implementation of a Prolog-based AI capability that can be invoked in embedded mode are described. The significance of this system is twofold: Provision of Prolog-based symbol-manipulation and deduction facilities makes a powerful symbolic reasoning mechanism available to applications programs written in non-AI languages. The power of the deductive and non-procedural descriptive capabilities of Prolog, which allow the user to describe the problem to be solved, rather than the solution, is to a large extent vitiated by the absence of the standard control structures provided by other languages. Embedding invocations of Prolog rule bases in programs written in non-AI languages makes it possible to put Prolog calls inside DO loops and similar control constructs. The resulting merger of non-AI and AI languages thus results in a symbiotic system in which the advantages of both programming systems are retained, and their deficiencies largely remedied.

Feyock, Stefan↗

A Formal Algorithm for Routing Traces on a Printed Circuit Board

This paper addresses the classical problem of printed circuit board routing: that is, the problem of automatic routing by a computer other than by brute force that causes the execution time to grow exponentially as a function of the complexity. Most of the present solutions are either inexpensive but not efficient and fast, or efficient and fast but very costly. Many solutions are proprietary, so not much is written or known about the actual algorithms upon which these solutions are based. This paper presents a formal algorithm for routing traces on a print- ed circuit board. The solution presented is very fast and efficient and for the first time speaks to the question eloquently by way of symbolic statements.

Hedgley, David R., Jr.↗

SOLON: An autonomous vehicle mission planner

The State-Operator Logic Machine (SOLON) Planner provides an architecture for effective real-time planning and replanning for an autonomous vehicle. The highlights of the system, which distinguish it from other AI-based planners that have been designed previously, are its hybrid application of state-driven control architecture and the use of both schematic representations and logic programming for the management of its knowledge base. SOLON is designed to provide multiple levels of planning for a single autonomous vehicle which is supplied with a skeletal, partially-specified mission plan at the outset of the vehicle's operations. This mission plan consists of a set of objectives, each of which will be decomposable by the planner into tasks. These tasks are themselves comparatively complex sets of actions which are executable by a conventional real-time control system which does not perform planning but which is capable of making adjustments or modifications to the provided tasks according to constraints and tolerances provided by the Planner. The current implementation of the SOLON is in the form of a real-time simulation of the Planner module of an Intelligent Vehicle Controller (IVC) on-board an autonomous underwater vehicle (AUV). The simulation is embedded within a larger simulator environment known as ICDS (Intelligent Controller Development System) operating on a Symbolics 3645/75 computer.

Dudziak, M. J.↗

Identifying Trends in Deep Space Network Monitor Data

A computer program has been developed that analyzes Deep Space Network monitor data, looking for changes of trends in critical parameters. This program represents a significant improvement over the previous practice of manually plotting data and visually inspecting the resulting graphs to identify trends. This program uses proven numerical techniques to identify trends. When a statistically significant trend is detected, then it is characterized by means of a symbol that can be used by pre-existing model-based reasoning software. The program can perform any of the following functions: Given an expectation that data in a given list should exhibit an upward, downward, constant, or unknown trend, it can determine whether the data do or do not follow such a trend. Given a list of data, it can identify which of the aforementioned trends the data follow. Given two lists of data, it can determine whether or not both follow the same trend. This program can be executed on a variety of computers. It can be distributed in either source code or binary code form. It must be run in conjunction with any one of a number of Lisp compilers that are available commercially or as shareware.

James, Mark↗

NASA Tech Briefs, August 2008

Customizable Digital Receivers for Radar Two-Camera Acquisition and Tracking of a Flying Target Visual Data Analysis for Satellites A Data Type for Efficient Representation of Other Data Types Hand-Held Ultrasonic Instrument for Reading Matrix Symbols Broadband Microstrip-to-Coplanar Strip Double-Y Balun A Topographical Lidar System for Terrain-Relative Navigation Programmable Low-Voltage Circuit Breaker and Tester Electronic Switch Arrays for Managing Microbattery Arrays Topics covered include: Lower-Dark-Current, Higher-Blue-Response CMOS Imagers; Fabricating Large-Area Sheets of Single-Layer Graphene by CVD; Support for Diagnosis of Custom Computer Hardware; Providing Goal-Based Autonomy for Commanding a Spacecraft; Dynamic Method for Identifying Collected Sample Mass; Optimal Planning and Problem-Solving; Attitude-Control Algorithm for Minimizing Maneuver Execution Errors; Grants Document-Generation System; Heat-Storage Modules Containing LiNO3 3H2O and Graphite Foam; Precipitation-Strengthened, High-Temperature, High-Force Shape Memory Alloys; Improved Relief Valve Would Be Less Susceptible to Failure; Safety Modification of Cam-and-Groove Hose Coupling; Using Composite Materials in a Cryogenic Pump; Using Electronic Noses to Detect Tumors During Neurosurgery; Producing Newborn Synchronous Mammalian Cells; Smaller, Lower-Power Fast-Neutron Scintillation Detectors; Rotationally Vibrating Electric-Field Mill; Estimating Hardness from the USDC Tool-Bit Temperature Rise; Particle-Charge Spectrometer; Automated Production of Movies on a Cluster of Computers; FIDO-Class Development Rover; and Tone-Based Command of Deep Space Probes Using Ground Antennas.

Source record↗

Development of Improved Thermal Analysis Capabilities at the NASA Goddard Space Flight Center

Goddard Space Flight Center (GSFC) has been developing a framework of additional analysis capabilities to aid in the verification, development, and execution of thermal models using the OpenTD Application Programming Interface (API). This paper provides a brief overview of the data structures, properties, methods, and relationships between the objects accessible through the current API and describes some of the algorithms necessary to implement the desired functions at GSFC. Some example code snippets are also provided to aid potential users in the development of their own utilities. Following the overview are descriptions and algorithm methodologies of the new capabilities added to the GSFC framework, including: a new PI heater/controller approach for improved steady state predictions, selective copying of symbol over-rides from one source CaseSet to destination CaseSet(s), comparison of submodel object counts between a source and destination model to verify model integration, comparison of thermo-optical and thermo-physical properties between models, and improved display of extracted thermo-optical and thermo-physical properties for documentation.

ThermalDesktop↗

Development of Improved Thermal Analysis Capabilities at the NASA Goddard Space Flight Center

Goddard Space Flight Center (GSFC) has been developing a framework of additional analysis capabilities to aid in the verification, development, and execution of thermal models using the OpenTD Application Programming Interface (API). This paper provides a brief overview of the data structures, properties, methods, and relationships between the objects accessible through the current API and describes some of the algorithms necessary to implement the desired functions at GSFC. Some example code snippets are also provided to aid potential users in the development of their own utilities. Following the overview are descriptions and algorithm methodologies of the new capabilities added to the GSFC framework, including: a new PI heater/controller approach for improved steady state predictions, selective copying of symbol over-rides from one source CaseSet to destination CaseSet(s), comparison of submodel object counts between a source and destination model to verify model integration, comparison of thermo-optical and thermo-physical properties between models, and improved display of extracted thermo-optical and thermo-physical properties for documentation.

ThermalDesktop, API, v6.2, OpenTD↗

Integrated Methane Monitoring Platform Extension, Volume I: Final Technical Report

The IMMPE project, DE-FE0032284, was to enhance methane monitoring technologies and their applications across various natural gas asset classes. The scope included deploying advanced methane detection and monitoring technologies to identify and mitigate fugitive methane emissions, measuring emission rates, and assessing impacts. The findings included the successful mitigation of identified emissions and quantification of emission rates. A key outcome was the development of a comprehensive template and summary of recommendations for methane emissions monitoring, which is replicable for both upstream and downstream applications. Furthermore, the project emphasized the importance of education by providing training opportunities for technicians and regulators, thereby fostering awareness and promoting the adoption of cost-effective methane emissions monitoring and management techniques.

02 PETROLEUM↗

An introduction to autonomous control systems

The functions, characteristics, and benefits of autonomous control are outlined. An autonomous control functional architecture for future space vehicles that incorporates the concepts and characteristics described is presented. The controller is hierarchical, with an execution level (the lowest level), coordination level (middle level), and management and organization level (highest level). The general characteristics of the overall architecture, including those of the three levels, are explained, and an example to illustrate their functions is given. Mathematical models for autonomous systems, including 'logical' discrete event system models, are discussed. An approach to the quantitative, systematic modeling, analysis, and design of autonomous controllers is also discussed. It is a hybrid approach since it uses conventional analysis techniques based on difference and differential equations and new techniques for the analysis of the systems described with a symbolic formalism such as finite automata. Some recent results from the areas of planning and expert systems, machine learning, artificial neural networks, and the area restructurable controls are briefly outlined.

Antsaklis, Panos J.↗

Head-up transition behavior of pilots with and without head-up display in simulated low-visibility approaches

To quantify head-up transition behavior with and without a flightpath type head-up display, eight rated B-727 pilots each flew 31 manual and coupled approaches in a simulator with B-727 dynamics and collimated model board external scene. Data were also obtained on the roll played by the head-up display in the coupled-to-manual transition. Various wind shears, low visibilities, and ceilings were tested along with unexpected misalignment between the runway and head-up display symbology. The symbolic format used was a conformal scene. Every pilot except one stayed head-up, flying with the display after descending below the ceiling. Without the display and as altitude decreased, the number of lookups from the instrument panel decreased and the duration of each one increased. No large differences in mean number or duration of transitions up or down were found during the head-up display runs comparing the no-misalignment with the lateral instrument landing system offset misalignment runs. The head-up display led to fewer transitions after the pilot made a decision to land or execute a missed approach. Without the display, pilots generally waited until they had descended below the ceiling to look outside the first time, but with it several pilots looked down at their panel at relatively high altitudes (if they looked down at all). Manual takeover of control was rapid and smooth both with and without the display which permitted smoother engine power changes.

Haines, R. F.↗

Timing analysis by model checking

The safety of modern avionics relies on high integrity software that can be verified to meet hard real-time requirements. The limits of verification technology therefore determine acceptable engineering practice. To simplify verification problems, safety-critical systems are commonly implemented under the severe constraints of a cyclic executive, which make design an expensive trial-and-error process highly intolerant of change. Important advances in analysis techniques, such as rate monotonic analysis (RMA), have provided a theoretical and practical basis for easing these onerous restrictions. But RMA and its kindred have two limitations: they apply only to verifying the requirement of schedulability (that tasks meet their deadlines) and they cannot be applied to many common programming paradigms. We address both these limitations by applying model checking, a technique with successful industrial applications in hardware design. Model checking algorithms analyze finite state machines, either by explicit state enumeration or by symbolic manipulation. Since quantitative timing properties involve a potentially unbounded state variable (a clock), our first problem is to construct a finite approximation that is conservative for the properties being analyzed-if the approximation satisfies the properties of interest, so does the infinite model. To reduce the potential for state space explosion we must further optimize this finite model. Experiments with some simple optimizations have yielded a hundred-fold efficiency improvement over published techniques.

Naydich, Dimitri↗

AutoBayes Program Synthesis System Users Manual

Program synthesis is the systematic, automatic construction of efficient executable code from high-level declarative specifications. AutoBayes is a fully automatic program synthesis system for the statistical data analysis domain; in particular, it solves parameter estimation problems. It has seen many successful applications at NASA and is currently being used, for example, to analyze simulation results for Orion. The input to AutoBayes is a concise description of a data analysis problem composed of a parameterized statistical model and a goal that is a probability term involving parameters and input data. The output is optimized and fully documented C/C++ code computing the values for those parameters that maximize the probability term. AutoBayes can solve many subproblems symbolically rather than having to rely on numeric approximation algorithms, thus yielding effective, efficient, and compact code. Statistical analysis is faster and more reliable, because effort can be focused on model development and validation rather than manual development of solution algorithms and code.

Schumann, Johann↗

A new template for developing C++ applications in NASA's Core Flight System

In this presentation, we will demonstrate an example Core Flight System (cFS) application written in C++, compatible with the Draco releases of the Core Flight Executive (cFE) and NASA Operating System Abstraction Layer (OSAL). The application boilerplate, supporting library, and associated generation script were recently developed and licensed under the permissive Apache License 2.0 with the goal of easing the cFS app development with C++. The design and features of this application will be presented, including a higher-level interface for interactions with the cFE software bus pipes, tables, and event services. Data structures are provided for centralized telecommand and telemetry parsing which isolates bookkeeping of message components from the calling code in an application's core logic. Specific advantages of writing a cFS application in C++ will be shown, including easier avoidance of symbol collisions via namespaces, expanded compile-time checks via constant expressions, default initialization for data structures, null safety via references, improved syntax for operating on multi-dimensional arrays, and reliable serialization of enumerations via enumeration classes. Special considerations needed for integrating a C++ application will be identified, including function linkage, exceptions, and stack unwinding. Evidence for the usefulness of this template will be discussed in the context of development of a flight software application used for interfacing with a solid-state data recorder.

Dominick Allen↗

Accurate Determination of Comet and Asteroid Orbits Leading to Collision With Earth

Movements of the celestial bodies in our solar system inspired Isaac Newton to work out his profound laws of gravitation and motion; with one or two notable exceptions, all of those objects move as Newton said they would. But normally harmonious orbital motion is accompanied by the risk of collision, which can be cataclysmic. The Earth s moon is thought to have been produced by such an event, and we recently witnessed magnificent bombardments of Jupiter by several pieces of what was once Comet Shoemaker-Levy 9. Other comets or asteroids may have met the Earth with such violence that dinosaurs and other forms of life became extinct; it is this possibility that causes us to ask how the human species might avoid a similar catastrophe, and the answer requires a thorough understanding of orbital motion. The two red square flags with black square centers displayed are internationally recognized as a warning of an impending hurricane. Mariners and coastal residents who know the meaning of this symbol and the signs evident in the sky and ocean can act in advance to try to protect lives and property; someone who is unfamiliar with the warning signs or chooses to ignore them is in much greater jeopardy. Although collisions between Earth and large comets or asteroids occur much less frequently than landfall of a hurricane, it is imperative that we learn to identify the harbingers of such collisions by careful examination of an object s path. An accurate determination of the orbit of a comet or asteroid is necessary in order to know if, when, and where on the Earth s surface a collision will occur. Generally speaking, the longer the warning time, the better the chance of being able to plan and execute action to prevent a collision. The more accurate the determination of an orbit, the less likely such action will be wasted effort or, what is worse, an effort that increases rather than decreases the probability of a collision. Conditions necessary for a collision to occur are discussed, and warning times for long-period comets and near-Earth asteroids are presented.

Roithmayr, Carlos M.↗

The Role of Ontologies in Schema-based Program Synthesis

Program synthesis is the process of automatically deriving executable code from (non-executable) high-level specifications. It is more flexible and powerful than conventional code generation techniques that simply translate algorithmic specifications into lower-level code or only create code skeletons from structural specifications (such as UML class diagrams). Key to building a successful synthesis system is specializing to an appropriate application domain. The AUTOBAYES and AUTOFILTER systems, under development at NASA Ames, operate in the two domains of data analysis and state estimation, respectively. The central concept of both systems is the schema, a representation of reusable computational knowledge. This can take various forms, including high-level algorithm templates, code optimizations, datatype refinements, or architectural information. A schema also contains applicability conditions that are used to determine when it can be applied safely. These conditions can refer to the initial specification, to intermediate results, or to elements of the partially-instantiated code. Schema-based synthesis uses AI technology to recursively apply schemas to gradually refine a specification into executable code. This process proceeds in two main phases. A front-end gradually transforms the problem specification into a program represented in an abstract intermediate code. A backend then compiles this further down into a concrete target programming language of choice. A core engine applies schemas on the initial problem specification, then uses the output of those schemas as the input for other schemas, until the full implementation is generated. Since there might be different schemas that implement different solutions to the same problem this process can generate an entire solution tree. AUTOBAYES and AUTOFILTER have reached the level of maturity where they enable users to solve interesting application problems, e.g., the analysis of Hubble Space Telescope images. They are large (in total around 100kLoC Prolog), knowledge intensive systems that employ complex symbolic reasoning to generate a wide range of non-trivial programs for complex application do- mains. Their schemas can have complex interactions, which make it hard to change them in isolation or even understand what an existing schema actually does. Adding more capabilities by increasing the number of schemas will only worsen this situation, ultimately leading to the entropy death of the synthesis system. The root came of this problem is that the domain knowledge is scattered throughout the entire system and only represented implicitly in the schema implementations. In our current work, we are addressing this problem by making explicit the knowledge from Merent parts of the synthesis system. Here; we discuss how Gruber's definition of an ontology as an explicit specification of a conceptualization matches our efforts in identifying and explicating the domain-specific concepts. We outline the dual role ontologies play in schema-based synthesis and argue that they address different audiences and serve different purposes. Their first role is descriptive: they serve as explicit documentation, and help to understand the internal structure of the system. Their second role is prescriptive: they provide the formal basis against which the other parts of the system (e.g., schemas) can be checked. Their final role is referential: ontologies also provide semantically meaningful "hooks" which allow schemas and tools to access the internal state of the program derivation process (e.g., fragments of the generated code) in domain-specific rather than language-specific terms, and thus to modify it in a controlled fashion. For discussion purposes we use AUTOLINEAR, a small synthesis system we are currently experimenting with, which can generate code for solving a system of linear equations, Az = b.

Bures, Tomas↗

NASA Tech Briefs, January 2007

Topics covered include: Flexible Skins Containing Integrated Sensors and Circuitry; Artificial Hair Cells for Sensing Flows; Video Guidance Sensor and Time-of-Flight Rangefinder; Optical Beam-Shear Sensors; Multiple-Agent Air/Ground Autonomous Exploration Systems; A 640 512-Pixel Portable Long-Wavelength Infrared Camera; An Array of Optical Receivers for Deep-Space Communications; Microstrip Antenna Arrays on Multilayer LCP Substrates; Applications for Subvocal Speech; Multiloop Rapid-Rise/Rapid Fall High-Voltage Power Supply; The PICWidget; Fusing Symbolic and Numerical Diagnostic Computations; Probabilistic Reasoning for Robustness in Automated Planning; Short-Term Forecasting of Radiation Belt and Ring Current; JMS Proxy and C/C++ Client SDK; XML Flight/Ground Data Dictionary Management; Cross-Compiler for Modeling Space-Flight Systems; Composite Elastic Skins for Shape-Changing Structures; Glass/Ceramic Composites for Sealing Solid Oxide Fuel Cells; Aligning Optical Fibers by Means of Actuated MEMS Wedges; Manufacturing Large Membrane Mirrors at Low Cost; Double-Vacuum-Bag Process for Making Resin- Matrix Composites; Surface Bacterial-Spore Assay Using Tb3+/DPA Luminescence; Simplified Microarray Technique for Identifying mRNA in Rare Samples; High-Resolution, Wide-Field-of-View Scanning Telescope; Multispectral Imager With Improved Filter Wheel and Optics; Integral Radiator and Storage Tank; Compensation for Phase Anisotropy of a Metal Reflector; Optical Characterization of Molecular Contaminant Films; Integrated Hardware and Software for No-Loss Computing; Decision-Tree Formulation With Order-1 Lateral Execution; GIS Methodology for Planning Planetary-Rover Operations; Optimal Calibration of the Spitzer Space Telescope; Automated Detection of Events of Scientific Interest; Representation-Independent Iteration of Sparse Data Arrays; Mission Operations of the Mars Exploration Rovers; and More About Software for No-Loss Computing.

Source record↗