Search NASASearch

SEARCH · Search NASA

Results for “Programming environments”

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 91 records · Page 5

Real-Time MENTAT programming language and architecture

Real-time MENTAT, a programming environment designed to simplify the task of programming real-time applications in distributed and parallel environments, is described. It is based on the same data-driven computation model and object-oriented programming paradigm as MENTAT. It provides an easy-to-use mechanism to exploit parallelism, language constructs for the expression and enforcement of timing constraints, and run-time support for scheduling and exciting real-time programs. The real-time MENTAT programming language is an extended C++. The extensions are added to facilitate automatic detection of data flow and generation of data flow graphs, to express the timing constraints of individual granules of computation, and to provide scheduling directives for the runtime system. A high-level view of the real-time MENTAT system architecture and programming language constructs is provided.

Grimshaw, Andrew S.

The NASA Space Environments and Effects Program (SEE): Over a Decade of Useful Products for Spacecraft Designers and Operators

SEE program management originated at LaRC in the early 1990's but was transferred to MSFC in FY 1995 and has remained at Marshall since that time, SEE uses 5 technical working groups and NRA's (three since 1994) to achieve its technical objectives. The SEE vision is to develop and maintain a preeminent program in SPACE ENVIRONMENTS AND EFFECTS which provides a coordinated national focus for innovative technology development to support design, development, and operation of spacecraft systems that will accommodate or mitigate effects due to the presence of the space environment. In working toward that goal, SEE has produced, through the years, over 30 major Space Environments and Effects Models and Databases, over 75 major Space Environments and Effects Publications, a website that has had over 112,000 hits since its inception (http://see.msfc.nasa.gov/), distribution of physical products that amounts to over a total of over 260 product deliveries, sponsorship of the last four international Spacecraft Charging Technology Conferences (the major subject matter conference in the world), and sponsorship of numerous technical standards and guidelines in the Space Environments area. Among the recent popular SEE products are the Electric Propulsion Interactions Code (EPIC), the NASA/Air Force Spacecraft Charging Analysis Program (NASCAP-2K), the Interactive Spacecraft Charging Handbook, the Cosmic Ray Effects on Microelectronics Code (CREME 96), the Spacecraft Contamination and Materials Outgassing Effects Knowledge base (SCMOEK), and the Lunar E-Library.

Ferguson, Dale C.

Research in computer science

Several short summaries of the work performed during this reporting period are presented. Topics discussed in this document include: (1) resilient seeded errors via simple techniques; (2) knowledge representation for engineering design; (3) analysis of faults in a multiversion software experiment; (4) implementation of parallel programming environment; (5) symbolic execution of concurrent programs; (6) two computer graphics systems for visualization of pressure distribution and convective density particles; (7) design of a source code management system; (8) vectorizing incomplete conjugate gradient on the Cyber 203/205; (9) extensions of domain testing theory and; (10) performance analyzer for the pisces system.

Ortega, J. M.

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

PISCES: An environment for parallel scientific computation

The parallel implementation of scientific computing environment (PISCES) is a project to provide high-level programming environments for parallel MIMD computers. Pisces 1, the first of these environments, is a FORTRAN 77 based environment which runs under the UNIX operating system. The Pisces 1 user programs in Pisces FORTRAN, an extension of FORTRAN 77 for parallel processing. The major emphasis in the Pisces 1 design is in providing a carefully specified virtual machine that defines the run-time environment within which Pisces FORTRAN programs are executed. Each implementation then provides the same virtual machine, regardless of differences in the underlying architecture. The design is intended to be portable to a variety of architectures. Currently Pisces 1 is implemented on a network of Apollo workstations and on a DEC VAX uniprocessor via simulation of the task level parallelism. An implementation for the Flexible Computing Corp. FLEX/32 is under construction. An introduction to the Pisces 1 virtual computer and the FORTRAN 77 extensions is presented. An example of an algorithm for the iterative solution of a system of equations is given. The most notable features of the design are the provision for several granularities of parallelism in programs and the provision of a window mechanism for distributed access to large arrays of data.

Pratt, T. W.

Parallel language constructs for tensor product computations on loosely coupled architectures

Distributed memory architectures offer high levels of performance and flexibility, but have proven awkard to program. Current languages for nonshared memory architectures provide a relatively low level programming environment, and are poorly suited to modular programming, and to the construction of libraries. A set of language primitives designed to allow the specification of parallel numerical algorithms at a higher level is described. Tensor product array computations are focused on along with a simple but important class of numerical algorithms. The problem of programming 1-D kernal routines is focused on first, such as parallel tridiagonal solvers, and then how such parallel kernels can be combined to form parallel tensor product algorithms is examined.

Mehrotra, Piyush

An Overview of Program Development for NASA's Space Environments and Effects (SEE) Program

This paper describes many of the changes affecting NASA's Space Environments and Effects (SEE) Program since the initiation of the Vision for Space Exploration. Programmatic and procedural changes are discussed, six new technical tasks applicable to any return to the Moon or onward towards Mars are highlighted, and personnel changes and new contact information is given.

Minor, Jody L.

Quantum Computing and Visualization Research Challenges and Opportunities

Here, quantum computing (QC) has experienced rapid growth in recent years with the advent of robust programming environments, readily accessible software simulators and cloud-based QC hardware platforms, and growing interest in learning how to design useful methods that leverage this emerging technology for practical applications. From the perspective of the field of visualization, this article examines research challenges and opportunities along the path from initial feasibility to practical use of QC platforms applied to meaningful problems.

Data visualization

The Environment-Power System Analysis Tool development program

The Environment Power System Analysis Tool (EPSAT) is being developed to provide engineers with the ability to assess the effects of a broad range of environmental interactions on space power systems. A unique user-interface-data-dictionary code architecture oversees a collection of existing and future environmental modeling codes (e.g., neutral density) and physical interaction models (e.g., sheath ionization). The user-interface presents the engineer with tables, graphs, and plots which, under supervision of the data dictionary, are automatically updated in response to parameter change. EPSAT thus provides the engineer with a comprehensive and responsive environmental assessment tool and the scientist with a framework into which new environmental or physical models can be easily incorporated.

Jongeward, Gary A.

Prediction of Adverse Events in Time Series Data Using ACCEPT (Adverse Condition and Critical Event Prediction Toolbox)

Abstract:An open-source toolbox called ACCEPT (Adverse Condition and Critical Event Prediction Toolbox) that operates from within the Matlab programming environment is introduced. The toolbox provides an open source, special-purpose functionality that can be used specifically for the prediction or forecasting of adverse events in time series data. It also provides a single, unifying framework in which to compare a variety of combinations of algorithmic approaches addressing this problem. The architectural framework also offers the flexibility for expansion to accommodate the newest, latest popular regression and detection methods for this particular problem, enabling the development of an infrastructure that can act as a proving ground platform for comparing new techniques to the state of the art. As such, its intention is to act as a catalyst in advancing the state of the art in technologies related to this problem. There are a variety of other toolboxes that offer similar capabilities and features, however they are either more suitable as general purpose machine learning toolboxes or are only available commercially or through agreements. ACCEPT fills that niche by offering visibility into a specific approach for addressing the adverse event prediction problem.

programming environments

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.

Information Power Grid: Distributed High-Performance Computing and Large-Scale Data Management for Science and Engineering

We use the term "Grid" to refer to distributed, high performance computing and data handling infrastructure that incorporates geographically and organizationally dispersed, heterogeneous resources that are persistent and supported. This infrastructure includes: (1) Tools for constructing collaborative, application oriented Problem Solving Environments / Frameworks (the primary user interfaces for Grids); (2) Programming environments, tools, and services providing various approaches for building applications that use aggregated computing and storage resources, and federated data sources; (3) Comprehensive and consistent set of location independent tools and services for accessing and managing dynamic collections of widely distributed resources: heterogeneous computing systems, storage systems, real-time data sources and instruments, human collaborators, and communications systems; (4) Operational infrastructure including management tools for distributed systems and distributed resources, user services, accounting and auditing, strong and location independent user authentication and authorization, and overall system security services The vision for NASA's Information Power Grid - a computing and data Grid - is that it will provide significant new capabilities to scientists and engineers by facilitating routine construction of information based problem solving environments / frameworks. Such Grids will knit together widely distributed computing, data, instrument, and human resources into just-in-time systems that can address complex and large-scale computing and data analysis problems. Examples of these problems include: (1) Coupled, multidisciplinary simulations too large for single systems (e.g., multi-component NPSS turbomachine simulation); (2) Use of widely distributed, federated data archives (e.g., simultaneous access to metrological, topological, aircraft performance, and flight path scheduling databases supporting a National Air Space Simulation systems}; (3) Coupling large-scale computing and data systems to scientific and engineering instruments (e.g., realtime interaction with experiments through real-time data analysis and interpretation presented to the experimentalist in ways that allow direct interaction with the experiment (instead of just with instrument control); (5) Highly interactive, augmented reality and virtual reality remote collaborations (e.g., Ames / Boeing Remote Help Desk providing field maintenance use of coupled video and NDI to a remote, on-line airframe structures expert who uses this data to index into detailed design databases, and returns 3D internal aircraft geometry to the field); (5) Single computational problems too large for any single system (e.g. the rotocraft reference calculation). Grids also have the potential to provide pools of resources that could be called on in extraordinary / rapid response situations (such as disaster response) because they can provide common interfaces and access mechanisms, standardized management, and uniform user authentication and authorization, for large collections of distributed resources (whether or not they normally function in concert). IPG development and deployment is addressing requirements obtained by analyzing a number of different application areas, in particular from the NASA Aero-Space Technology Enterprise. This analysis has focussed primarily on two types of users: the scientist / design engineer whose primary interest is problem solving (e.g. determining wing aerodynamic characteristics in many different operating environments), and whose primary interface to IPG will be through various sorts of problem solving frameworks. The second type of user is the tool designer: the computational scientists who convert physics and mathematics into code that can simulate the physical world. These are the two primary users of IPG, and they have rather different requirements. The results of the analysis of the needs of these two types of users provides a broad set of requirements that gives rise to a general set of required capabilities. The IPG project is intended to address all of these requirements. In some cases the required computing technology exists, and in some cases it must be researched and developed. The project is using available technology to provide a prototype set of capabilities in a persistent distributed computing testbed. Beyond this, there are required capabilities that are not immediately available, and whose development spans the range from near-term engineering development (one to two years) to much longer term R&D (three to six years). Additional information is contained in the original.

Johnston, William E.

Monitoring and Acquisition Real-time System (MARS)

MARS is a graphical user interface (GUI) written in MATLAB and Java, allowing the user to configure and control the Scalable Parallel Architecture for Real-Time Acquisition and Analysis (SPARTAA) data acquisition system. SPARTAA not only acquires data, but also allows for complex algorithms to be applied to the acquired data in real time. The MARS client allows the user to set up and configure all settings regarding the data channels attached to the system, as well as have complete control over starting and stopping data acquisition. It provides a unique "Test" programming environment, allowing the user to create tests consisting of a series of alarms, each of which contains any number of data channels. Each alarm is configured with a particular algorithm, determining the type of processing that will be applied on each data channel and tested against a defined threshold. Tests can be uploaded to SPARTAA, thereby teaching it how to process the data. The uniqueness of MARS is in its capability to be adaptable easily to many test configurations. MARS sends and receives protocols via TCP/IP, which allows for quick integration into almost any test environment. The use of MATLAB and Java as the programming languages allows for developers to integrate the software across multiple operating platforms.

Holland, Corbin

Methods for design and evaluation of integrated hardware/software systems for concurrent computation

Two testbed programming environments to support the evaluation of a large range of parallel architectures have been implemented under the program Parallel Implementation of Scientific Computing Environments (PISCES). The PISCES 1 environment was applied to two areas of aerospace interest: a sparse matrix iterative equation solver and a dynamic scene analysis system. Currently, the NICE/SPAR testbed system for structural analysis is being modified for parallel operation under PISCES 2; the PISCES 1 applications are also being adapted for PISCES 2. A new formal model of concurrent computation has been developed, based on the mathematical system known as H graph semantics together with a timed Petri net model of the parallel aspects of a system.

Pratt, Terrence W.

PISCES 2 users manual

PISCES 2 is a programming environment and set of extensions to Fortran 77 for parallel programming. It is intended to provide a basis for writing programs for scientific and engineering applications on parallel computers in a way that is relatively independent of the particular details of the underlying computer architecture. This user's manual provides a complete description of the PISCES 2 system as it is currently implemented on the 20 processor Flexible FLEX/32 at NASA Langley Research Center.

Pratt, Terrence W.

Ensemble: an Architecture for Mission-Operations Software

Ensemble is the name of an open architecture for, and a methodology for the development of, spacecraft mission operations software. Ensemble is also potentially applicable to the development of non-spacecraft mission-operations- type software. Ensemble capitalizes on the strengths of the open-source Eclipse software and its architecture to address several issues that have arisen repeatedly in the development of mission-operations software: Heretofore, mission-operations application programs have been developed in disparate programming environments and integrated during the final stages of development of missions. The programs have been poorly integrated, and it has been costly to develop, test, and deploy them. Users of each program have been forced to interact with several different graphical user interfaces (GUIs). Also, the strategy typically used in integrating the programs has yielded serial chains of operational software tools of such a nature that during use of a given tool, it has not been possible to gain access to the capabilities afforded by other tools. In contrast, the Ensemble approach offers a low-risk path towards tighter integration of mission-operations software tools.

Norris, Jeffrey

Supporting shared data structures on distributed memory architectures

Programming nonshared memory systems is more difficult than programming shared memory systems, since there is no support for shared data structures. Current programming languages for distributed memory architectures force the user to decompose all data structures into separate pieces, with each piece owned by one of the processors in the machine, and with all communication explicitly specified by low-level message-passing primitives. A new programming environment is presented for distributed memory architectures, providing a global name space and allowing direct access to remote parts of data values. The analysis and program transformations required to implement this environment are described, and the efficiency of the resulting code on the NCUBE/7 and IPSC/2 hypercubes are described.

Koelbel, Charles

Communications oriented programming of parallel iterative solutions of sparse linear systems

Parallel algorithms are developed for a class of scientific computational problems by partitioning the problems into smaller problems which may be solved concurrently. The effectiveness of the resulting parallel solutions is determined by the amount and frequency of communication and synchronization and the extent to which communication can be overlapped with computation. Three different parallel algorithms for solving the same class of problems are presented, and their effectiveness is analyzed from this point of view. The algorithms are programmed using a new programming environment. Run-time statistics and experience obtained from the execution of these programs assist in measuring the effectiveness of these algorithms.

Patrick, M. L.