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 415 records · Page 23

Flowcharting with D-charts

A D-Chart is a style of flowchart using control symbols highly appropriate to modern structured programming languages. The intent of a D-Chart is to provide a clear and concise one-for-one mapping of control symbols to high-level language constructs for purposes of design and documentation. The notation lends itself to both high-level and code-level algorithmic description. The various issues that may arise when representing, in D-Chart style, algorithms expressed in the more popular high-level languages are addressed. In particular, the peculiarities of mapping control constructs for Ada, PASCAL, FORTRAN 77, C, PL/I, Joviai J73, HAL/S, and Algol are discussed.

Meyer, D. D.↗

Program Simulates A Modular Manufacturing System

SSE computer program provides simulation environment for modeling manufacturing systems containing relatively small numbers of stations and operators. Designed to simulate manufacturing of apparel, also used in other manufacturing domains. Excellent for small or medium-size firms including those lacking expertise to develop detailed models or have only minimal knowledge in describing manufacturing systems and in analyzing results of simulations on mathematical models. User does not need to know simulation language to use SSE. Used to design new modules and to evaluate existing modules. Originally written in Turbo C v2.0 for IBM PC-compatible computers running MS-DOS and successfully implemented by use of Turbo C++ v3.0.

Schroer, Bernard J.↗

The implementation and use of ADA on distributed systems with high reliability requirements

The use and implementation of Ada in distributed environments in which reliability is the primary concern is investigated. Emphasis is placed on the possibility that a distributed system may be programmed entirely in Ada so that the individual tasks of the system are unconcerned with which processors they are executing on, and that failures may occur in the software or underlying hardware. A new linguistic construct, the colloquy, is introduced which solves the problems identified in an earlier proposal, the conversation. It was shown that the colloquy is at least as powerful as recovery blocks, but it is also as powerful as all the other language facilities proposed for other situations requiring backward error recovery: recovery blocks, deadlines, generalized exception handlers, traditional conversations, s-conversations, and exchanges. The major features that distinguish the colloquy are described. Sample programs that were written, but not executed, using the colloquy show that extensive backward error recovery can be included in these programs simply and elegantly. These ideas are being implemented in an experimental Ada test bed.

Knight, J. C.↗

Computer-assisted instruction in programming: AID

Lessons for training students on how to program and operate computers to and AID language are given. The course consists of a set of 50 lessons, plus summaries, reviews, tests, and extra credit problems. No prior knowledge is needed for the course, the only requirement being a strong background in algebra. A student manual, which includes instruction for operating the instructional program and a glossary of terms used in the course, is included in the appendices.

Friend, J.↗

A computer program for anisotropic shallow-shell finite elements using symbolic integration

A FORTRAN computer program for anisotropic shallow-shell finite elements with variable curvature is described. A listing of the program is presented together with printed output for a sample case. Computation times and central memory requirements are given for several different elements. The program is based on a stiffness (displacement) finite-element model in which the fundamental unknowns consist of both the displacement and the rotation components of the reference surface of the shell. Two triangular and four quadrilateral elements are implemented in the program. The triangular elements have 6 or 10 nodes, and the quadrilateral elements have 4 or 8 nodes. Two of the quadrilateral elements have internal degrees of freedom associated with displacement modes which vanish along the edges of the elements (bubble modes). The triangular elements and the remaining two quadrilateral elements do not have bubble modes. The output from the program consists of arrays corresponding to the stiffness, the geometric stiffness, the consistent mass, and the consistent load matrices for individual elements. The integrals required for the generation of these arrays are evaluated by using symbolic (or analytic) integration in conjunction with certain group-theoretic techniques. The analytic expressions for the integrals are exact and were developed using the symbolic and algebraic manipulation language.

Andersen, C. M.↗

ART-Ada design project, phase 2

Interest in deploying expert systems in Ada has increased. An Ada based expert system tool is described called ART-Ada, which was built to support research into the language and methodological issues of expert systems in Ada. ART-Ada allows applications of an existing expert system tool called ART-IM (Automated Reasoning Tool for Information Management) to be deployed in various Ada environments. ART-IM, a C-based expert system tool, is used to generate Ada source code which is compiled and linked with an Ada based inference engine to produce an Ada executable image. ART-Ada is being used to implement several expert systems for NASA's Space Station Freedom Program and the U.S. Air Force.

Lee, S. Daniel↗

An adaptive structure data acquisition system using a graphical-based programming language

An example of the implementation of data fusion using a PC and a graphical programming language is discussed. A schematic of the data acquisition system and user interface panel for an adaptive structure test are presented. The computer programs (a series of icons 'wired' together) are also discussed. The way in which using graphical-based programming software to control a data acquisition system can simplify analysis of data, promote multidisciplinary interaction, and provide users a more visual key to understanding their data are shown.

Baroth, Edmund C.↗

Video-Game-Like Engine for Depicting Spacecraft Trajectories

GoView is a video-game-like software engine, written in the C and C++ computing languages, that enables real-time, three-dimensional (3D)-appearing visual representation of spacecraft and trajectories (1) from any perspective; (2) at any spatial scale from spacecraft to Solar-system dimensions; (3) in user-selectable time scales; (4) in the past, present, and/or future; (5) with varying speeds; and (6) forward or backward in time. GoView constructs an interactive 3D world by use of spacecraft-mission data from pre-existing engineering software tools. GoView can also be used to produce distributable application programs for depicting NASA orbital missions on personal computers running the Windows XP, Mac OsX, and Linux operating systems. GoView enables seamless rendering of Cartesian coordinate spaces with programmable graphics hardware, whereas prior programs for depicting spacecraft trajectories variously require non-Cartesian coordinates and/or are not compatible with programmable hardware. GoView incorporates an algorithm for nonlinear interpolation between arbitrary reference frames, whereas the prior programs are restricted to special classes of inertial and non-inertial reference frames. Finally, whereas the prior programs present complex user interfaces requiring hours of training, the GoView interface provides guidance, enabling use without any training.

Upchurch, Paul R.↗

Using CLIPS as the cornerstone of a graduate expert systems course

The effective use of the C Language Integrated Production System (CLIPS) as a cornerstone in a graduate expert systems course is described. The course include 8 or 9 hours of in-depth lecturing in CLIPS, as well as a broad coverage of major topics and techniques in expert systems. As part of the requirements of the course, students solved two small yet non-trival problems in CLIPS before going on to develop a toy expert system in CLIPS in an incremental manner as the term project. Furthermore, students were required to evaluate CLIPS programs written by their classmates. An anonymous questionnaire at the end of the semester revealed that the students responded very favorably to the course, especially their experience with CLIPS.

Yue, Kwok-Bun↗

Graphics-Printing Program For The HP Paintjet Printer

IMPRINT utility computer program developed to print graphics specified in raster files by use of Hewlett-Packard Paintjet(TM) color printer. Reads bit-mapped images from files on UNIX-based graphics workstation and prints out three different types of images: wire-frame images, solid-color images, and gray-scale images. Wire-frame images are in continuous tone or, in case of low resolution, in random gray scale. In case of color images, IMPRINT also prints by use of default palette of solid colors. Written in C language.

Atkins, Victor R.↗

Initial Kernel Timing Using a Simple PIM Performance Model

This presentation will describe some initial results of paper-and-pencil studies of 4 or 5 application kernels applied to a processor-in-memory (PIM) system roughly similar to the Cascade Lightweight Processor (LWP). The application kernels are: * Linked list traversal * Sun of leaf nodes on a tree * Bitonic sort * Vector sum * Gaussian elimination The intent of this work is to guide and validate work on the Cascade project in the areas of compilers, simulators, and languages. We will first discuss the generic PIM structure. Then, we will explain the concepts needed to program a parallel PIM system (locality, threads, parcels). Next, we will present a simple PIM performance model that will be used in the remainder of the presentation. For each kernel, we will then present a set of codes, including codes for a single PIM node, and codes for multiple PIM nodes that move data to threads and move threads to data. These codes are written at a fairly low level, between assembly and C, but much closer to C than to assembly. For each code, we will present some hand-drafted timing forecasts, based on the simple PIM performance model. Finally, we will conclude by discussing what we have learned from this work, including what programming styles seem to work best, from the point-of-view of both expressiveness and performance.

BRIEFING CHARTS↗

Deploying expert systems in Ada

As the Department of Defense Ada mandate begins to be enforced actively, interest in deploying expert systems in Ada has increased. A prototype Ada based expert system tool is introduced called ART/Ada. This prototype was built to support research into the language and operational issues of expert systems in Ada. ART/Ada allows applications of a conventional expert system tool called ART-IM (Automated Reasoning Tool for Information Management) to be deployed in various Ada environments with efficient use of time and space. ART-IM, a C-based expert system tool, is used to generate Ada source code which is compiled and linked with an Ada base inference engine to produce an Ada executable image. ART/Ada will be used to implement several prototype expert systems for the Space Station Freedom Program testbeds.

Lee, S. Daniel↗

Program Diagnoses Nickel/Cadmium Batteries

Nickel Cadmium Battery Expert System-2 (NICBES2) computer program is prototype expert-system program for diagnosis and management of health of nickel/cadmium batteries. Intended to support evaluation of performance of batteries in Hubble Space Telescope spacecraft and to alert personnel to possible malfunctions. Oversees status of batteries by evaluating data gathered in orbit packets, and when so merits, raises alarm and provides diagnosis of faults as well as advice on actions to be taken to remedy condition giving rise to alarm. Provides history of statuses of batteries pertaining to health of batteries, and graphical display to help operator assimilate information generated. Written in C language.

Johnson, Yvette B.↗

Evaluating multiple coordinated windows for programming workstations

Programmers might benefit from larger screens with multiple windows or multiple screens, especially if convenient coordination among screens are arranged. Uses for multiple coordinated displays in a programmers workstation are explored. Initial efforts focus on the potential applications, a command language for coordinating the displays, and the psychological basis for effective utilization so as to avoid information overload. Subsequent efforts will be devoted to implementing the concepts and performing controlled psychologically oriented experiments to validate the hypotheses.

Shneiderman, B.↗

Software Aids In Graphical Depiction Of Flow Data

Interactive Data Display System (IDDS) computer program is graphical-display program designed to assist in visualization of three-dimensional flow in turbomachinery. Grid and simulation data files in PLOT3D format required for input. Able to unwrap volumetric data cone associated with centrifugal compressor and display results in easy-to-understand two- or three-dimensional plots. IDDS provides majority of visualization and analysis capability for Integrated Computational Fluid Dynamics and Experiment (ICE) system. IDDS invoked from any subsystem, or used as stand-alone package of display software. Generates contour, vector, shaded, x-y, and carpet plots. Written in C language. Input file format used by IDDS is that of PLOT3D (COSMIC item ARC-12782).

Stegeman, J. D.↗

A generic fine-grained parallel C

With the present availability of parallel processors of vastly different architectures, there is a need for a common language interface to multiple types of machines. The parallel C compiler, currently under development, is intended to be such a language. This language is based on the belief that an algorithm designed around fine-grained parallelism can be mapped relatively easily to different parallel architectures, since a large percentage of the parallelism has been identified. The compiler generates a FORTH-like machine-independent intermediate code. A machine-dependent translator will reside on each machine to generate the appropriate executable code, taking advantage of the particular architectures. The goal of this project is to allow a user to run the same program on such machines as the Massively Parallel Processor, the CRAY, the Connection Machine, and the CYBER 205 as well as serial machines such as VAXes, Macintoshes and Sun workstations.

Hamet, L.↗

Programming real-time executives in higher order language

Methods by which real-time executive programs can be implemented in a higher order language are discussed, using HAL/S and Path Pascal languages as program examples. Techniques are presented by which noncyclic tasks can readily be incorporated into the executive system. Situations are shown where the executive system can fail to meet its task scheduling and yet be able to recover either by rephasing the clock or stacking the information for later processing. The concept of deadline processing is shown to enable more effective mixing of time and information synchronized systems.

Foudriat, E. C.↗

Unifying Model-Based and Reactive Programming within a Model-Based Executive

Real-time, model-based, deduction has recently emerged as a vital component in AI's tool box for developing highly autonomous reactive systems. Yet one of the current hurdles towards developing model-based reactive systems is the number of methods simultaneously employed, and their corresponding melange of programming and modeling languages. This paper offers an important step towards unification. We introduce RMPL, a rich modeling language that combines probabilistic, constraint-based modeling with reactive programming constructs, while offering a simple semantics in terms of hidden state Markov processes. We introduce probabilistic, hierarchical constraint automata (PHCA), which allow Markov processes to be expressed in a compact representation that preserves the modularity of RMPL programs. Finally, a model-based executive, called Reactive Burton is described that exploits this compact encoding to perform efficIent simulation, belief state update and control sequence generation.

Williams, Brian C.↗