Search NASASearch

SEARCH · Search NASA

Results for “logic programming”

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

An Automaton Rover Enabling Long Duration In-Situ Science in Extreme Environments

The Automaton Rover for Extreme Environments (AREE) is a NASA Innovative Advanced Concept (NIAC) funded study focused on enabling long duration science on Venus by replacing vulnerable electronics with an entirely mechanical design. By utilizing high temperature alloys, the rover would survive on the surface of Venus for weeks if not months. The rover concept harvests wind energy using a turbine and stores it in a constant force spring. The mobility system would be guided by a mechanical computer and logic system, programed to carry out the mission. It would collect basic science data such as wind speed, temperature, and seismic events. Communicating the data back to Earth is the most challenging aspect of the system design with multiple options being explored in a trade: a simple electronic high temperature transponder, a retroreflector target or inscribing phonograph style records to be launched via a balloon to a high altitude drone capable of transmitting the data back to Earth. AREE is not only a new exciting in-situ rover concept, but also a paradigm shift to conducting in-situ science in extreme environments. Traditional extreme environment vehicles collect as many diverse data points as possible in the short period of time before system failure. AREE breaks that trend by exploring what can be done with only a few basic scientific measurements, but recorded over long periods of time. In addition to Venus, the concept can be useful in other extreme environments in the solar system including Mercury, Jupiter's radiation belts, the interiors of gas giants, the mantle of the Earth and volcanoes throughout the solar system.

Parness, Aaron

IOTA Pre-Bake Test Development

The IOTA (Integrable Optics Test Accelerator) Bakeout project is intended to improve the quality of the vacuum within the IOTA ring. Impurities consisting of hydrogen and oxygen that build within the beampipe are reduced through applying heat to the beampipe’s exterior. Two versions of the Bakeout project exist, one as a smaller scale test setup, and one five times larger located within the IOTA ring. During my internship, I worked together with a team to bring this project from an effectively dormant state to ready for testing, working together to create full documentation of the PLC (Programmable Logic Controller) programs, making multiple new hardware configurations of this test possible, as well as an additional safety system.

Seagrave, Kayla [DuPage Coll.; Fermilab]

Verifying PLC Programs via Monitors: Extending the Integration of FRET and PLCverif

Verification of Programmable Logic Controller (PLC) programs requires reasoning about propositions qualified in terms of time. CERN’s PLCverif, an open-source tool for the analysis of safety-critical PLC systems, uses Linear Temporal Logic (LTL) for the specification of properties. Until now, PLCverif depended on third-party tools that accept LTL specifications to perform verification. However, our experience with industrial PLC programs shows that, to overcome analysis limitations, a wide range of techniques are needed to successfully verify complex properties. In this paper, we extend PLCverif to enable PLC program verification of pure-past LTL (PLTL) safety properties with assertion-based verification tools. To this end, we take an algorithm from the runtime-monitoring domain, apply it to bounded model checking of PLC programs, and implement it in PLCverif. We extend the integration of NASA’s Formal Requirements Elicitation Tool (FRET) into PLCverif to use PLTL properties generated with FRET. In addition, we leverage the program structure induced by the PLC scan-cycle for a state-space reduction. Finally, we expose the algorithm to a real-world case study of critical systems at CERN.

Formal verification

Definition study of a Variable Cycle Experimental Engine (VCEE) and associated test program and test plan

The Definition Study of a Variable Cycle Experimental Engine (VCEE) and Associated Test Program and Test Plan, was initiated to identify the most cost effective program for a follow-on to the AST Test Bed Program. The VCEE Study defined various subscale VCE's based on different available core engine components, and a full scale VCEE utilizing current technology. The cycles were selected, preliminary design accomplished and program plans and engineering costs developed for several program options. In addition to the VCEE program plans and options, a limited effort was applied to identifying programs that could logically be accomplished on the AST Test Bed Program VCE to extend the usefulness of this test hardware. Component programs were provided that could be accomplished prior to the start of a VCEE program.

Allan, R. D.

ON THE EFFECTIVENESS OF LLMS IN UNIT TEST GENERATION FOR STRUCTURED TEXT PROGRAMS

The reliability of industrial automation systems heavily depends on the correctness of Programmable Logic Controller (PLC) programs, which are often written in Structured Text (ST). While Large Language Models (LLMs) have shown promise in automating test generation for mainstream programming languages, their effectiveness for the syntactically strict ST language remains underexplored. This thesis presents a systematic empirical evaluation of three state-of-the-art LLMs—GPT-4o, Gemini 2.5 Pro, and Claude Sonnet 4.5—for generating ST unit tests. We examine three prompting strategies: Natural Language (NL), Code Language (CL), and Chain-of-Thought (CoT), across a curated set of 11 ST function blocks. The quality of the generated tests is assessed using Compilation Success Rate (CSR), Statement Coverage (SC), and Branch Coverage (BC). In the zero-shot setting, Claude Sonnet 4.5 achieves the highest CSR, while Gemini 2.5 Pro consistently delivers the best statement and branch coverage, particularly under CL prompts. By incorporating a one-shot CL prompt, all models exhibit substantial improvements—most notably GPT-4o, whose CSR increases from 45.45% to 90.91%, with substantial gains in both SC and BC. To further contextualize these findings, we compare GPT-4o’s one-shot results with PLCAutoTester, a state-ofthe- art ST unit test generation tool, on an additional benchmark dataset. While LLMgenerated tests approach competitive coverage levels, PLCAutoTester maintains significantly higher and more stable coverage across programs. This study provides the first comprehensive benchmark of modern LLMs for ST unit testing, highlighting their strengths, limitations, and improvements through one-shot prompting, and positioning their performance relative to specialized automated testing tools in industrial automation.

42 ENGINEERING

Generalized Symbolic Execution for Model Checking and Testing

Modern software systems, which often are concurrent and manipulate complex data structures must be extremely reliable. We present a novel framework based on symbolic execution, for automated checking of such systems. We provide a two-fold generalization of traditional symbolic execution based approaches: one, we define a program instrumentation, which enables standard model checkers to perform symbolic execution; two, we give a novel symbolic execution algorithm that handles dynamically allocated structures (e.g., lists and trees), method preconditions (e.g., acyclicity of lists), data (e.g., integers and strings) and concurrency. The program instrumentation enables a model checker to automatically explore program heap configurations (using a systematic treatment of aliasing) and manipulate logical formulae on program data values (using a decision procedure). We illustrate two applications of our framework: checking correctness of multi-threaded programs that take inputs from unbounded domains with complex structure and generation of non-isomorphic test inputs that satisfy a testing criterion. Our implementation for Java uses the Java PathFinder model checker.

Khurshid, Sarfraz

Standard Transistor Arrays

Standard Transistor Array (STAR) design system is semicustom approach to generating random-logic integrated MOS digital circuits. Primary program in STAR system is CAPSTAR, STAR Cell Arrangement Program. CAPSTAR is augmented by automatic routining program, Display program and library of logic cells.

Cox, G. W.

Modifications to an interactive model of the human body during exercise: With special emphasis on thermoregulation

Since 1988 an interactive computer model of the human body during exercise has been under development by a number of undergraduate students in the Department of Chemical Engineering at Iowa State University. The program, written under the direction of Dr. Richard C. Seagrave, uses physical characteristics of the user, environmental conditions and activity information to predict the onset of hypothermia, hyperthermia, dehydration, or exhaustion for various levels and durations of a specified exercise. The program however, was severely limited in predicting the onset of dehydration due to the lack of sophistication with which the program predicts sweat rate and its relationship to sensible water loss, degree of acclimatization, and level of physical training. Additionally, it was not known whether sweat rate also depended on age and gender. For these reasons, the goal of this creative component was to modify the program in the above mentioned areas by applying known information and empirical relationships from literature. Furthermore, a secondary goal was to improve the consistency with which the program was written by modifying user input statements and improving the efficiency and logic of the program calculations.

Scherb, Megan Kay

The Essence of Reactivity

Reactive programming, functional reactive programming, event-based programming, stream programming, and temporal logic all share an underlying commonality: values can vary over time. These languages differ in multiple ways, including the nature of time itself (e.g., continuous or discrete, dense or sparse, implicit or explicit), on how much of the past and future can be referenced, on the kinds of values that can be represented, as well as the mechanisms used to evaluate expressions or formulas. This paper presents a series of abstractions that capture the essence of different forms of time variance. By separating the aspects that differentiate each family of formalisms, we can better express the commonalities and differences between them. We demonstrate our work with a prototype in Haskell that allows us to write programs in terms of a generic interface that can be later instantiated to different abstractions depending on the desired target.

reactive programming

Automata-Based Verification of Temporal Properties on Running Programs

This paper presents an approach to checking a running program against its Linear Temporal Logic (LTL) specifications. LTL is a widely used logic for expressing properties of programs viewed as sets of executions. Our approach consists of translating LTL formulae to finite-state automata, which are used as observers of the program behavior. The translation algorithm we propose modifies standard LTL to Buchi automata conversion techniques to generate automata that check finite program traces. The algorithm has been implemented in a tool, which has been integrated with the generic JPaX framework for runtime analysis of Java programs.

Giannakopoulou, Dimitra

Free Molecular Heat Transfer Programs for Setup and Dynamic Updating the Conductors in Thermal Desktop

The programs, arrays and logic structure were developed to enable the dynamic update of conductors in thermal desktop. The MatLab program FMHTPRE.m processes the Thermal Desktop conductors and sets up the arrays. The user needs to manually copy portions of the output to different input regions in Thermal Desktop. Also, Fortran subroutines are provided that perform the actual updates to the conductors. The subroutines are setup for helium gas, but the equations can be modified for other gases. The maximum number of free molecular conductors allowed is 10,000 for a given radiation task. Additional radiation tasks for FMHT can be generated to account for more conductors. Modifications to the Fortran subroutines may be warranted, when the mode of heat transfer is in the mixed or continuum mode. The FMHT Thermal Desktop model should be activated by using the "Case Set Manager" once the model is setup. Careful setup of the model is needed to avoid excessive solve times.

Malroy, Eric T.

Microwave brightness temperature of a windblown sea

A mathematical model is developed for the apparent temperature of the sea at all microwave frequencies. The model is a numerical model in which both the clear water structure and white water are accounted for as a function of wind speed. The model produces results similar to Stogryn's model at 19.35 GHz for wind speeds less than 8 m/sec; it can use radiosonde data to calculate atmospheric effects and can incorporate an empirically determined antenna gain pattern. The corresponding computer program is of modular design and the logic of the main program is capable of treating a horizontally inhomogeneous surface or atmosphere. It is shown that a variation of microwave brightness temperature with zenith angle is necessary to produce the wind sensitivity of the horizontally polarized brightness temperature; the variation of sky temperature with frequency is sufficient to produce a frequency dependent wind sensitivity.

Hall, F. G.

Putting time into proof outlines

A logic for reasoning about timing of concurrent programs is presented. The logic is based on proof outlines and can handle maximal parallelism as well as resource-constrained execution environments. The correctness proof for a mutual exclusion protocol that uses execution timings in a subtle way illustrates the logic in action.

Schneider, Fred B.

Program to Optimize Simulated Trajectories (POST). Volume 3: Programmer's manual

Information pertinent to the programmer and relating to the program to optimize simulated trajectories (POST) is presented. Topics discussed include: program structure and logic, subroutine listings and flow charts, and internal FORTRAN symbols. The POST core requirements are summarized along with program macrologic.

Brauer, G. L.

Runtime Analysis of Linear Temporal Logic Specifications

This report presents an approach to checking a running program against its Linear Temporal Logic (LTL) specifications. LTL is a widely used logic for expressing properties of programs viewed as sets of executions. Our approach consists of translating LTL formulae to finite-state automata, which are used as observers of the program behavior. The translation algorithm we propose modifies standard LTL to B chi automata conversion techniques to generate automata that check finite program traces. The algorithm has been implemented in a tool, which has been integrated with the generic JPaX framework for runtime analysis of Java programs.

Giannakopoulou, Dimitra