Search NASA⌕ Search

SEARCH · Search NASA

Results for “C# Programming 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 361 records · Page 20

Object-Oriented Scientific Programming with Fortran 90

Fortran 90 is a modern language that introduces many important new features beneficial for scientific programming. We discuss our experiences in plasma particle simulation and unstructured adaptive mesh refinement on supercomputers, illustrating the features of Fortran 90 that support the object-oriented methodology.

Fortran 90 Supercomputing Object-Oriented Adaptive↗

HyperCLIPS

Integration of CLIPS computer program into HyperCard computer program combines intuitive, interactive user interface of MacIntosh computer with powerful symbolic computation of expert-system interpreter. HyperCard provides excellent programming environment for quickly developing front end of application program with buttons, dialogs, and pictures, while CLIPS interpreter provides powerful inference engine for analysis and solution of complicated problems. Advantages of both packages available for wide range of uses: rapid prototyping of knowledge-based expert-systems software, interactive simulations of physical systems, and intelligent control of hypertext processes. Written in C language and Pascal.

Hill, Randall W., Jr.↗

Program For Editing Graphical Displays Of Schedules

XOPPS is window-based software tool from graphics providing easy and fast "what you see is what you get" (WYSIWYG) on-screen editing capabilities. Provides area, analogous to canvas, displaying full image of schedule being edited. Canvas contains header area (for test) and schedule area (for plotting graphical representations of milestone objects in flexible time line). Written in C language.

Mulnix, Cassie L.↗

Development of a KSC test and flight engineering oriented computer language, Phase 1

Ten, primarily test oriented, computer languages reviewed during the phase 1 study effort are described. Fifty characteristics of ATOLL, ATLAS, and CLASP are compared. Unique characteristics of the other languages, including deficiencies, problems, safeguards, and checking provisions are identified. Programming aids related to these languages are reported, and the conclusions resulting from this phase of the study are discussed. A glossary and bibliography are included. For the reports on phase 2 of the study, see N71-35027 and N71-35029.

Case, C. W.↗

Window-Based Graphics For Scheduling

XOPPS computer program generates window-based graphics for scheduling and planning projects. Provides easy and fast on-screen "what-you-see-is-what-you-get" editing capabilities. Object-oriented, but unique in its capability for creating objects that have date attributes. Can be used in conjunction with project-management software. Written in C language for Sunseries workstations running SunOS. XOPPS was developed in 1992, based on the Sunview version of OPPS (NPO-18439) developed in 1990. It is copyrighted work with all copyright vested in NASA.

Mulnix, Cassie↗

Using CLIPS in the domain of knowledge-based massively parallel programming

The Program Development Environment (PDE) is a tool for massively parallel programming of distributed-memory architectures. Adopting a knowledge-based approach, the PDE eliminates the complexity introduced by parallel hardware with distributed memory and offers complete transparency in respect of parallelism exploitation. The knowledge-based part of the PDE is realized in CLIPS. Its principal task is to find an efficient parallel realization of the application specified by the user in a comfortable, abstract, domain-oriented formalism. A large collection of fine-grain parallel algorithmic skeletons, represented as COOL objects in a tree hierarchy, contains the algorithmic knowledge. A hybrid knowledge base with rule modules and procedural parts, encoding expertise about application domain, parallel programming, software engineering, and parallel hardware, enables a high degree of automation in the software development process. In this paper, important aspects of the implementation of the PDE using CLIPS and COOL are shown, including the embedding of CLIPS with C++-based parts of the PDE. The appropriateness of the chosen approach and of the CLIPS language for knowledge-based software engineering are discussed.

Dvorak, Jiri J.↗

Multi-Mission System Architecture Platform: Design and Verification of the Remote Engineering Unit

The Multi-Mission System Architecture Platform (MSAP) represents an effort to bolster efficiency in the spacecraft design process. By incorporating essential spacecraft functionality into a modular, expandable system, the MSAP provides a foundation on which future spacecraft missions can be developed. Once completed, the MSAP will provide support for missions with varying objectives, while maintaining a level of standardization that will minimize redesign of general system components. One subsystem of the MSAP, the Remote Engineering Unit (REU), functions by gathering engineering telemetry from strategic points on the spacecraft and providing these measurements to the spacecraft's Command and Data Handling (C&DH) subsystem. Before the MSAP Project reaches completion, all hardware, including the REU, must be verified. However, the speed and complexity of the REU circuitry rules out the possibility of physical prototyping. Instead, the MSAP hardware is designed and verified using the Verilog Hardware Definition Language (HDL). An increasingly popular means of digital design, HDL programming provides a level of abstraction, which allows the designer to focus on functionality while logic synthesis tools take care of gate-level design and optimization. As verification of the REU proceeds, errors are quickly remedied, preventing costly changes during hardware validation. After undergoing the careful, iterative processes of verification and validation, the REU and MSAP will prove their readiness for use in a multitude of spacecraft missions.

Sartori, John↗

ASSIST: User's manual

Semi-Markov models can be used to compute the reliability of virtually any fault-tolerant system. However, the process of delineating all of the states and transitions in a model of a complex system can be devastingly tedious and error-prone. The ASSIST program allows the user to describe the semi-Markov model in a high-level language. Instead of specifying the individual states of the model, the user specifies the rules governing the behavior of the system and these are used by ASSIST to automatically generate the model. The ASSIST program is described and illustrated by examples.

Johnson, S. C.↗

Traceability Through Automatic Program Generation

Program synthesis is a technique for automatically deriving programs from specifications of their behavior. One of the arguments made in favour of program synthesis is that it allows one to trace from the specification to the program. One way in which traceability information can be derived is to augment the program synthesis system so that manipulations and calculations it carries out during the synthesis process are annotated with information on what the manipulations and calculations were and why they were made. This information is then accumulated throughout the synthesis process, at the end of which, every artifact produced by the synthesis is annotated with a complete history relating it to every other artifact (including the source specification) which influenced its construction. This approach requires modification of the entire synthesis system - which is labor-intensive and hard to do without influencing its behavior. In this paper, we introduce a novel, lightweight technique for deriving traceability from a program specification to the corresponding synthesized code. Once a program has been successfully synthesized from a specification, small changes are systematically made to the specification and the effects on the synthesized program observed. We have partially automated the technique and applied it in an experiment to one of our program synthesis systems, AUTOFILTER, and to the GNU C compiler, GCC. The results are promising: 1. Manual inspection of the results indicates that most of the connections derived from the source (a specification in the case of AUTOFILTER, C source code in the case of GCC) to its generated target (C source code in the case of AUTOFILTER, assembly language code in the case of GCC) are correct. 2. Around half of the lines in the target can be traced to at least one line of the source. 3. Small changes in the source often induce only small changes in the target.

Richardson, Julian↗

Program Converts VAX Floating-Point Data To UNIX

VAX Floating Point to Host Floating Point Conversion (VAXFC) software converts non-ASCII files to unformatted floating-point representation of UNIX machine. This is done by reading bytes bit by bit, converting them to floating-point numbers, then writing results to another file. Useful when data files created by VAX computer must be used on other machines. Written in C language.

Alves, Marcos↗

System time-domain simulation

Complex systems are simulated by engineers without extensive computer experience. Analyst uses free-form engineering-oriented language to input "black box" description. System Time Domain (SYSTID) Simulation Program generates appropriate algorithms and proceeds with simulation. Program is easily linked to postprocessing routines. SYSTID program is written in FORTRAN IV for batch execution and has been implemented on UNIVAC 1110 under control of EXEC 8, Level 31.

Dawson, C. T.↗

Neural-Network-Development Program

NETS, software tool for development and evaluation of neural networks, provides simulation of neural-network algorithms plus computing environment for development of such algorithms. Uses back-propagation learning method for all of networks it creates. Enables user to customize patterns of connections between layers of network. Also provides features for saving, during learning process, values of weights, providing more-precise control over learning process. Written in ANSI standard C language. Machine-independent version (MSC-21588) includes only code for command-line-interface version of NETS 3.0.

Phillips, Todd A.↗

Spectrum Preprocessing in the OPAD System

To determine the readiness of a rocket engine, and facilitate decisions on continued use of the engine before servicing is required, high-resolution optical spectrometers are used to acquire spectra from the exhaust plume. Such instruments are in place at the Technology Test Bed (TTB) stand at Marshall Space Flight Center (MSFC) and the A1 stand at Stennis Space Center (SSC). The optical spectrometers in place have a wide wavelength range covering the visible and near-infrared regions, taking approximately 8000 measurements at about one Angstrom spacing every half second. In the early stages of this work, data analysis was done manually. A simple spectral model produced a theoretical spectrum for given amount of elements and an operator visually matched the theoretical and real spectra. Currently, extensive software is being developed to receive data from the spectrometer and automatically generate an estimate of element amounts in the plume. It will result in fast and reliable analysis, with the capability of real-time performance. This software is the result of efforts of several groups but mainly it has been developed and used by scientists and combustion engineers, in their effort of understanding the underlying physical processes and phenomena and creating visualization and report generation facilities. Most of the software has been developed using the IDL language and programming environment which allows for extensive data visualization. Although this environment has been very beneficial, the resulting programs execute very slowly and are not easily portable to more popular, real-time environments. The need for portability and high speed of execution is becoming more apparent as the software matures moving out of the experimentation stage and into the production stage where ease of use and short response time are the most desirable features. The purpose of the work described here is to assist the scientists who developed the original IDL-based version in the conversion of the software into the real-time, production version. Specifically, a section of the software devoted to the preprocessing of the spectra has been converted into the C language. In addition, parts of this software which may be improved have been identified, and recommendations are given to improve the functionality and ease of use of the new version.

Katsinis, Constantine↗

Graphical Displays Assist In Analysis Of Failures

Failure Environment Analysis Tool (FEAT) computer program enables people to see and better understand effects of failures in system. Uses digraph models to determine what will happen to system if set of failure events occurs and to identify possible causes of selected set of failures. Digraphs or engineering schematics used. Also used in operations to help identify causes of failures after they occur. Written in C language.

Pack, Ginger↗

Automated Engineering Design (AED); An approach to automated documentation

The automated engineering design (AED) is reviewed, consisting of a high level systems programming language, a series of modular precoded subroutines, and a set of powerful software machine tools that effectively automate the production and design of new languages. AED is used primarily for development of problem and user-oriented languages. Software production phases are diagramed, and factors which inhibit effective documentation are evaluated.

Mcclure, C. W.↗

Program Finds Minimal Cut Sets

CUTSETS computer program identifies all minimal cut sets for given node. Software package contains subprograms that solve for minimal cut sets of fault trees and digraphs by use of object-oriented programming techniques. Cut-set codes used to solve graph models for reliability analysis and identify potential single-point failures in modeled system. Includes utility subprogram that converts popular COD-format diagraph-model-description files into text input files suitable for use with other CUT-SETS subprograms. FEAT (MSC-21873) and FIRM (MSC-21860). Written in C language.

Iverson, D. L.↗

A structured data transfer protocol

The transfer of data between different computers and programs can be a major obstacle during data analysis. We present a new data transfer protocol which is based on a simple structure containing a value, an error, and a unit. Each of these members can be arrays or another structure. The ability to nest structures allows for the concept of objects. When using an object-oriented language such as C++, reference can be made to the object name instead of each element explicitly. Prototype code has been written which implements the basic design with enhancements planned for the future.

Barrett, P.↗

Scientific Programming Using Java and C: A Remote Sensing Example

This paper presents results of a project to port code for processing remotely sensed data from the UNIX environment to Windows. Factors considered during this process include time schedule, cost, resource availability, reuse of existing code, rapid interface development, ease of integration, and platform independence. The approach selected for this project used both Java and C. By using Java for the graphical user interface and C for the domain model, the strengths of both languages were utilized and the resulting code can easily be ported to other platforms. The advantages of this approach are discussed in this paper.

Prados, Donald↗