Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “Application Abstraction”

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 505 records · Page 28

Applicative architectures for fault-tolerant multiprocessors

Functional programming frameworks for the design of highly reliable multiprocessor systems are proposed. In contrast to imperative programming environments, a functional environment offers elegant, relatively simple, and efficient solutions to concurrent error detection and recovery problems in multiprocessors. Specific fault tolerance mechanisms for upset exposure, fault containment, secure task assignment, and recovery are developed for a class of applicative multiprocessor architectures. Verification of abstract behavioral characteristics of applicative tasks is used for exposing faults during the execution of tasks. The fault containment mechanism is based on isolation of stack and heap segments of tasks. A protocol for secure task assignment is defined between system components. The architecture permits incremental, distributed, and asynchronous backups of system state. Finally, recovery is accomplished, even in the worst cases, by re-execution of a small number of tasks.

Sharma, Madhumitra↗

Evolution of artificial intelligence for application in contemporary materials science

Abstract Contemporary materials science has seen an increasing application of various artificial intelligence techniques in an attempt to accelerate the materials discovery process using forward modeling for predictive analysis and inverse modeling for optimization and design. Over the last decade or so, the increasing availability of computational power and large materials datasets has led to a continuous evolution in the complexity of the techniques used to advance the frontier. In this Review, we provide a high-level overview of the evolution of artificial intelligence in contemporary materials science for the task of materials property prediction in forward modeling. Each stage of evolution is accompanied by an outline of some of the commonly used methodologies and applications. We conclude the work by providing potential future ideas for further development of artificial intelligence in materials science to facilitate the discovery, design, and deployment workflow. Graphical abstract

Materials Science↗

(abstract) Experimental Results From Internetworking Data Applications Over Various Wireless Networks Using a Single Flexible Error Control Protocol

This paper describes results from several wireless field trials in New Jersey, California, and Colorado, conducted jointly by researchers at Bellcore, JPL, and US West over the course of 1993 and 1994. During these trials, applications communicated over multiple wireless networks including satellite, low power PCS, high power cellular, packet data, and the wireline Public Switched Telecommunications Network (PSTN). Key goals included 1) designing data applications and an API suited to mobile users, 2) investigating internetworking issues, 3) characterizing wireless networks under various field conditions, and 4) comparing the performance of different protocol mechanisms over the diverse networks and applications. We describe experimental results for different protocol mechanisms and parameters, such as acknowledgment schemes and packet sizes. We show the need for powerful error control mechanisms such as selective acknowledgements and combining data from multiple transmissions. We highlight the possibility of a common protocol for all wireless networks, from micro-cellular PCS to satellite networks.

wireless networks field trials mobile users protoc↗

ECP ST Project 2.3.1.06-STPM08-RAJA (Final Report)

Modern high-performance computing architectures are diverse, with hardware designs that feature multicore CPUs and CPUs plus accelerators, such as GPUs or FPGAs. Achieving good application performance often requires using a programming model and managing application data in ways that are best suited to a particular platform. For large codes that are used daily in production, and are under continual development, architecture-specific ports are untenable. Maintainability requires single-source code that is performance portable across a range of architectures and programming model back-ends. This report describes RAJA, Umpire, and CHAI, three software libraries that provide complementary capabilities to enable application portability for high performance computing (HPC) platforms. In particular, these libraries provide software abstractions that insulate application source code from hardware architecture and programming model-specific implementation details. These development of these libraries was motivated by the needs of multiphysics applications in the Weapons Simulation and Computing Program (WSC) at Lawrence Livermore National Laboratory (LLNL). Funding though the Exascale Computing Project (ECP) Software Technology (ST) project 2.3.1.06 RAJA has fostered outreach and collaboration with the ECP application and software technology development communities. In this report, we describe ECP adoption and integration of these tools to this point. The larger goal of the report is to describe to the ECP community what these projects offer, how they are used, and how to approach adoption and integration of them.

97 MATHEMATICS AND COMPUTING↗

Generating Safety-Critical PLC Code From a High-Level Application Software Specification

The benefits of automatic-application code generation are widely accepted within the software engineering community. These benefits include raised abstraction level of application programming, shorter product development time, lower maintenance costs, and increased code quality and consistency. Surprisingly, code generation concepts have not yet found wide acceptance and use in the field of programmable logic controller (PLC) software development. Software engineers at Kennedy Space Center recognized the need for PLC code generation while developing the new ground checkout and launch processing system, called the Launch Control System (LCS). Engineers developed a process and a prototype software tool that automatically translates a high-level representation or specification of application software into ladder logic that executes on a PLC. All the computer hardware in the LCS is planned to be commercial off the shelf (COTS), including industrial controllers or PLCs that are connected to the sensors and end items out in the field. Most of the software in LCS is also planned to be COTS, with only small adapter software modules that must be developed in order to interface between the various COTS software products. A domain-specific language (DSL) is a programming language designed to perform tasks and to solve problems in a particular domain, such as ground processing of launch vehicles. The LCS engineers created a DSL for developing test sequences of ground checkout and launch operations of future launch vehicle and spacecraft elements, and they are developing a tabular specification format that uses the DSL keywords and functions familiar to the ground and flight system users. The tabular specification format, or tabular spec, allows most ground and flight system users to document how the application software is intended to function and requires little or no software programming knowledge or experience. A small sample from a prototype tabular spec application is shown.

Source record↗

Jay : A software framework for prototyping and evaluating offloading applications in hybrid edge clouds

Abstract We present Jay , a software framework for offloading applications in hybrid edge clouds. Jay provides an API, services, and tools that enable mobile application developers to implement, instrument, and evaluate offloading applications using configurable cloud topologies, offloading strategies, and job types. We start by presenting Jay 's job model and the concrete architecture of the framework. We then present the programming API with several examples of customization. Then, we turn to the description of the internal implementation of Jay instances and their components. Finally, we describe the Jay Workbench, a tool that allows the setup, execution, and reproduction of experiments with networks of hosts with different resource capabilities organized with specific topologies. The complete source code for the framework and workbench is provided in a GitHub repository.

Silva, Joaquim↗

A Frequency Domain Methodology for Quantitative Evaluation of Diffuse Wavefield With Applications to Seismic Imaging

Abstract Ambient Noise Imaging (ANI) of subsurface structures relies on seismic interferometry of diffuse seismic wavefields. However, the lack of effective methods to quantify and identify highly diffuse waves hampers applications of ANI, particularly in evaluating seismic attenuation and monitoring structural changes with high temporal resolution. Conventional ANI approaches require data normalization, which effectively suppresses the non‐diffuse component with large amplitude but also results in significant loss of amplitude and phase information in the continuous seismic records. In this study, we propose a frequency domain method to quantitatively evaluate the degree of diffuseness of seismic wavefields by analyzing their statistical characteristics of modal amplitudes for stationarity and randomness. Tests on synthetic waveform and field nodal records show that the proposed method can effectively distinguish between diffuse and non‐diffuse waveforms for either single‐ or three‐component data. As an application, we identify a 60‐s‐long diffuse coda of a local M 2.2 earthquake recorded by a dense nodal array on the San Jacinto Fault Zone, and successfully extract high‐quality dispersion curve andQ‐value without performing data normalization. These results are consistent with those obtained by conventional methods that assess the correlation between coherency and the Green's function, and by modeling ballistic waves generated by road traffic. Our proposed method can advance the imaging of subsurface velocity and attenuation structures as well as monitoring temporal changes for scientific studies and engineering applications.

Geochemistry & Geophysics↗

Automated Translation of Safety Critical Application Software Specifications into PLC Ladder Logic

The numerous benefits of automatic application code generation are widely accepted within the software engineering community. A few of these benefits include raising the abstraction level of application programming, shorter product development time, lower maintenance costs, and increased code quality and consistency. Surprisingly, code generation concepts have not yet found wide acceptance and use in the field of programmable logic controller (PLC) software development. Software engineers at the NASA Kennedy Space Center (KSC) recognized the need for PLC code generation while developing their new ground checkout and launch processing system. They developed a process and a prototype software tool that automatically translates a high-level representation or specification of safety critical application software into ladder logic that executes on a PLC. This process and tool are expected to increase the reliability of the PLC code over that which is written manually, and may even lower life-cycle costs and shorten the development schedule of the new control system at KSC. This paper examines the problem domain and discusses the process and software tool that were prototyped by the KSC software engineers.

Leucht, Kurt W.↗

Object Proxy Patterns for Accelerating Distributed Applications

Workflow and serverless frameworks have empowered new approaches to distributed application design by abstracting compute resources. However, their typically limited or one-size-fits-all support for advanced data flow patterns leaves optimization to the application programmer—optimization that becomes more difficult as data become larger. The transparent object proxy, which provides wide-area references that can resolve to data regardless of location, has been demonstrated as an effective low-level building block in such situations. Here we propose three high-level proxy-based programming patterns—distributed futures, streaming, and ownership—that make the power of the proxy pattern usable for more complex and dynamic distributed program structures. We motivate these patterns via careful review of application requirements and describe implementations of each pattern. As a result, we evaluate our implementations through a suite of benchmarks and by applying them in three meaningful scientific applications, in which we demonstrate substantial improvements in runtime, throughput, and memory usage.

Distributed Computing↗

Foundations of the Bandera Abstraction Tools

Current research is demonstrating that model-checking and other forms of automated finite-state verification can be effective for checking properties of software systems. Due to the exponential costs associated with model-checking, multiple forms of abstraction are often necessary to obtain system models that are tractable for automated checking. The Bandera Tool Set provides multiple forms of automated support for compiling concurrent Java software systems to models that can be supplied to several different model-checking tools. In this paper, we describe the foundations of Bandera's data abstraction mechanism which is used to reduce the cardinality (and the program's state-space) of data domains in software to be model-checked. From a technical standpoint, the form of data abstraction used in Bandera is simple, and it is based on classical presentations of abstract interpretation. We describe the mechanisms that Bandera provides for declaring abstractions, for attaching abstractions to programs, and for generating abstracted programs and properties. The contributions of this work are the design and implementation of various forms of tool support required for effective application of data abstraction to software components written in a programming language like Java which has a rich set of linguistic features.

Hatcliff, John↗

Environment Modeling Using Runtime Values for JPF-Android

Software applications are developed to be executed in a specific environment. This environment includes external native libraries to add functionality to the application and drivers to fire the application execution. For testing and verification, the environment of an application is simplified abstracted using models or stubs. Empty stubs, returning default values, are simple to generate automatically, but they do not perform well when the application expects specific return values. Symbolic execution is used to find input parameters for drivers and return values for library stubs, but it struggles to detect the values of complex objects. In this work-in-progress paper, we explore an approach to generate drivers and stubs based on values collected during runtime instead of using default values. Entry-points and methods that need to be modeled are instrumented to log their parameters and return values. The instrumented applications are then executed using a driver and instrumented libraries. The values collected during runtime are used to generate driver and stub values on- the-fly that improve coverage during verification by enabling the execution of code that previously crashed or was missed. We are implementing this approach to improve the environment model of JPF-Android, our model checking and analysis tool for Android applications.

Verification↗

Role of electrostatic perturbation on kinetic resistive wall mode with application to spherical tokamak

Abstract A more complete non-perturbative magnetohydrodynamic (MHD)-kinetic hybrid formulation is developed by including the perturbed electrostatic potential δφ in the particle Lagrangian. The fluid-like counter-parts of the hybrid equations, in the Chew-Goldberger-Low high-frequency limit, are also derived and utilized to test the new toroidal implementation in the MARS-K code. Application of the updated non-perturbative hybrid model for a high- β spherical tokamak plasma in MAST finds that the perturbed electrostatic potential generally plays a minor role in the n = 1 ( n is the toroidal mode number) resistive wall mode instability. The effect of δφ is largely destabilizing, with the growth rate of the instability increased by several (up to 20) percent as compared to the case without including δφ . A similar relative change is also obtained for the kinetic-induced resonant field amplification effect at high- β in the MAST plasma considered. The updated capability of the MARS-K code allows quantitative exploration of drift kinetic effects on various MHD instabilities and the antenna-driven plasma response where the electrostatic perturbation, coupled to magnetic perturbations, may play important roles.

70 PLASMA PHYSICS AND FUSION TECHNOLOGY↗

Nanolaser arrays: toward application-driven dense integration

Abstract The past two decades have seen widespread efforts being directed toward the development of nanoscale lasers. A plethora of studies on single such emitters have helped demonstrate their advantageous characteristics such as ultrasmall footprints, low power consumption, and room-temperature operation. Leveraging knowledge about single nanolasers, the next phase of nanolaser technology will be geared toward scaling up design to form arrays for important applications. In this review, we discuss recent progress on the development of such array architectures of nanolasers. We focus on valuable attributes and phenomena realized due to unique array designs that may help enable real-world, practical applications. Arrays consisting of exactly two nanolasers are first introduced since they can serve as a building block toward comprehending the behavior of larger lattices. These larger-sized lattices can be distinguished depending on whether or not their constituent elements are coupled to one another in some form. While uncoupled arrays are suitable for applications such as imaging, biosensing, and even cryptography, coupling in arrays allows control over many aspects of the emission behavior such as beam directionality, mode switching, and orbital angular momentum. We conclude by discussing some important future directions involving nanolaser arrays.

Deka, Suruj S.↗

SoS-SDQN: System of Systems Software-defined Quantum Networking

Quantum networks are needed for quantum domain applications that may run across different network deployments - point-to-point, multi-node networks, and possibly across inter-domain quantum networks, like the quantum internet. Unlike classical computing networks, quantum networks involve heterogeneous systems nodes that currently require local and manual control. This needs a unified control approach to help them integrate, work seamlessly, and have global knowledge. Software-defined Networking (SDN) has been successfully leveraged in classical networking for seamless and software-driven control of network infrastructure and packet switching, but not in management of quantum network applications across heterogeneous systems. In this paper, we review the current state of the art and present early developments of a System-of-Systems Software-defined Quantum Networking architecture (SoS-SDQN), a generic architecture that supports software-driven quantum network experiments across heterogeneous quantum systems. The architecture modifies the generic SDN to address the domain requirements of quantum networks and proposes a multilevel SDQN to provide a global view of network status, running applications, and control of incorporated heterogeneous quantum systems. We also design and implement a SoS SouthBound Quantum Interface (SoS-SBQI), a quantum infrastructure protocol that abstracts automation of applications across the network.

Alnajjar, Anees [ORNL] (ORCID:0000000237101601)↗

Some design constraints required for the assembly of software components: The incorporation of atomic abstract types into generically structured abstract types

It is nearly axiomatic, that to take the greatest advantage of the useful features available in a development system, and to avoid the negative interactions of those features, requires the exercise of a design methodology which constrains their use. A major design support feature of the Ada language is abstraction: for data, functions processes, resources, and system elements in general. Atomic abstract types can be created in packages defining those private types and all of the overloaded operators, functions, and hidden data required for their use in an application. Generically structured abstract types can be created in generic packages defining those structured private types, as buildups from the user-defined data types which are input as parameters. A study is made of the design constraints required for software incorporating either atomic or generically structured abstract types, if the integration of software components based on them is to be subsequently performed. The impact of these techniques on the reusability of software and the creation of project-specific software support environments is also discussed.

Johnson, Charles S.↗

Abstracting event-based control models for high autonomy systems

A high autonomy system needs many models on which to base control, management, design, and other interventions. These models differ in level of abstraction and in formalism. Concepts and tools are needed to organize the models into a coherent whole. The paper deals with the abstraction processes for systematic derivation of related models for use in event-based control. The multifaceted modeling methodology is briefly reviewed. The morphism concepts needed for application to model abstraction are described. A theory for supporting the construction of DEVS models needed for event-based control is then presented. An implemented morphism on the basis of this theory is also described.

Luh, Cheng-Jye↗

CROWBAR: Natively Fuzzing Trusted Applications Using ARM CoreSight

Abstract Trusted execution environments (TEE) are deployed on many platforms to provide both confidentiality and integrity, and their extensive use offers a secure environment for privacy-sensitive operations. Despite TEE prevalence in the smartphone and tablet market, vulnerability research into TEE security is relatively rare. This is, in part, due to the strong isolation guarantees provided by its implementation. In this paper, we propose a hardware assisted fuzzing framework, CROWBAR, that bypasses TEE isolation to natively evaluate trusted applications (TAs) on mobile devices by leveraging ARM CoreSight components. CROWBAR performs feedback-driven fuzzing on commercial, closed source TAs while running in a TEE protected environment. We implement CROWBAR on 2 prototype commercial-off-the-shelf (COTS) smartphones and one development board, finding 3 unique crashes in 5 closed source TAs that are previously unreported in the TrustZone fuzzing literature.

Shan, Haoqi↗

Quantum Communication Networks for Energy Applications: Review and Perspective

Abstract The energy sector is expected to undergo significant changes in the coming decades with the advent of new technologies, including smart grid development, microgrid expansion, increasing electric vehicle and renewable energy usage, and enhanced measures to minimize greenhouse gas emission, among others. In tandem, these changes are expected to create new opportunities for the deployment of quantum technologies within the energy sector. Building on the authors' previous reviews on the current state of and future opportunities for quantum sensing, quantum computing and quantum simulations for energy sector applications, this work provides an overview of recent progress in quantum networking and communications for the energy industry, with a focus on platforms, devices, and protocols, including quantum teleportation and quantum key distribution. Specific areas of relevance to the energy sector are then analyzed, including the role of quantum networks for greenhouse gas monitoring, secure data collection and transmission in smart grids, nuclear power plants’ safety, facilitating oil and gas exploration, and other energy‐relevant applications. This review concludes with a brief overview of areas for future innovation, including the need for platforms for simulating quantum networks, quantum material and platform design, and computational approaches to accelerate quantum protocol discovery and development.

Paudel, Hari P.↗