Search NASA⌕ Search

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 253 records · Page 14

SEMI-ACTIVE CONTROL FOR TWO-BODY OCEAN WAVE ENERGY CONVERTER BY USING HYBRID MODEL PREDICTIVE CONTROL

Model predictive control (MPC) has been considered as one important feed-forward optimal control strategy for ocean wave energy converter (WEC) targeted on power maximization. The capability of MPC to handle system constraints (ex. stroke, velocity, actuator limitations), and the availability to provide optimal solution for linear system provide potential for the implementation of such algorithm in the WEC control. However, currently, only active MPC control has been introduced for single and two-body WECs. Such control strategy may introduce negative power during the optimization process, since the power take-off (PTO) damping has no constraint. In this paper, we proposed a hybrid MPC strategy in limiting both the PTO damping force and PTO damping to avoid negative power generation during cost function minimization (negative power minimization) for the two-body WEC. The problem is formulated into a quadratic programming (QP) problem targeted at power maximization. However, the standard QP problem formulation cannot be directly applied to the semi-active control problem due to the PTO damping constraints. Therefore, the problem is reformulated as a Mixed-integer Quadratic Programming (MIQP) problem, which contains logical switch to select constraint matrices based on the sign of the relative velocity between the buoy and submerged body. The optimal solution is compared with those of the active MPC control strategy and the passive model with the same irregular wave input.

16 TIDAL AND WAVE POWER↗

Biclique: an R package for maximal biclique enumeration in bipartite graphs

Bipartite graphs are widely used to model relationships between pairs of heterogeneous data types. Maximal bicliques are foundational structures in such graphs, and their enumeration is an important task in systems biology, epidemiology and many other problem domains. Thus, there is a need for an efficient, general purpose, publicly available tool to enumerate maximal bicliques in bipartite graphs. The statistical programming language R is a logical choice for such a tool, but until now no R package has existed for this purpose. Our objective is to provide such a package, so that the research community can more easily perform this computationally demanding task. Biclique is an R package that takes as input a bipartite graph and produces a listing of all maximal bicliques in this graph. Input and output formats are straightforward, with examples provided both in this paper and in the package documentation. Biclique employs a state-of-the-art algorithm previously developed for basic research in functional genomics.

97 MATHEMATICS AND COMPUTING↗

A review of cryogenic testing performed by the thermochemical test branch, Manned Spacecraft Center in support of Apollo 13 and14

The Apollo 13 anomaly provided considerable impetus for a variety of types of cryogenic and ignition tests. The logic of the various test program designs, the test techniques, and their final impact upon the investigation findings are described. In addition, several test programs initiated to determine the thermal performance and general performance characteristics of the redesigned Apollo 14 cryogenic storage system are presented.

Propp, C. E.↗

Optimal horizontal guidance law for aircraft in the terminal area.

A complete nonlinear control law is derived for guiding an aircraft in minimum time from an arbitrary initial position and heading to a prescribed terminal position and heading in the horizontal plane. The solution is obtained with the aid of the maximum principle, and is implemented by constructing a digital-computer program for the resulting switching logic.

Pecsvaradi, T.↗

Digital flight control for the NASA 737 airplane

A brief description of the hardware and software for the digital flight control computers for the NASA 737 airplane is given. Software modules include the basic executive, scheduler, redundancy management, software signal selection, system test, mode logic, pitch axis flight control program and the lateral axis flight control program. A more detailed description of the software development effort is given for the digital flight control software. The software development tasks discussed are: software requirements, development, documentation, control, lab evaluation and formal lab tests. The software development costs are identified and conclusions are drawn concerning the software development effort required to support digital flight control for commercial jet transport applications.

Malcom, L. G.↗

Feasibility study of automatic control of crew comfort in the shuttle Extravehicular Mobility Unit

Computer simulation is used to demonstrate that crewman comfort can be assured by using automatic control of the inlet temperature of the coolant into the liquid cooled garment when input to the controller consists of measurements of the garment inlet temperature and the garment outlet temperature difference. Subsequent tests using a facsimile of the control logic developed in the computer program confirmed the feasibility of such a design scheme.

Cook, D. W.↗

Investigation, Development, and Evaluation of Performance Proving for Fault-tolerant Computers

A number of methodologies for verifying systems and computer based tools that assist users in verifying their systems were developed. These tools were applied to verify in part the SIFT ultrareliable aircraft computer. Topics covered included: STP theorem prover; design verification of SIFT; high level language code verification; assembly language level verification; numerical algorithm verification; verification of flight control programs; and verification of hardware logic.

Levitt, K. N.↗

An integrated environment for tactical guidance research and evaluation

NASA-Langley's Tactical Guidance Research and Evaluation System (TGRES) constitutes an integrated environment for the development of tactical guidance algorithms and evaluating the effects of novel technologies; the modularity of the system allows easy modification or replacement of system elements in order to conduct evaluations of alternative technologies. TGRES differs from existing systems in its capitalization on AI programming techniques for guidance-logic implementation. Its ability to encompass high-fidelity, six-DOF simulation models will facilitate the analysis of complete aircraft dynamics.

Goodrich, Kenneth H.↗

Fundamental Hardware Design in PVS

The development of Programmable Logic Devices (PLDs) has introduced programming as a primary tool in the development of digital circuits. This work attempts to create a generic verification environment in which designs can be specified and verified using the Prototype Verification System (PVS). This is accomplished by providing library support for general hardware constructs. The environment is intended for use with any PLD and any PLD programming language. The goal of the environment is to allow the easy translation of digital designs to PVS and provide sufficient support to make verification possible without a great deal of effort.

Leathrum, James F., Jr.↗

NASA Tech Briefs, March 2005

Topics covered include: Scheme for Entering Binary Data Into a Quantum Computer; Encryption for Remote Control via Internet or Intranet; Coupled Receiver/Decoders for Low-Rate Turbo Codes; Processing GPS Occultation Data To Characterize Atmosphere; Displacing Unpredictable Nulls in Antenna Radiation Patterns; Integrated Pointing and Signal Detector for Optical Receiver; Adaptive Thresholding and Parameter Estimation for PPM; Data-Driven Software Framework for Web-Based ISS Telescience; Software for Secondary-School Learning About Robotics; Fuzzy Logic Engine; Telephone-Directory Program; Simulating a Direction-Finder Search for an ELT; Formulating Precursors for Coating Metals and Ceramics; Making Macroscopic Assemblies of Aligned Carbon Nanotubes; Ball Bearings Equipped for In Situ Lubrication on Demand; Synthetic Bursae for Robots; Robot Forearm and Dexterous Hand; Making a Metal-Lined Composite-Overwrapped Pressure Vessel; Ex Vivo Growth of Bioengineered Ligaments and Other Tissues; Stroboscopic Goggles for Reduction of Motion Sickness; Articulating Support for Horizontal Resistive Exercise; Modified Penning-Malmberg Trap for Storing Antiprotons; Tumbleweed Rovers; Two-Photon Fluorescence Microscope for Microgravity Research; Biased Randomized Algorithm for Fast Model-Based Diagnosis; Fast Algorithms for Model-Based Diagnosis; Simulations of Evaporating Multicomponent Fuel Drops; Formation Flying of Tethered and Nontethered Spacecraft; and Two Methods for Efficient Solution of the Hitting- Set Problem.

Source record↗

Jeagle: a JAVA Runtime Verification Tool

We introduce the temporal logic Jeagle and its supporting tool for runtime verification of Java programs. A monitor for an Jeagle formula checks if a finite trace of program events satisfies the formula. Jeagle is a programming oriented extension of the rule-based powerful Eagle logic that has been shown to be capable of defining and implementing a range of finite trace monitoring logics, including future and past time temporal logic, real-time and metric temporal logics, interval logics, forms of quantified temporal logics, and so on. Monitoring is achieved on a state-by-state basis avoiding any need to store the input trace. Jeagle extends Eagle with constructs for capturing parameterized program events such as method calls and method returns. Parameters can be the objects that methods are called upon, arguments to methods, and return values. Jeagle allows one to refer to these in formulas. The tool performs automated program instrumentation using AspectJ. We show the transformational semantics of Jeagle.

DAmorim, Marcelo↗

Standardizing the information architecture for spacecraft operations

This paper presents an information architecture developed for the Space Station Freedom as a model from which to derive an information architecture standard for advanced spacecraft. The information architecture provides a way of making information available across a program, and among programs, assuming that the information will be in a variety of local formats, structures and representations. It provides a format that can be expanded to define all of the physical and logical elements that make up a program, add definitions as required, and import definitions from prior programs to a new program. It allows a spacecraft and its control center to work in different representations and formats, with the potential for supporting existing spacecraft from new control centers. It supports a common view of data and control of all spacecraft, regardless of their own internal view of their data and control characteristics, and of their communications standards, protocols and formats. This information architecture is central to standardizing spacecraft operations, in that it provides a basis for information transfer and translation, such that diverse spacecraft can be monitored and controlled in a common way.

Easton, C. R.↗

Opcode counting for performance measurement

Methods, systems and computer program products are disclosed for measuring a performance of a program running on a processing unit of a processing system. In one embodiment, the method comprises informing a logic unit of each instruction in the program that is executed by the processing unit, assigning a weight to each instruction, assigning the instructions to a plurality of groups, and analyzing the plurality of groups to measure one or more metrics. In one embodiment, each instruction includes an operating code portion, and the assigning includes assigning the instructions to the groups based on the operating code portions of the instructions. In an embodiment, each type of instruction is assigned to a respective one of the plurality of groups. These groups may be combined into a plurality of sets of the groups.

97 MATHEMATICS AND COMPUTING↗

Opcode counting for performance measurement

Methods, systems and computer program products are disclosed for measuring a performance of a program running on a processing unit of a processing system. In one embodiment, the method comprises informing a logic unit of each instruction in the program that is executed by the processing unit, assigning a weight to each instruction, assigning the instructions to a plurality of groups, and analyzing the plurality of groups to measure one or more metrics. In one embodiment, each instruction includes an operating code portion, and the assigning includes assigning the instructions to the groups based on the operating code portions of the instructions. In an embodiment, each type of instruction is assigned to a respective one of the plurality of groups. These groups may be combined into a plurality of sets of the groups.

97 MATHEMATICS AND COMPUTING↗

Opcode counting for performance measurement

Methods, systems and computer program products are disclosed for measuring a performance of a program running on a processing unit of a processing system. In one embodiment, the method comprises informing a logic unit of each instruction in the program that is executed by the processing unit, assigning a weight to each instruction, assigning the instructions to a plurality of groups, and analyzing the plurality of groups to measure one or more metrics. In one embodiment, each instruction includes an operating code portion, and the assigning includes assigning the instructions to the groups based on the operating code portions of the instructions. In an embodiment, each type of instruction is assigned to a respective one of the plurality of groups. These groups may be combined into a plurality of sets of the groups.

97 MATHEMATICS AND COMPUTING↗

Opcode counting for performance measurement

Methods, systems and computer program products are disclosed for measuring a performance of a program running on a processing unit of a processing system. In one embodiment, the method comprises informing a logic unit of each instruction in the program that is executed by the processing unit, assigning a weight to each instruction, assigning the instructions to a plurality of groups, and analyzing the plurality of groups to measure one or more metrics. In one embodiment, each instruction includes an operating code portion, and the assigning includes assigning the instructions to the groups based on the operating code portions of the instructions. In an embodiment, each type of instruction is assigned to a respective one of the plurality of groups. These groups may be combined into a plurality of sets of the groups.

97 MATHEMATICS AND COMPUTING↗

Opcode counting for performance measurement

Methods, systems and computer program products are disclosed for measuring a performance of a program running on a processing unit of a processing system. In one embodiment, the method comprises informing a logic unit of each instruction in the program that is executed by the processing unit, assigning a weight to each instruction, assigning the instructions to a plurality of groups, and analyzing the plurality of groups to measure one or more metrics. In one embodiment, each instruction includes an operating code portion, and the assigning includes assigning the instructions to the groups based on the operating code portions of the instructions. In an embodiment, each type of instruction is assigned to a respective one of the plurality of groups. These groups may be combined into a plurality of sets of the groups.

97 MATHEMATICS AND COMPUTING↗