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 289 records · Page 16

Julia Programming Language Benchmark Using a Flight Simulation

Julia is a relatively new computer language that aims to reduce the challenge for mathmodelers to develop fast computer tools and simulations. It potentially combines the ease-of-coding feature of scripting languages (like Python) with the performance of compiled languages (like C++). A key question for Julia application to the simulation domain is, “Can Julia, with its obvious coding simplicity, provide runtime speeds comparable to conventional compiled languages for flight simulation?” A unique combination of existing elements can be employed to address the previous question: Extensively documented object-oriented simulation architecture, Industry standard rocket flight simulation, Separate versions (C++, Java, and Python) already benchmarked.

Sells, Ray↗

Modelling high data rate communication network access protocol

Modeling of high data rate communication systems is different from the low data rate systems. Three simulations were built during the development phase of Carrier Sensed Multiple Access/Ring Network (CSMA/RN) modeling. The first was a model using SIMCRIPT based upon the determination and processing of each event at each node. The second simulation was developed in C based upon isolating the distinct object that can be identified as the ring, the message, the node, and the set of critical events. The third model further identified the basic network functionality by creating a single object, the node which includes the set of critical events which occur at the node. The ring structure is implicit in the node structure. This model was also built in C. Each model is discussed and their features compared. It should be stated that the language used was mainly selected by the model developer because of his past familiarity. Further the models were not built with the intent to compare either structure or language but because the complexity of the problem and initial results contained obvious errors, so alternative models were built to isolate, determine, and correct programming and modeling errors. The CSMA/RN protocol is discussed in sufficient detail to understand modeling complexities. Each model is described along with its features and problems. The models are compared and concluding observations and remarks are presented.

Khanna, S.↗

Programs Handle PostScript Files

PSTOOLS is package of four programs to interpret and format files in PostScript language. PSIRIS, PSMATRIX, and PSTEK interpret PostScript language and send graphical results to device. PSPRETTY formats PostScript files by appropriately indenting procedures and code delimited by "saves" and "restores". Written in C.

Choi, Diana↗

Dynamically Alterable Arrays of Polymorphic Data Types

An application library package was developed that represents data packets for Deep Space Network (DSN) message packets as dynamically alterable arrays composed of arbitrary polymorphic data types. The software was to address a limitation of the present state of the practice for having an array directly composed of a single monomorphic data type. This is a severe limitation when one is dealing with science data in that the types of objects one is dealing with are typically not known in advance and, therefore, are dynamic in nature. The unique feature of this approach is that it enables one to define at run-time the dynamic shape of the matrix with the ability to store polymorphic data types in each of its indices. Existing languages such as C and C++ have the restriction that the shape of the array must be known in advance and each of its elements be a monomorphic data type that is strictly defined at compile-time. This program can be executed on a variety of platforms. It can be distributed in either source code or binary code form. It must be run in conjunction with any one of a number of Lisp compilers that are available commercially or as shareware.

James, Mark↗

Void Management in MEPHISTO and Other Space Experiments

The second flight of NASA's Shuttle Flight experiment program known as MEPHISTO suffered from a void in the liquid portion of the sample, even though a piston arrangement was in place to keep the ampoule filled. In preparations for the next flight of the MEPHISTO furnace an animated computer program, called MEPHISTO Volume Visualizer (MVV), was written to help avoid the formation of unwanted voids. A piston system on MEPHISTO has the ability to move approximately 5 mm in compression, to accommodate expansion of the solid during heating; then from the completely compressed position, the piston can move up to 25 mm in towards the sample, effectively making the ampoule smaller and hopefully eliminating any voids. Due to the nature of the piston design and ampoule and sample arrangement, the piston has gotten stuck during normal directional solidification; this creates the risk of a void. To eliminate such a void, the liquid in the hot zones of the furnace can be heated, thereby expanding the liquid and consuming any void. The problem with this approach is that if the liquid is heated too much an overpressure could result, breaking the ampoule and ending the experiment catastrophically. The MVV has been found to be a useful tool in the assessment of the risks associated with the formation of a void and the additional heating of the liquid in the hot zone of this Bridgman type furnace. The MVV software will be discussed and copies available; it is written in the Delphi 2 programming language and runs under Windows 95 and NT. The strategies used in other flight experiments, such as the Isothermal Dendritic Growth Experiment, will also be presented.

deGroh, Henry C., III↗

Transportable Applications Environment Plus

Transportable Applications Environment Plus (TAE+) is integrated, portable program providing environment for developing and running interactive window, text, and graphical object-based application software systems. Enables construction of custom application interface and moving applications to different computers. Components are WorkBench, tool for design of user interface; WPT's (Window Programming Tools) package, set of callable subroutines controlling user interface; and TAE Command Language (TCL), providing ways to develop executable application prototype with run-time-interpreted language. Uses MIT X-Window System, WorkBench and WPT's written in C++, remaining code in C.

Source record↗

NASA's Software Bank (CLIPS)

C Language Integrated Production System (CLIPS) is a NASA Johnson Space Center developed software shell for developing expert systems, is used by researchers at Ohio State University to determine solid waste disposal sites to assist in historic preservation. The program has various other applications and has even been included in a widely-used textbook.

Source record↗

Grid Visualization Tool

The Grid Visualization Tool (GVT) is a computer program for displaying the path of a mobile robotic explorer (rover) on a terrain map. The GVT reads a map-data file in either portable graymap (PGM) or portable pixmap (PPM) format, representing a gray-scale or color map image, respectively. The GVT also accepts input from path-planning and activity-planning software. From these inputs, the GVT generates a map overlaid with one or more rover path(s), waypoints, locations of targets to be explored, and/or target-status information (indicating success or failure in exploring each target). The display can also indicate different types of paths or path segments, such as the path actually traveled versus a planned path or the path traveled to the present position versus planned future movement along a path. The program provides for updating of the display in real time to facilitate visualization of progress. The size of the display and the map scale can be changed as desired by the user. The GVT was written in the C++ language using the Open Graphics Library (OpenGL) software. It has been compiled for both Sun Solaris and Linux operating systems.

Chouinard, Caroline↗

Spacecraft Guidance, Navigation, and Control Visualization Tool

G-View is a 3D visualization tool for supporting spacecraft guidance, navigation, and control (GN&C) simulations relevant to small-body exploration and sampling (see figure). The tool is developed in MATLAB using Virtual Reality Toolbox and provides users with the ability to visualize the behavior of their simulations, regardless of which programming language (or machine) is used to generate simulation results. The only requirement is that multi-body simulation data is generated and placed in the proper format before applying G-View.

Mandic, Milan↗

The SeaHorn Verification Framework

In this paper, we present SeaHorn, a software verification framework. The key distinguishing feature of SeaHorn is its modular design that separates the concerns of the syntax of the programming language, its operational semantics, and the verification semantics. SeaHorn encompasses several novelties: it (a) encodes verification conditions using an efficient yet precise inter-procedural technique, (b) provides flexibility in the verification semantics to allow different levels of precision, (c) leverages the state-of-the-art in software model checking and abstract interpretation for verification, and (d) uses Horn-clauses as an intermediate language to represent verification conditions which simplifies interfacing with multiple verification tools based on Horn-clauses. SeaHorn provides users with a powerful verification tool and researchers with an extensible and customizable framework for experimenting with new software verification techniques. The effectiveness and scalability of SeaHorn are demonstrated by an extensive experimental evaluation using benchmarks from SV-COMP 2015 and real avionics code.

Model Checking↗

LEGION: Lightweight Expandable Group of Independently Operating Nodes

LEGION is a lightweight C-language software library that enables distributed asynchronous data processing with a loosely coupled set of compute nodes. Loosely coupled means that a node can offer itself in service to a larger task at any time and can withdraw itself from service at any time, provided it is not actively engaged in an assignment. The main program, i.e., the one attempting to solve the larger task, does not need to know up front which nodes will be available, how many nodes will be available, or at what times the nodes will be available, which is normally the case in a "volunteer computing" framework. The LEGION software accomplishes its goals by providing message-based, inter-process communication similar to MPI (message passing interface), but without the tight coupling requirements. The software is lightweight and easy to install as it is written in standard C with no exotic library dependencies. LEGION has been demonstrated in a challenging planetary science application in which a machine learning system is used in closed-loop fashion to efficiently explore the input parameter space of a complex numerical simulation. The machine learning system decides which jobs to run through the simulator; then, through LEGION calls, the system farms those jobs out to a collection of compute nodes, retrieves the job results as they become available, and updates a predictive model of how the simulator maps inputs to outputs. The machine learning system decides which new set of jobs would be most informative to run given the results so far; this basic loop is repeated until sufficient insight into the physical system modeled by the simulator is obtained.

Burl, Michael C.↗

Displaying Images Of Planets

Interactive Image Display Program (IMDISP) is interactive image-displaying utility program for IBM personal computer (PC, XT, and AT models) and compatibles. Magnifications, contrasts, and/or subsampling selected for whole or partial images. IMDISP developed for use with CD-ROM (Compact Disk Read-Only Memory) storage system. Written in C language (94 percent) and Assembler (6 percent).

Martin, Michael D.↗

A CLIPS-based tool for aircraft pilot-vehicle interface design

The Pilot-Vehicle Interface of modern aircraft is the cognitive, sensory, and psychomotor link between the pilot, the avionics modules, and all other systems on board the aircraft. To assist pilot-vehicle interface designers, a C Language Integrated Production System (CLIPS) based tool was developed that allows design information to be stored in a table that can be modified by rules representing design knowledge. Developed for the Apple Macintosh, the tool allows users without any CLIPS programming experience to form simple rules using a point and click interface.

Fowler, Thomas D.↗

Interactive Image-Analysis Program

BLOBTOOL computer program used to prepare image for analysis and generates various quantitative measurements of objects or structures present in images. Includes basic input/output capabilities, option to display built-in color tables, and access to on-line help. Written in C Language.

Leonard, Desiree M.↗

Probabilistic Scale-Space Filtering Program

Probabilistic Scale-Space Filtering (PSF) computer program implements scale-space technique to describe input signals as collections of nested hills and valleys organized in treelike structure. Helps to construct sparse representations of complicated signals. Calculates probabilities, with extracted features corresponding to physical processes. Written in C language (49 percent) and Common Lisp (51 percent).

Kulkarni, Deepak↗

An expert system for diagnosing environmentally induced spacecraft anomalies

A new rule-based, machine independent analytical tool was designed for diagnosing spacecraft anomalies using an expert system. Expert systems provide an effective method for saving knowledge, allow computers to sift through large amounts of data pinpointing significant parts, and most importantly, use heuristics in addition to algorithms, which allow approximate reasoning and inference and the ability to attack problems not rigidly defined. The knowledge base consists of over two-hundred (200) rules and provides links to historical and environmental databases. The environmental causes considered are bulk charging, single event upsets (SEU), surface charging, and total radiation dose. The system's driver translates forward chaining rules into a backward chaining sequence, prompting the user for information pertinent to the causes considered. The use of heuristics frees the user from searching through large amounts of irrelevant information and allows the user to input partial information (varying degrees of confidence in an answer) or 'unknown' to any question. The modularity of the expert system allows for easy updates and modifications. It not only provides scientists with needed risk analysis and confidence not found in algorithmic programs, but is also an effective learning tool, and the window implementation makes it very easy to use. The system currently runs on a Micro VAX II at Goddard Space Flight Center (GSFC). The inference engine used is NASA's C Language Integrated Production System (CLIPS).

Rolincik, Mark↗

Research on Streamlines and Aerodynamic Heating for Unstructured Grids on High-Speed Vehicles

Engineering codes are needed which can calculate convective heating rates accurately and expeditiously on the surfaces of high-speed vehicles. One code which has proven to meet these needs is the Langley Approximate Three-Dimensional Convective Heating (LATCH) code. It uses the axisymmetric analogue in an integral boundary-layer method to calculate laminar and turbulent heating rates along inviscid surface streamlines. It requires the solution of the inviscid flow field to provide the surface properties needed to calculate the streamlines and streamline metrics. The LATCH code has been used with inviscid codes which calculated the flow field on structured grids, Several more recent inviscid codes calculate flow field properties on unstructured grids. The present research develops a method to calculate inviscid surface streamlines, the streamline metrics, and heating rates using the properties calculated from inviscid flow fields on unstructured grids. Mr. Chris Riley, prior to his departure from NASA LaRC, developed a preliminary code in the C language, called "UNLATCH", to accomplish these goals. No publication was made on his research. The present research extends and improves on the code developed by Riley. Particular attention is devoted to the stagnation region, and the method is intended for programming in the FORTRAN 90 language.

DeJarnette, Fred R.↗