Software

JMS Proxy and C/C++ Client SDK

JMS Proxy and C/C++ Client SDK (“JMS” signifies “Java messaging service” and “SDK” signifies “software development kit”) is a software package for developing interfaces that enable legacy programs (here denoted “clients”) written in the C and C++ languages to communicate with each other via a JMS broker. This package consists of two main components: the JMS proxy server component and the client C library SDK component. The JMS proxy server component implements a native Java process that receives and responds to requests from clients. This component can run on any computer that supports Java and a JMS client. The client C library SDK component is used to develop a JMS client program running in each affected C or C++ environment, without need for running a Java virtual machine in the affected computer. A C client program developed by use of this SDK has most of the quality-of-service characteristics of standard Java-based client programs, including the following:

Posted in: Software, Briefs, TSP

Read More >>

Short-Term Forecasting of Radiation Belt and Ring Current

A computer program implements a mathematical model of the radiation-belt and ring-current plasmas resulting from interactions between the solar wind and the Earth’s magnetic field, for the purpose of predicting fluxes of energetic electrons (10 keV to 5 MeV) and protons (10 keV to 1 MeV), which are hazardous to humans and spacecraft. Given solar-wind and interplanetary- magnetic-field data as inputs, the program solves the convection-diffusion equations of plasma distribution functions in the range of 2 to 10 Earth radii. Phenomena represented in the model include particle drifts resulting from the gradient and curvature of the magnetic field; electric fields associated with the rotation of the Earth, convection, and temporal variation of the magnetic field; and losses along particle-drift paths. The model can readily accommodate new magnetic- and electric-field submodels and new information regarding physical processes that drive the radiation-belt and ring-current plasmas. Despite the complexity of the model, the program can be run in real time on ordinary computers. At present, the program can calculate present electron and proton fluxes; after further development, it should be able to predict the fluxes 24 hours in advance.

Posted in: Software, Briefs, TSP

Read More >>

Probabilistic Reasoning for Robustness in Automated Planning

A general-purpose computer program for planning the actions of a spacecraft or other complex system has been augmented by incorporating a subprogram that reasons about uncertainties in such continuous variables as times taken to perform tasks and amounts of resources to be consumed. This subprogram computes parametric probability distributions for time and resource variables on the basis of user-supplied models of actions and resources that they consume. The current system accepts bounded Gaussian distributions over action duration and resource use. The distributions are then combined during planning to determine the net probability distribution of each resource at any time point. In addition to a full combinatoric approach, several approximations for arriving at these combined distributions are available, including maximum-likelihood and pessimistic algorithms. Each such probability distribution can then be integrated to obtain a probability that execution of the plan under consideration would violate any constraints on the resource. The key idea is to use these probabilities of conflict to score potential plans and drive a search toward planning low-risk actions. An output plan provides a balance between the user’s specified averseness to risk and other measures of optimality.

Posted in: Software, Briefs, TSP

Read More >>

Fusing Symbolic and Numerical Diagnostic Computations

“X-2000 Anomaly Detection Language” denotes a developmental computing language, and the software that establishes and utilizes the language, for fusing two diagnostic computer programs, one implementing a numerical analysis method, the other implementing a symbolic analysis method into a unified eventbased decision analysis software system for real-time detection of events (e.g., failures) in a spacecraft, aircraft, or other complex engineering system. The numerical analysis method is performed by beacon- based exception analysis for multimissions (BEAMs), which has been discussed in several previous NASA Tech Briefs articles. The symbolic analysis method is, more specifically, an artificial-intelligence method of the knowledge-based, inference engine type, and its implementation is exemplified by the Spacecraft Health Inference Engine (SHINE) software. The goal in developing the capability to fuse numerical and symbolic diagnostic components is to increase the depth of analysis beyond that previously attainable, thereby increasing the degree of confidence in the computed results. In practical terms, the sought improvement is to enable detection of all or most events, with no or few false alarms.

Posted in: Software, Briefs, TSP

Read More >>

The PICWidget

The Plug-in Image Component Widget (PICWidget) is a software component for building digital imaging applications. The component is part of a methodology described in “GIS Methodology for Planning Planetary-Rover Operations” (NPO-41812), which appears elsewhere in this issue of NASA Tech Briefs. Planetary rover missions return a large number and wide variety of image data products that vary in complexity in many ways. Supported by a powerful, flexible image-data-processing pipeline, the PICWidget can process and render many types of imagery, including (but not limited to) thumbnail, subframed, downsampled, stereoscopic, and mosaic images; images coregistred with orbital data; and synthetic red/green/blue images. The PICWidget is capable of efficiently rendering images from data representing many more pixels than are available at a computer workstation where the images are to be displayed. The PICWidget is implemented as an Eclipse plug-in using the Standard Widget Toolkit, which provides a straightforward interface for re-use of the PICWidget in any number of application programs built upon the Eclipse application framework. Because the PICWidget is tile-based and performs aggressive tile caching, it has flexibility to perform faster or slower, depending whether more or less memory is available.

Posted in: Software, Briefs, TSP

Read More >>

Cassini Archive Tracking System

The Cassini Archive Tracking System (CATS) is a computer program that enables tracking of scientific data transfers from originators to the Planetary Data System (PDS) archives. Without CATS, there is no systematic means of locating products in the archive process or ensuring their completeness. By keeping a database of transfer communications and status, CATS enables the Cassini Project and the PDS to efficiently and accurately report on archive status. More importantly, problem areas are easily identified through customized reports that can be generated on the fly from any Web-enabled computer. A Web-browser interface and clearly defined authorization scheme provide safe distributed access to the system, where users can perform functions such as create customized reports, record a transfer, and respond to a transfer. CATS ensures that Cassini provides complete science archives to the PDS on schedule and that those archives are available to the science community by the PDS. The three-tier architecture is loosely coupled and designed for simple adaptation to multi-mission use. Written in the Java programming language, it is portable and can be run on any Java-enabled Web server.

Posted in: Software, Briefs, TSP

Read More >>

Mercury Shopping Cart

Mercury Shopping Cart Interface (MSCI) is a reusable component of the Power User Interface 5.0 (PUI) program described in the immediately preceding article. MSCI is a means of encapsulating the logic and information needed to describe an orderable item consistent with Mercury Shopping Cart service protocol. Designed to be used with Web-browser software, MSCI generates Hypertext Markup Language (HTML) pages on which ordering information can be entered. MSCI comprises two types of Practical Extraction and Report Language (PERL) modules: template modules and shopping-cart logic modules. Template modules generate HTML pages for entering the required ordering details and enable submission of the order via a Hypertext Transfer Protocol (HTTP) post. Shopping-cart modules encapsulate the logic and data needed to describe an individual orderable item to the Mercury Shopping Cart service. These modules evaluate information entered by the user to determine whether it is sufficient for the Shopping Cart service to process the order. Once an order has been passed from MSCI to a deployed Mercury Shopping Cart server, there is no further interaction with the user.

Posted in: Software, Briefs, TSP

Read More >>