Search NASA⌕ Search

SEARCH · Search NASA

Results for “programing languages”

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 1,585 records · Page 88

From Natural Language Requirements to the Verification of Programmable Logic Controllers: Integrating FRET into PLCverif

PLCverif is an actively developed project at CERN, enabling the formal verification of Programmable Logic Controller (PLC) programs in critical systems. In this paper, we present our work on improving the formal requirements specification experience in PLCverif through the use of natural language. To this end, we integrate NASA’s FRET, a formal requirement elicitation and authoring tool, into PLCverif. FRET is used to specify formal requirements in structured natural language, which automatically translates into temporal logic formulae. FRET’s output is then directly used by PLCverif for verification purposes. We discuss practical challenges that PLCverif users face when authoring requirements and the FRET features that help alleviate these problems. We present the new requirement formalization workflow and report our experience using it on two critical CERN case studies.

FRET↗

From Natural Language Requirements to the Verification of Programmable Logic Controllers: Integrating FRET into PLCverif

PLCverif is an actively developed project at CERN, enabling the formal verification of Programmable Logic Controller (PLC) programs in critical systems. In this paper, we present our work on improving the formal requirements specification experience in PLCverif through the use of natural language. To this end, we integrate NASA’s FRET, a formal requirement elicitation and authoring tool, into PLCverif. FRET is used to specify formal requirements in structured natural language, which automatically translates into temporal logic formulae. FRET’s output is then directly used by PLCverif for verification purposes. We discuss practical challenges that PLCverif users face when authoring requirements and the FRET features that help alleviate these problems. We present the new requirement formalization workflow and report our experience using it on two critical CERN case studies.

FRET↗

CLC: A cross-level program characterization method

Characterization of program execution plays a key role in performance improvement. There are numerous transformations applied to each step that a program takes on its lowering from source code to a compiler intermediate representation to machine language to microarchitecture-specific execution. The unpredictable benefit of each transformation step could lead a notionally superior algorithm to exhibit inferior performance once actually run, and it can be hard to discern which step in the transformation path contradicted the code developer’s assumptions. Conventional approaches to program-execution characterization consider the behavior after only a single one of those steps, which limits the information that can be provided to the user. To help address the issue of myopic views of program execution, this paper presents a novel cross-level characterization approach for understanding the behavior of program execution at different levels in the process of writing, compiling, and running a program. We show that this approach provides a richer view of the sources of performance gains and losses and helps identify program execution in a more accurate manner.

97 MATHEMATICS AND COMPUTING↗

FRET Tutorial

In this tutorial, we present the FRET tool for writing, understanding, formalizing and analyzing requirements. In practice, requirements are typically written in natural language, which is ambiguous and consequently not amenable to formal analysis. Since formal, mathematical notations are unintuitive, requirements in FRET are entered in a restricted, natural language, called FRETish with precise unambiguous meaning. This tutorial explains how requirements can be captured in FRETish and subsequently formalized in temporal logics and in the synchronous data flow language Lustre. We show, through multiple examples, how FRET assists users in understanding FRETish requirements and clarifying subtle semantic issues through English and diagrammatic explanations as well as interactive simulation. FInally, this tutorial describes how FRET can be used to perform realizability checking for identifying conflicting requirements and the connection of FRET with (1) the CoCoSim automated analysis tool for the verification of Simulink and Stateflow models, and (2) the Copilot runtime monitoring tool for the analysis of C programs.

FRET↗

A Full-Stack Exploration of Language-Based Parallelism in Fortran 2023

This poster explores native parallel features in Fortran 2023 through the lens of supporting applications with libraries, compilers, and parallel runtimes. The language revision informally named Fortran 2008 introduced parallelism in the form of Single Program Multiple Data (SPMD) execution with two broad feature sets: (1) loop-level parallelism via do concurrent and (2) a Partitioned Global Address Space (PGAS) comprised of distributed “coarray” data structures. Fortran’s native parallelism has demonstrated high performance [1] and reduced the burden of inserting what sometimes amounts to more directives than code. Several compilers support both feature sets, typically by translating do concurrent into serial do loops annotated by parallel directives and by translating SPMD/PGAS features into direct calls to a communication library. Our research focuses primarily on two questions: (1) can the compiler’s parallel runtime library be developed in the language being compiled (Fortran) and (2) can we define an interface to the runtime that liberates compilers from being hardwired to one runtime and vice versa. We are answering these questions by developing the Parallel Runtime Interface for Fortran (PRIF) [2] and the Co-Array Fortran Framework of Efficient Interfaces to Network Environments (Caffeine) [3]. Caffeine is initially targeting adoption by LLVM Flang, a new open-source Fortran compiler developed by a broad community in industry, academia, and government labs. We are also exploring the use of these features in Inference-Engine, a deep learning library designed to facilitate neural network training and inference for high-performance computing applications written in modern Fortran.

Rasmussen, Katherine↗

Translation of shuttle operations simulation from GPSS 2 to GPSS 1100

A method has been developed which enables a programmer to convert the General Purpose Systems Simulator (GPSS) 2 simulation language into the GPSS 1100 language. To accomplish the conversion, a translator deck is used in addition to hand changes made by the analyst after translation. The conversion of a particular GPSS 2 program used at the Marshall Space Flight Center (MSFC) is reported and major changes required for compatibility of the two languages are summerized. Validation of the GPSS 1100 model was completed by comparing the results of the GPSS 2 statistics to the converted 1100 model.

Marshall, A. J.↗

Developing a Supply Chain Security Program

Amid growing concerns over foreign manufacturing for components and devices deployed in critical energy infrastructure, this research from the national labs will highlight best practices for developing and maintaining a supply chain security program. Tools for asset inventory, tips for developing and maintaining software- and hardware-bills-of-materials (SBOMs and HBOMs), recommended contractual language for vendor agreements, and identification of responsibilities will be shared. We discuss the one-time requirements to enable a successful supply chain security program and the best ways to operationalize this program for maximum impact, including development of robust practices for vulnerability tracking, patch management, and workarounds, with understanding of the reliability and uptime requirements for utilities. The recommendations shared are based on a cyber-informed engineering approach to identification of high-consequence impacts and the engineering controls related to supply chain management that can best mitigate these impacts. This approach allows for prioritization of resources. Additionally, we highlight relative up-front and ongoing costs associated with recommended controls. Viewers will leave with an understanding what a supply chain security program is, and what steps, prioritized for resource-constrained organizations, can build a robust program.

14 SOLAR ENERGY↗

Logic programming and metadata specifications

Artificial intelligence (AI) ideas and techniques are critical to the development of intelligent information systems that will be used to collect, manipulate, and retrieve the vast amounts of space data produced by 'Missions to Planet Earth.' Natural language processing, inference, and expert systems are at the core of this space application of AI. This paper presents logic programming as an AI tool that can support inference (the ability to draw conclusions from a set of complicated and interrelated facts). It reports on the use of logic programming in the study of metadata specifications for a small problem domain of airborne sensors, and the dataset characteristics and pointers that are needed for data access.

Lopez, Antonio M., Jr.↗

Cross-Cultural Barriers to Effective Communication in Aviation

Communication is essential to safe flight, as evidenced by several accidents in which crew communicates was found to have contributed to the accidents. This chapter documents the essential role of explicit efficient communication to flight safety with a global context. It addresses communication between flight crews and air traffic controllers in regions a the world where pilots and controllers speak different native languages, as well as cases in which crew members within the flight deck represent different native languages and cultures. It also addresses problems associated with "exporting" crew resource management training programs to parts of the world which values and norms differ from those of the United States, where these programs were initially developed. This chapter is organized around several central questions: (1) What are various kinds of communication failures and what are their consequences; (2) What are the causes of communication failure; (3) What are features of effective crew communication; (4) What can be done to enhance communication success? To explore a wider range of communication failures than available from accident reports, we examined a set of incident reports from the Aviation Safety Reporting System. These could be classified into three major categories: those in which language actually interfered with transmission of a message; those in which transmission was adequate but the context was not expressed unambiguously and thus the message received was not the same as the message intended; and those in which the message was received as intended, but was not adequately understood or acted upon, mainly because of cultural factors. The consequences of failed communication can be flight errors (such as when a clearance is not received correctly), loss of situation awareness, or failure of crew members (or ATC and pilots) to build a shared understanding of a situation. Causes of misunderstanding can be traced to a number of sources, often grounded in faulty assumptions held by one or both parties to a conversation. Speakers and listeners often experience "illusionary understanding" in which they think they understand each other, but in fact do not. While this problem can exist within a single culture, it is much more serious across cultures. Training in effective explicit communication is a component of Crew Resource Management training programs developed in the U.S. These programs are being adopted by airlines around the world, with varying degrees of success. The level of success in part depends on how similar the conversational and social styles of those cultures are to those of the U.S. A factor that influences conversational style is a culture's relative positioned on two major dimensions that distinguish national cultural groups: individualism vs. collectivism and degree of power distance. The chapter concludes with a discussion of techniques for overcoming the various classes of communication failures and for effectively adapting training programs to fit the values and norms of cultures around the globe.

Fischer, U.↗

A Formalization of Core Why3 in Coq

Intermediate verification languages like Why3 and Boogie have made it much easier to build program verifiers, transforming the process into a logic compilation problem rather than a proof automation one. Why3 in particular implements a rich logic for program specification with polymorphism, algebraic data types, recursive functions and predicates, and inductive predicates; it translates this logic to over a dozen solvers and proof assistants. Accordingly, it serves as a backend for many tools, including Frama-C, EasyCrypt, and GNATProve for Ada SPARK. But how can we be sure that these tools are correct? The alternate foundational approach, taken by tools like VST and CakeML, provides strong guarantees by implementing the entire toolchain in a proof assistant, but these tools are harder to build and cannot directly take advantage of SMT solver automation. As a first step toward enabling automated tools with similar foundational guarantees, we give a formal semantics in Coq for the logic fragment of Why3. We show that our semantics are useful by giving a correct-by-construction natural deduction proof system for this logic, using this proof system to verify parts of Why3's standard library, and proving sound two of Why3's transformations used to convert terms and formulas into the simpler logics supported by the backend solvers.

97 MATHEMATICS AND COMPUTING↗

Accessing Microsoft Access Databases Using ODBC and RODBC

ODBC (Open Database Connectivity) is an industry-standard API (Application Program Interface) that provides a standard interface, based on SQL (Structured Query Language) between applications and databases. This insulates applications from specific details of different database management systems (DBMS). Microsoft Windows TM provides an implementation of ODBC, which, along with drivers for various databases, supports the API. Windows also provides a driver for Access databases.

97 MATHEMATICS AND COMPUTING↗

Semantic definitions of space flight control center languages using the hierarchical graph technique

In this paper a method is described by which the semantic definitions of the Goddard Space Flight Control Center Command Languages can be specified. The semantic modeling facility used is an extension of the hierarchical graph technique, which has a major benefit of supporting a variety of data structures and a variety of control structures. It is particularly suited for the semantic descriptions of such types of languages where the detailed separation between the underlying operating system and the command language system is system dependent. These definitions were used in the definition of the Systems Test and Operation Language (STOL) of the Goddard Space Flight Center which is a command language that provides means for the user to communicate with payloads, application programs, and other ground system elements.

Zaghloul, M. E.↗

Program for Automated Real-Time Monitoring

Process-control decisions made by applying rules to process data streams. Expert System Executive computer program demonstrates feasibility of automated real-time monitoring. Using Executives knowledge of system formally coded as set of rules specifying actions taken under various conditions. Program makes inferences about observed data based on rules. Written in C language.

Goodrum, Glenn R.↗

Image processing methods in two and three dimensions used to animate remotely sensed data

Image processing methods and software used to animate nonimaging remotely sensed data on cloud cover are described. Three FORTRAN programs were written in the VICAR2/TAE image processing domain to perform 3D perspective rendering, to interactively select parameters controlling the projection, and to interpolate parameter sets for animation images between key frames. Operation of the 3D programs and transferring the images to film is automated using executive control language and custom hardware to link the computer and camera.

Hussey, K. J.↗

ICL: The Image Composition Language

The Image Composition Language (ICL) provides a convenient way for programmers of interactive graphics application programs to define how the video look-up table of a raster display system is to be loaded. The ICL allows one or several images stored in the frame buffer to be combined in a variety of ways. The ICL treats these images as variables, and provides arithematic, relational, and conditional operators to combine the images, scalar variables, and constants in image composition expressions. The objective of ICL is to provide programmers with a simple way to compose images, to relieve the tedium usually associated with loading the video look-up table to obtain desired results.

Foley, James D.↗

Development of a micro-computer based integrated design system for high altitude long endurance aircraft

A microcomputer-based integration of aircraft design disciplines has been applied theoretically to sailplane, microwave-powered aircraft, and High Altitude Long-Endurance (HALE) aircraft configurational definition efforts. Attention is presently given to the further development of such integrated-disciplines approaches through the incorporation of AI techniques; these are then applied to the aforementioned case of the HALE. The 'windFrame' language used, which is based on HyperTalk, will allow designers to write programs using a highly graphical, user interface-oriented environment.

Hall, David W.↗

Transmitter data collection using Ada

A data collection system installed on the 400 kilowatt X-band transmitter of the Goldstone Solar System Radar is described. The data collection system is built around the off-the-shelf IEEE 488 instrumentation, linked with fiber optics, controlled by an inexpensive computer, and uses software written in the Ada language. The speed and accuracy of the system is discussed, along with programming techniques used for both data collection and reduction.

Conroy, B. L.↗