Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “source code”

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 667 records · Page 37

Hyperion

The Hyperion system was designed to "look inside" an executable program and determine software's function or "behavior" without the use of the software's source code. Hyperion accomplishes this by generating associated program behaviors and the complete set of conditions under which they occur. These behaviors can be automatically checked for known malicious signatures and inspected by domain experts to assure correct operation and the absence of malicious content. Hyperion can also be used to check a program's security properties and to optimize a program.

Prowell, Stacy↗

Final Scientific Report

Project 1: We have created a 3D optical research and design software platform for simulation and optimization, geared toward asymmetric, folded optical systems and new, enabling freeform surfaces. The software, Eikonal+, targets both institutional researchers and leading optical surface fabricators. With a modular design and the source code available to the development team at the University of Rochester, custom modules can be created for specific research interests and is accelerating the work on freeform optics currently being carried out at the Institute of Optics. With a research-based optical design environment, the fabrication, assembly, and testing industries can anticipate, innovate, and retool for the future of optical systems. Targeted proposals for science and innovation in freeform optics spanning design to fabrication, assembly, and testing can proceed with a level of technical transparency that has been unachievable in this field since the 1960’s, when optics design code was commercialized and became unavailable to the research community for competitive reasons. Project 2: The University of Rochester Laboratory for Laser Energetics (LLE) with personnel from Flint Creek Resources (FCR) collaborated to develop technologies for the reclamation and reuse of cerium oxide based slurries intended for the polishing of optical components. The pilot process was evaluated and modifications were made to improve the collection of spent glass polish, to improve the efficiency and capacity of the recycling equipment, and to expand the customer base. A portable, self-contained system was developed and fabricated to recycle glass polishing compounds where the spent materials are produced.

36 MATERIALS SCIENCE↗

HERCULES/PL: The Pattern Language of HERCULES

Interrogating the structure of a program for patterns of interest is attractive to the broader spectrum of software engineering. The very approach by which a pattern is constructed remains a concern for the source code mining community. This paper presents a pattern programming model, for the C and Fortran programming languages, using a compiler directives approach. We discuss our specification, called HERCULES/PL, throughout a number of examples and show how different patterns can be constructed, plus some preliminary results.

Kartsaklis, Christos↗

Obtaining correct compile results by absorbing mismatches between data types representations

Methods and a system are provided. A method includes implementing a function, which a compiler for a first language does not have, using a compiler for a second language. The implementing step includes generating, by the compiler for the first language, a first abstract syntax tree. The implementing step further includes converting, by a converter, the first abstract syntax tree to a second abstract syntax tree of the compiler for the second language using a conversion table from data representation types in the first language to data representation types in the second language. When a compilation error occurs, the implementing step also includes generating a special node for error processing in the second abstract syntax tree and storing an error token in the special node. When unparsing, the implementing step additionally includes outputting the error token, in the form of source code written in the first language.

97 MATHEMATICS AND COMPUTING↗

Obtaining correct compile results by absorbing mismatches between data types representations

Methods and a system are provided. A method includes implementing a function, which a compiler for a first language does not have, using a compiler for a second language. The implementing step includes generating, by the compiler for the first language, a first abstract syntax tree. The implementing step further includes converting, by a converter, the first abstract syntax tree to a second abstract syntax tree of the compiler for the second language using a conversion table from data representation types in the first language to data representation types in the second language. When a compilation error occurs, the implementing step also includes generating a special node for error processing in the second abstract syntax tree and storing an error token in the special node. When unparsing, the implementing step additionally includes outputting the error token, in the form of source code written in the first language.

97 MATHEMATICS AND COMPUTING↗

RatCAP Time to Digital Converter and Signal Processing module (TSPM)

The TSPM receives and processes ASIC signals and transmits processed data over to the PC using an Ethernet cable. The data is given a location and a time stamp. This is the heart of the device as it gathers and stamps the timing and location of events on each of the ASICs. The five files for the TSPM are needed to manufacture Pet scanners that are based on the RatCAP (Rat Conscious Animal PET). They include a TSPM schematic, a raw data file to build the RatCAP TSPM, an output file that along with the assay file is used by an assembly house to build the RatCAP TSPM, an assay file that provides the part list and XY location for the components that go on the RatCAP TSPM, firmware that includes the source code to program the FPGA, and a realized program on the TSPM based on the firmware.

Fried, Jack↗

Unaligned instruction relocation

In one embodiment, a computer-implemented method includes receiving source code to be compiled into an executable file for an unaligned instruction set architecture (ISA). Aligned assembled code is generated, by a computer processor. The aligned assembled code complies with an aligned ISA and includes aligned processor code for a processor and aligned accelerator code for an accelerator. A first linking pass is performed on the aligned assembled code, including relocating a first relocation target in the aligned accelerator code that refers to a first object outside the aligned accelerator code. Unaligned assembled code is generated in accordance with the unaligned ISA and includes unaligned accelerator code for the accelerator and unaligned processor code for the processor. A second linking pass is performed on the unaligned assembled code, including relocating a second relocation target outside the unaligned accelerator code that refers to an object in the unaligned accelerator code.

97 MATHEMATICS AND COMPUTING↗

Tiling as a Durable Abstraction for Parallelism and Data Locality

Tiling is a useful loop transformation for expressing parallelism and data locality. Automated tiling transformations that preserve data-locality are increasingly important due to hardware trends towards massive parallelism and the increasing costs of data movement relative to the cost of computing. We propose TiDA as a durable tiling abstraction that centralizes parameterized tiling information within array data types with minimal changes to the source code. The data layout information can be used by the compiler and runtime to automatically manage parallelism, optimize data locality, and schedule tasks intelligently. In this study, we present the design features and early interface of TiDA along with some preliminary results.

Unat, Didem↗

Obtaining correct compile results by absorbing mismatches between data types representations

Methods and a system are provided. A method includes implementing a function, which a compiler for a first language does not have, using a compiler for a second language. The implementing step includes generating, by the compiler for the first language, a first abstract syntax tree. The implementing step further includes converting, by a converter, the first abstract syntax tree to a second abstract syntax tree of the compiler for the second language using a conversion table from data representation types in the first language to data representation types in the second language. When a compilation error occurs, the implementing step also includes generating a special node for error processing in the second abstract syntax tree and storing an error token in the special node. When unparsing, the implementing step additionally includes outputting the error token, in the form of source code written in the first language.

97 MATHEMATICS AND COMPUTING↗

Unaligned instruction relocation

In one embodiment, a computer-implemented method includes receiving source code to be compiled into an executable file for an unaligned instruction set architecture (ISA). Aligned assembled code is generated, by a computer processor. The aligned assembled code complies with an aligned ISA and includes aligned processor code for a processor and aligned accelerator code for an accelerator. A first linking pass is performed on the aligned assembled code, including relocating a first relocation target in the aligned accelerator code that refers to a first object outside the aligned accelerator code. Unaligned assembled code is generated in accordance with the unaligned ISA and includes unaligned accelerator code for the accelerator and unaligned processor code for the processor. A second linking pass is performed on the unaligned assembled code, including relocating a second relocation target outside the unaligned accelerator code that refers to an object in the unaligned accelerator code.

97 MATHEMATICS AND COMPUTING↗

Introducing GEOPHIRES v2.0: Updated Geothermal Techno-Economic Simulation Tool: Preprint

This paper presents an updated version of the geothermal techno-economic simulation tool GEOPHIRES (GEOthermal Energy for Production of Heat and electricity (IR) Economically Simulated). GEOPHIRES combines reservoir, wellbore, surface plant and economic models to estimate the capital, and operation and maintenance costs, lifetime energy production, and overall levelized cost of energy of a geothermal plant. The available end-use options are electricity, direct-use heat and cogeneration. The main updates in the new version include conversion of the source code from FORTRAN to Python, the option to couple to an external reservoir simulator, updated cost correlations, and more flexibility in selecting the time step and number of injection and production wells. An overview of all the updates and two case-studies to illustrate the tool's new capabilities are provided in this paper.

15 GEOTHERMAL ENERGY↗

Introducing GEOPHIRES v2.0: Updated Geothermal Techno-Economic Simulation Tool

This paper presents an updated version of the geothermal techno-economic simulation tool GEOPHIRES (GEOthermal energy for Production of Heat and electricity ('IR') Economically Simulated). GEOPHIRES combines engineering models of the reservoir, wellbores, and surface plant facilities of a geothermal plant with an economic model to estimate the capital and operation and maintenance costs, lifetime energy production, and overall levelized cost of energy. The available end-use options are electricity, direct-use heat, and cogeneration. The main updates in the new version include conversion of the source code from FORTRAN to Python, the option to import temperature data (e.g., measured or from stand-alone reservoir simulator), updated cost correlations, and more flexibility in selecting the time step and number of injection and production wells. In this paper, we provide an overview of all the updates and two case studies to illustrate the tool's new capabilities.

15 GEOTHERMAL ENERGY↗

HAMT extension for EnergyPlus encompasses moisture sources due to air leakage

As building envelopes become more energy efficient, new buildings are more prone to hygrothermal failure. The combined Heat and Moisture Transfer (HAMT) model in EnergyPlus is able to provide moisture profiles through multiple material layers of an envelope assembly using a coupled, one-dimensional, finite element model simulating the movement and storage of heat and moisture. However, HAMT is currently unable to properly assess the effects of moisture sources inside an assembly to determine impacts on durability, indoor air quality, and energy performance.This paper reviews existing tools for modeling moisture sources due to air leakage and the HAMT model equations in EnergyPlus. A sub-model is then developed that enables air leakage to be applied to a moisture sink/source at an arbitrary location by extending the existing mass transfer equation with a source term that includes water vapor deposit from air flow through an assembly. We demonstrate use of this model, discuss limitations, and make the source code publicly available for external use.

Antretter, Florian↗

Unaligned instruction relocation

In one embodiment, a computer-implemented method includes receiving source code to be compiled into an executable file for an unaligned instruction set architecture (ISA). Aligned assembled code is generated, by a computer processor. The aligned assembled code complies with an aligned ISA and includes aligned processor code for a processor and aligned accelerator code for an accelerator. A first linking pass is performed on the aligned assembled code, including relocating a first relocation target in the aligned accelerator code that refers to a first object outside the aligned accelerator code. Unaligned assembled code is generated in accordance with the unaligned ISA and includes unaligned accelerator code for the accelerator and unaligned processor code for the processor. A second linking pass is performed on the unaligned assembled code, including relocating a second relocation target outside the unaligned accelerator code that refers to an object in the unaligned accelerator code.

Bertolli, Carlo↗

Modelling moisture sources due to air leakage with the HAMT extension for EnergyPlus

The moisture performance of building envelope components is one of the main challenges of energy efficient buildings. The combined Heat and Moisture Transfer (HAMT) model in EnergyPlus can provide moisture profiles through multiple material layers of an envelope assembly using a coupled, one-dimensional, finite volume model simulating the movement and storage of heat and moisture. Currently only a limited assessment of the effects of moisture sources inside an assembly to determine impacts on durability, indoor air quality, and energy performance is possible. This paper discusses different strategies to model moisture sources in building components due to air leakage. Models that enable air leakage to result in a moisture sink/source at an arbitrary location extend the existing mass transfer equation with a source term that includes water vapor deposit from air flow through an assembly. New sub-models with different levels of complexity to calculate the air flow through the assembly are developed. The air flow can be user defined, it can be computed as a result of the stack height and a user defined ventilation overpressure or completely derived from an air-flow network. We explain the model enhancements, discuss the required inputs for every option together with related limitations, showcase the model application and make the source code publicly available for external use.

Antretter, Florian↗

Automated Reconstruction of Control Logic for Programmable Logic Controller Forensics

This paper presents Similo, an automated scalable framework for control logic forensics in industrial control systems. Similo is designed to investigate denial of engineering operations (DEO) attacks, recently demonstrated to hide malicious control logic in a programmable logic controller (PLC) at field sites from an engineering software (at control center). The network traffic (if captured) contains substantial evidence to investigate DEO attacks including manipulation of control logic. Laddis, a state-of-the-art forensic approach for DEO attacks, is a binary-logic decompiler for the Allen-Bradley’s RSLogix engineering software and MicroLogix 1400 PLC. It is developed with extensive manual reverse engineering effort of the underlying proprietary network protocol and the binary control logic. Unfortunately, Laddis is not scalable and requires similar efforts to extend on other engineering software/PLCs. The proposed solution, Similo, is based on the observation that engineering software of different vendors are equipped with decompilers. Similo is a virtual-PLC framework that integrates the decompilers with their respective (previously-captured) ICS network traffic of control logic. It recovers the binary logic into a high-level source code (of the programming languages defined by IEC 61131-3 standard) automatically. Similo can work with both proprietary/open protocols without requiring protocol specifications and the binary formats of control logic. Thus, it is scalable to different ICS vendors. We evaluate Similo on three PLCs of two ICS vendors, i.e. MicroLogix 1400, MicroLogix 1100, and Modicon M221. These PLCs support proprietary protocols and the control logics written in two programming languages: Ladder Logic and Instruction List. The evaluation results show that Similo can accurately reconstruct a control logic from an ICS network traffic and can be used to investigate the DEO attacks effectively.

Ali qasim, Syed↗

StrmtbFlow Fortran Program, Version 2

<span>This zip file contains files storing Fortran source code, compiled files, an executable file for Windows computers, and example input and output files for StmtbFlow. StrmtbFlow is a Fortran program that solves the multiphase flow equations within stream tubes and can be used to estimate the oil produced and CO2 stored from the application of CO2 EOR to an oil field. StrmtbFlow and StrmtbGen comprise the FE/NETL CO2 Prophet Model, which is a streamline/stream tube reservoir simulator for modeling CO2 EOR. StrmtbFlow's user&rsquo;s manual as well as StrmtbGen and its user's manual and a report on the mathematical basis for the FE/NETL CO2 Prophet Model are available on NETL's website under the Collection Name: FE/NETL CO2 Prophet Model.</span><span>&nbsp;</span>

Morgan, David↗

StrmtbGen Fortran Program, Version 2

This zip file contains files storing Fortran source code, compiled files, an executable file for Windows computers, and example input and output files for StrmtbGen. StrmtbGen is a Fortran program that generates streamlines and stream tubes. StrmtbGen and StrmtbFlow comprise the FE/NETL CO2 Prophet Model, which is a streamline/stream tube reservoir simulator for modeling CO2 EOR. StrmtbGen's user’s manual as well as StrmtbFlow and its user's manual and a report on the mathematical basis for the FE/NETL CO2 Prophet Model are available on NETL's website under the Collection Name: FE/NETL CO2 Prophet Model.

Morgan, David↗