Search NASA⌕ Search

SEARCH · Search NASA

Results for “functional language”

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 235 records · Page 13

Conversions to the Lidar Atmospheric Sensing Experiment (LASE) Instrument for Nadir and Zenith Measurements

LASE now has the advantage of being economically upgraded and customized with COTS hardware and software while using "C" software language. These changes are made so as not to destroy the form, fit and functional characteristics required for flights aboard the ER-2 aircraft. The LASE Instrument can now be quickly adapted to fly onboard ER-2, P-3, C-130 and DC-8 aircraft. The adaptability of the CDS upgraded electronics compliments other modular subsystems like the laser optical bench in that it was designed to be a test bed for new technology lasers.

Moore, Alvah S., Jr.↗

Open Innovation for a NASA Architecture Library

NASA’s Center of Excellence for Collaborative Innovation (CoECI) uses open innovation, or “crowdsourcing”, to access the global public to find ideas, concepts, designs, or solutions that meet a previously unmet need possibly resulting in significant advances in performance. The Center of Excellence for Collaborative Innovation was launched at the request of the White House Office of Science and Technology Policy. This is both a non-traditional method of innovation and a non-traditional method of outreach to the public to involve them in space technologies and programs. It has been used often for software development and new hardware technology. In this case we applied it to innovate with systems engineering tools for creating space architectures. The challenge was sponsored by NASA Engineering and Safety Center Systems Engineering Technical Fellow as part of a program for NASA’s adoption of MBSE. It was a trial to see if there would be as much participation or quality submissions with this more specialized topic and skill. The challenge sought space architecture representations and decompositions to create a library of modeled parts in a system modeling language (SysML). Mission architects mostly start from scratch to build model elements representing the functional and physical architecture of a system in SysML. There are a few beginning libraries, but these are also local to a program or group. A common library will save system engineers a large amount of time, will allow project stakeholders to recognize common graphics and quickly understand the architecture options. The challenge was promoted internationally, especially through professional organizations and universities with a systems engineering focus. It was open for 4 months, purposefully over the winter holiday break time to allow participants extra time outside of work or school. The challenge was designed so that expertise in space hardware was not necessary but getting to play with models of space architecture could provide motivation to participate. We did not receive as many entries as other broader outreach challenges, but the ones we received were extremely thorough and high quality. Solutions came from individuals and teams, students and professional consultants from the United States and Europe. We learned a few lessons about how to engage with the public and what characteristics of a problem result in good crowdsourcing results. The outreach challenge produced several useful ideas and modeled space elements, and the group will be engaging the winners to learn more about their new approaches.

innovation↗

VISION: a modular AI assistant for natural human-instrument interaction at scientific user facilities

Scientific user facilities, such as synchrotron beamlines, are equipped with a wide array of hardware and software tools that require a codebase for human-computer-interaction. This often necessitates developers to be involved to establish connection between users/researchers and the complex instrumentation. The advent of generative AI presents an opportunity to bridge this knowledge gap, enabling seamless communication and efficient experimental workflows. Here we present a modular architecture for the Virtual Scientific Companion by assembling multiple AI-enabled cognitive blocks that each scaffolds large language models (LLMs) for a specialized task. With VISION, we performed LLM-based operation on the beamline workstation with low latency and demonstrated the first voice-controlled experiment at an x-ray scattering beamline. The modular and scalable architecture allows for easy adaptation to new instruments and capabilities. Development on natural language-based scientific experimentation is a building block for an impending future where a science exocortex—a synthetic extension to the cognition of scientists—may radically transform scientific practice and discovery.

36 MATERIALS SCIENCE↗

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↗

Multiple-function multi-input/multi-output digital control and on-line analysis

The design and capabilities of two digital controller systems for aeroelastic wind-tunnel models are described. The first allowed control of flutter while performing roll maneuvers with wing load control as well as coordinating the acquisition, storage, and transfer of data for on-line analysis. This system, which employs several digital signal multi-processor (DSP) boards programmed in high-level software languages, is housed in a SUN Workstation environment. A second DCS provides a measure of wind-tunnel safety by functioning as a trip system during testing in the case of high model dynamic response or in case the first DCS fails. The second DCS uses National Instruments LabVIEW Software and Hardware within a Macintosh environment.

Hoadley, Sherwood T.↗

Incorporating CLIPS into a personal-computer-based Intelligent Tutoring System

A large number of Intelligent Tutoring Systems (ITS's) have been built since they were first proposed in the early 1970's. Research conducted on the use of the best of these systems has demonstrated their effectiveness in tutoring in selected domains. Computer Sciences Corporation, Applied Technology Division, Houston Operations has been tasked by the Spacecraft Software Division at NASA/Johnson Space Center (NASA/JSC) to develop a number of lTS's in a variety of domains and on many different platforms. This paper will address issues facing the development of an ITS on a personal computer using the CLIPS (C Language Integrated Production System) language. For an ITS to be widely accepted, not only must it be effective, flexible, and very responsive, it must also be capable of functioning on readily available computers. There are many issues to consider when using CLIPS to develop an ITS on a personal computer. Some of these issues are the following: when to use CLIPS and when to use a procedural language such as C, how to maximize speed and minimize memory usage, and how to decrease the time required to load your rule base once you are ready to deliver the system. Based on experiences in developing the CLIPS Intelligent Tutoring System (CLIPSITS) on an IBM PC clone and an intelligent Physics Tutor on a Macintosh 2, this paper reports results on how to address some of these issues. It also suggests approaches for maintaining a powerful learning environment while delivering robust performance within the speed and memory constraints of the personal computer.

Mueller, Stephen J.↗

Automatically parallelizing batch inference on deep neural networks using Fiats and Fortran 2023 `do concurrent`

This paper introduces novel programming strategies that leverage features of the Fortran 2023 standard of the International Standards Organization (ISO) to automatically parallelize computations on deep neural networks. The paper focuses on the interplay of object-oriented, parallel, and functional programming paradigms in the Fiats deep learning library. We demonstrate how several infrequently used language features play a role in enabling efficient, parallel execution. Specifically, the ability to explicitly declare that a procedure is pure facilitates inference in the context of the language’s loop-parallelism construct `do concurrent`. Also, explicitly prohibiting the overriding of a parent type’s type-bound procedures eliminates the need for dynamic dispatch in performance-critical code. Finally, this paper uses batch inference calculations on a neural network surrogate for atmospheric aerosol dynamics to demonstrate that LLVM Flang compiler’s automatic parallelization of `do concurrent` achieves roughly the same performance and scalability as achieved by OpenMP compiler directives. We also demonstrate that double-precision inference costs 37–72% longer runtime than default-real precision with most values in the range 57-60%.

Rouson, Damian↗

A translator and simulator for the Burroughs D machine

The D Machine is described as a small user microprogrammable computer designed to be a versatile building block for such diverse functions as: disk file controllers, I/O controllers, and emulators. TRANSLANG is an ALGOL-like language, which allows D Machine users to write microprograms in an English-like format as opposed to creating binary bit pattern maps. The TRANSLANG translator parses TRANSLANG programs into D Machine microinstruction bit patterns which can be executed on the D Machine simulator. In addition to simulation and translation, the two programs also offer several debugging tools, such as: a full set of diagnostic error messages, register dumps, simulated memory dumps, traces on instructions and groups of instructions, and breakpoints.

Roberts, J.↗

Interactive Spectral Analysis and Computation (ISAAC)

Isaac is a task in the NSO external package for IRAF. A descendant of a FORTRAN program written to analyze data from a Fourier transform spectrometer, the current implementation has been generalized sufficiently to make it useful for general spectral analysis and other one dimensional data analysis tasks. The user interface for Isaac is implemented as an interpreted mini-language containing a powerful, programmable vector calculator. Built-in commands provide much of the functionality needed to produce accurate line lists from input spectra. These built-in functions include automated spectral line finding, least squares fitting of Voigt profiles to spectral lines including equality constraints, various filters including an optimal filter construction tool, continuum fitting, and various I/O functions.

Lytle, D. M.↗

Optimal Planning and Problem-Solving

CTAEMS MDP Optimal Planner is a problem-solving software designed to command a single spacecraft/rover, or a team of spacecraft/rovers, to perform the best action possible at all times according to an abstract model of the spacecraft/rover and its environment. It also may be useful in solving logistical problems encountered in commercial applications such as shipping and manufacturing. The planner reasons around uncertainty according to specified probabilities of outcomes using a plan hierarchy to avoid exploring certain kinds of suboptimal actions. Also, planned actions are calculated as the state-action space is expanded, rather than afterward, to reduce by an order of magnitude the processing time and memory used. The software solves planning problems with actions that can execute concurrently, that have uncertain duration and quality, and that have functional dependencies on others that affect quality. These problems are modeled in a hierarchical planning language called C_TAEMS, a derivative of the TAEMS language for specifying domains for the DARPA Coordinators program. In realistic environments, actions often have uncertain outcomes and can have complex relationships with other tasks. The planner approaches problems by considering all possible actions that may be taken from any state reachable from a given, initial state, and from within the constraints of a given task hierarchy that specifies what tasks may be performed by which team member.

Clemet, Bradley↗

Using A Model-Based Systems Engineering Approach For Exploration Medical System Development

NASA's Human Research Program's Exploration Medical Capabilities (ExMC) element is defining the medical system needs for exploration class missions. ExMC's Systems Engineering (SE) team will play a critical role in successful design and implementation of the medical system into exploration vehicles. The team's mission is to "Define, develop, validate, and manage the technical system design needed to implement exploration medical capabilities for Mars and test the design in a progression of proving grounds." Development of the medical system is being conducted in parallel with exploration mission architecture and vehicle design development. Successful implementation of the medical system in this environment will require a robust systems engineering approach to enable technical communication across communities to create a common mental model of the emergent engineering and medical systems. Model-Based Systems Engineering (MBSE) improves shared understanding of system needs and constraints between stakeholders and offers a common language for analysis. The ExMC SE team is using MBSE techniques to define operational needs, decompose requirements and architecture, and identify medical capabilities needed to support human exploration. Systems Modeling Language (SysML) is the specific language the SE team is utilizing, within an MBSE approach, to model the medical system functional needs, requirements, and architecture. Modeling methods are being developed through the practice of MBSE within the team, and tools are being selected to support meta-data exchange as integration points to other system models are identified. Use of MBSE is supporting the development of relationships across disciplines and NASA Centers to build trust and enable teamwork, enhance visibility of team goals, foster a culture of unbiased learning and serving, and be responsive to customer needs. The MBSE approach to medical system design offers a paradigm shift toward greater integration between vehicle and the medical system and directly supports the transition of Earth-reliant ISS operations to the Earth-independent operations envisioned for Mars. Here, we describe the methods and approach to building this integrated model.

Hanson, A.↗

An Interpreted Language and System for the Visualization of Unstructured Meshes

We present an interpreted language and system supporting the visualization of unstructured meshes and the manipulation of shapes defined in terms of mesh subsets. The language features primitives inspired by geometric modeling, mathematical morphology and algebraic topology. The adaptation of the topology ideas to an interpreted environment, along with support for programming constructs such, as user function definition, provide a flexible system for analyzing a mesh and for calculating with shapes defined in terms of the mesh. We present results demonstrating some of the capabilities of the language, based on an implementation called the Shape Calculator, for tetrahedral meshes in R^3.

Moran, Patrick J.↗

Trajectory Specification Language for Air Traffic Control

Trajectory Specification is a method of specifying aircraft trajectories with tolerances such that the position at any instant in time is constrained to a precisely defined bounding space. The bounding space at any instant in time is defined by tolerances relative to a reference trajectory that specifies position as a function of time. The tolerances are dynamic and are based on the aircraft navigation capabilities and the traffic situation. This paper proposes a standard Trajectory Specification Language (TSL) based on the Extensible Markup Language (XML) to represent these specifications and to communicate them by datalink. The language can be used to downlink trajectory requests from air to ground and to uplink trajectory assignments from ground to air. The XML format can be converted to binary for operational use, if necessary, using Efficient XML Interchange (EXI) or Abstract Syntax Notation (ASN.1).

XM↗

Semantic based man-machine interface for real-time communication

A flight expert system (FLES) was developed to assist pilots in monitoring, diagnosing and recovering from in-flight faults. To provide a communications interface between the flight crew and FLES, a natural language interface (NALI) was implemented. Input to NALI is processed by three processors: (1) the semantics parser; (2) the knowledge retriever; and (3) the response generator. First the semantic parser extracts meaningful words and phrases to generate an internal representation of the query. At this point, the semantic parser has the ability to map different input forms related to the same concept into the same internal representation. Then the knowledge retriever analyzes and stores the context of the query to aid in resolving ellipses and pronoun references. At the end of this process, a sequence of retrievel functions is created as a first step in generating the proper response. Finally, the response generator generates the natural language response to the query. The architecture of NALI was designed to process both temporal and nontemporal queries. The architecture and implementation of NALI are described.

Ali, M.↗

Controlled flexibility in technical editing - The levels-of-edit concept at JPL

The levels-of-edit concept, which can be used to specify the amount of editorial effort involved in the preparation of a manuscript for publication, is discussed. Nine types of editing are identified and described. These include coordination edit (preparing estimates, gathering cost data, monitoring production processes), policy edit, integrity edit (making sure that parts of a publication match in a physical or numerical sense), screening edit (ensuring that the quality of camera-ready copy is sufficient for external publication), copy clarification edit, format edit, mechanical style edit, language edit, and substantive edit (reviewing the manuscript for content coherence, emphasis, subordination and parallelism). These functions are grouped into five levels of edit. An edit-level number is assigned to each manuscript, providing a quantitative and qualitative indicator of the editing to be done which is clearly understood by authors, managers, and editors alike. In addition, clear boundaries are drawn between normal and extraordinary editing tasks. Individual organizations will group various edits in different ways to reflect their needs and priorities; the essential element of the system is unambiguous definition and coding of the types and amount of work to be done.

Buehler, M. F.↗

An Ada run-time control architecture for telerobots

This paper describes the architecture and Ada language implementation of a process-level run-time control subystem for the Jet Propulsion Laboratory (JPL) telerobot system. The concept of run-time control in a combined robot-teleoperation environment is examined and the telerobot system at JPL is described. An Ada language implementation of the JPL Telerobot Run-Time Controller (RTC) is described by highlighting the functional behavior of the subsystem, defining the internal modules, and providing a functional flow time sequence of internal module activity.

Balaram, J.↗

Simulating Dynamics Of The Gamma-Ray Observatory Satellite

GRODY developed alongside GROSS computer program (GSC-13147), a FORTRAN dynamics-simulator program performing same functions. GRODY conceived for use in case study to assess feasibility and effectiveness of Ada programming language for development of flight-dynamics software. Designed for those familiar with analysis of attitudes of spacecraft. Supports planning of maneuvers as well as analytical testing and evaluation of attitude-determination and -control system used on board Gamma-Ray Observatory (GRO) satellite. Simulates computer and control processor electronics aboard GRO satellite. Enables analyst to check and update commands sent from ground and values of parameters, obtain displays of status of simulation, interrupt simulation, analyze previous runs, and obtain printed output of simulation runs. Written mainly in Ada (99 percent) with remainder in FORTRAN.

Stark, M.↗

Infrastructure for Rapid Development of Java GUI Programs

The Java Application Shell (JAS) is a software framework that accelerates the development of Java graphical-user-interface (GUI) application programs by enabling the reuse of common, proven GUI elements, as distinguished from writing custom code for GUI elements. JAS is a software infrastructure upon which Java interactive application programs and graphical user interfaces (GUIs) for those programs can be built as sets of plug-ins. JAS provides an application- programming interface that is extensible by application-specific plugins that describe and encapsulate both specifications of a GUI and application-specific functionality tied to the specified GUI elements. The desired GUI elements are specified in Extensible Markup Language (XML) descriptions instead of in compiled code. JAS reads and interprets these descriptions, then creates and configures a corresponding GUI from a standard set of generic, reusable GUI elements. These elements are then attached (again, according to the XML descriptions) to application-specific compiled code and scripts. An application program constructed by use of JAS as its core can be extended by writing new plug-ins and replacing existing plug-ins. Thus, JAS solves many problems that Java programmers generally solve anew for each project, thereby reducing development and testing time.

Jones, Jeremy↗