Search NASA⌕ Search

SEARCH · Search NASA

Results for “Java programs”

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 73 records · Page 4

FastScript3D - A Companion to Java 3D

FastScript3D is a computer program, written in the Java 3D(TM) programming language, that establishes an alternative language that helps users who lack expertise in Java 3D to use Java 3D for constructing three-dimensional (3D)-appearing graphics. The FastScript3D language provides a set of simple, intuitive, one-line text-string commands for creating, controlling, and animating 3D models. The first word in a string is the name of a command; the rest of the string contains the data arguments for the command. The commands can also be used as an aid to learning Java 3D. Developers can extend the language by adding custom text-string commands. The commands can define new 3D objects or load representations of 3D objects from files in formats compatible with such other software systems as X3D. The text strings can be easily integrated into other languages. FastScript3D facilitates communication between scripting languages [which enable programming of hyper-text markup language (HTML) documents to interact with users] and Java 3D. The FastScript3D language can be extended and customized on both the scripting side and the Java 3D side.

Koenig, Patti↗

Wireless Self-Acquistion of 12-Lead ECG via Android Smart Phone

Researchers at NASA s Johnson Space Center and at Orbital Research, Inc. (a NASA SBIR grant recipient) have recently developed a dry-electrode harness that allows for self-acquisition of resting 12-lead ECGs by minimally trained laypersons. When used in conjunction with commercial wireless (e.g., Bluetooth(TM) or 802.11-enabled) 12-lead ECG devices and custom smart phone-based software, the collected 12-lead ECG data can also immediately be forwarded from any geographic location within cellular range to the user s physician(s) of choice. The system can also be used to immediately forward to central receiving stations 12-lead ECG data collected during space flight or during activities in any remote terrestrial location supported by an internet or cellular phone infrastructure. The main novel aspects of the system are first, the dry-electrode 12-lead ECG harness itself, and second, an accompanying Android(TM) smart phone-based wireless 12-lead ECG capability. The ECG harness nominally employs dry electrodes manufactured by Orbital Research, Inc, recently cleared through the Food and Drug Administration (FDA). However, other dry electrodes that are not yet FDA cleared, for example those recently developed by Nanosonic, Inc as part of another NASA SBIR grant, can also be used. The various advantageous features of the harness include: 1) laypersons can be quickly instructed on its correct use, remotely if necessary; 2) all tangled "leadwire spaghetti" is eliminated, as is the common clinical problem of "leadwire reversal"; 3) all adhesives and disposables are also eliminated, the harness being fully reusable; if multiple individuals intend to use use the same harness, then standard antimicrobial wipes can be employed to sterilize the dry electrodes (and harness surface if needed) between users; 5) padded cushions at the lateral sides of the torso function to press the left arm (LA) and right arm (RA) dry electrodes mounted on the cushions against sideward or downward-rested arms of the subject; 6) sufficient distal placement of the arm electrodes achieves good electrode abutment to the arms without the need for adhesives, straps, bands, bracelets, or gloves; 7) padding over the sternum avoids "tenting" in the V1 through V3 (and, when present, the V3R) electrode positions; 8) easy-to-don, one-piece design with an adjustable, front-side single point of connection and an adjustable shoulder strap; and 9) Lund or "modified Lund" placement of the dry electrodes, the results of which more effectively reproduce results from "standard" 12-lead ECG placements than do results from Mason-Likar placements. The main limitation of the harness is that "one size does not fit all", meaning that an appropriately sized harness (small, medium, large, etc) must be chosen on the basis of an individual's size. To facilitate the use of the harness with inexpensive, commodity-grade cell phones and tablet devices, 12-lead ECG software is also being developed to accompany the harness for wireless use with Android. For this part of the project, NASA has teamed with TopCoder, Inc and the Harvard-affiliated NASA Tournament Lab in sponsoring java-based software programming contests through TopCoder. While ECG signals from the harness can already be wirelessly received and thoroughly processed (locally or remotely) by commercial-grade conventional (as well as advanced) 12-lead ECG software running on Microsoft Windows(TM), the Android-based software, once completed, will "cast a wider net" by allowing for a greater percentage of cell phone owners to participate in inexpensive, store-and-forward recordings of 12-lead ECGs worldwide, including for example Android cell phone users in many remote, third-world locations. At the time of writing, the Android 12-lead ECG software platform consists of a basic but expanding graphical user interface and accompanying software that: 1) wirelessly receives the 12-lead ECG data stream from a Bluetooth-based, FDA-cleared 12-leaCG device attached to the harness; 2) locally stores the same data in binary format to the SD card on the Android cell phone; and 3) makes the data stream in available in real time, for now to TopCoder's java programming contestants.

Schlegel, Todd T.↗

Space Communications Emulation Facility

Establishing space communication between ground facilities and other satellites is a painstaking task that requires many precise calculations dealing with relay time, atmospheric conditions, and satellite positions, to name a few. The Space Communications Emulation Facility (SCEF) team here at NASA is developing a facility that will approximately emulate the conditions in space that impact space communication. The emulation facility is comprised of a 32 node distributed cluster of computers; each node representing a satellite or ground station. The objective of the satellites is to observe the topography of the Earth (water, vegetation, land, and ice) and relay this information back to the ground stations. Software originally designed by the University of Kansas, labeled the Emulation Manager, controls the interaction of the satellites and ground stations, as well as handling the recording of data. The Emulation Manager is installed on a Linux Operating System, employing both Java and C++ programming codes. The emulation scenarios are written in extensible Markup Language, XML. XML documents are designed to store, carry, and exchange data. With XML documents data can be exchanged between incompatible systems, which makes it ideal for this project because Linux, MAC and Windows Operating Systems are all used. Unfortunately, XML documents cannot display data like HTML documents. Therefore, the SCEF team uses XML Schema Definition (XSD) or just schema to describe the structure of an XML document. Schemas are very important because they have the capability to validate the correctness of data, define restrictions on data, define data formats, and convert data between different data types, among other things. At this time, in order for the Emulation Manager to open and run an XML emulation scenario file, the user must first establish a link between the schema file and the directory under which the XML scenario files are saved. This procedure takes place on the command line on the Linux Operating System. Once this link has been established the Emulation manager validates all the XML files in that directory against the schema file, before the actual scenario is run. Using some very sophisticated commercial software called the Satellite Tool Kit (STK) installed on the Linux box, the Emulation Manager is able to display the data and graphics generated by the execution of a XML emulation scenario file. The Emulation Manager software is written in JAVA programming code. Since the SCEF project is in the developmental stage, the source code for this type of software is being modified to better fit the requirements of the SCEF project. Some parameters for the emulation are hard coded, set at fixed values. Members of the SCEF team are altering the code to allow the user to choose the values of these hard coded parameters by inserting a toolbar onto the preexisting GUI.

Hill, Chante A.↗

The Ensemble Canon

Ensemble is an open architecture for the development, integration, and deployment of mission operations software. Fundamentally, it is an adaptation of the Eclipse Rich Client Platform (RCP), a widespread, stable, and supported framework for component-based application development. By capitalizing on the maturity and availability of the Eclipse RCP, Ensemble offers a low-risk, politically neutral path towards a tighter integration of operations tools. The Ensemble project is a highly successful, ongoing collaboration among NASA Centers. Since 2004, the Ensemble project has supported the development of mission operations software for NASA's Exploration Systems, Science, and Space Operations Directorates.

applications programs (computers),↗

Analyzing Power Supply and Demand on the ISS

Station Power and Energy Evaluation Determiner (SPEED) is a Java application program for analyzing the supply and demand aspects of the electrical power system of the International Space Station (ISS). SPEED can be executed on any computer that supports version 1.4 or a subsequent version of the Java Runtime Environment. SPEED includes an analysis module, denoted the Simplified Battery Solar Array Model, which is a simplified engineering model of the ISS primary power system. This simplified model makes it possible to perform analyses quickly. SPEED also includes a user-friendly graphical-interface module, an input file system, a parameter-configuration module, an analysis-configuration-management subsystem, and an output subsystem. SPEED responds to input information on trajectory, shadowing, attitude, and pointing in either a state-of-charge mode or a power-availability mode. In the state-of-charge mode, SPEED calculates battery state-of-charge profiles, given a time-varying power-load profile. In the power-availability mode, SPEED determines the time-varying total available solar array and/or battery power output, given a minimum allowable battery state of charge.

Thomas, Justin↗

Verification Tools Secure Online Shopping, Banking

Just like rover or rocket technology sent into space, the software that controls these technologies must be extensively tested to ensure reliability and effectiveness. Ames Research Center invented the open-source Java Pathfinder (JPF) toolset for the deep testing of Java-based programs. Fujitsu Labs of America Inc., based in Sunnyvale, California, improved the capabilities of the JPF Symbolic Pathfinder tool, establishing the tool as a means of thoroughly testing the functionality and security of Web-based Java applications such as those used for Internet shopping and banking.

Source record↗

Java PathFinder User Guide

The JAVA PATHFINDER, JPF, is a translator from a subset of JAVA 1.0 to PROMELA, the programming language of the SPIN model checker. The purpose of JPF is to establish a framework for verification and debugging of JAVA programming based on model checking. The main goal is to automate program verification such that a programmer can apply it in the daily work without the need for a specialist to manually reformulate a program into a different notation in order to analyze the program. The system is especially suited for analyzing multi-threaded JAVA applications, where normal testing usually falls short. The system can find deadlocks and violations of boolean assertions stated by the programmer in a special assertion language. This document explains how to Use JPF.

Havelund, Klaus↗

NASA Tech Briefs, February 2006

Topics discussed include: Nearly Direct Measurement of Relative Permittivity; DCS-Neural-Network Program for Aircraft Control and Testing; Dielectric Heaters for Testing Spacecraft Nuclear Reactors; Using Doppler Shifts of GPS Signals To Measure Angular Speed; Monitoring Temperatures of Tires Using Luminescent Materials; Highly Efficient Multilayer Thermoelectric Devices; Very High-Speed Digital Video Capability for In-Flight Use; MMIC DHBT Common-Base Amplifier for 172 GHz; Modular, Microprocessor-Controlled Flash Lighting System; Generic Environment for Simulating Launch Operations; Modular Aero-Propulsion System Simulation; X-Windows Socket Widget Class; Infrastructure for Rapid Development of Java GUI Programs; Processing Raman Spectra of High-Pressure Hydrogen Flames; X-Windows Information Sharing Protocol Widget Class; Simulating Humans as Integral Parts of Spacecraft Missions; Analyzing Power Supply and Demand on the ISS; Polyimides From a-BPDA and Aromatic Diamines; Making Plant-Support Structures From Waste Plant Fiber; Large Deployable Reflectarray Antenna; Periodically Discharging, Gas-Coalescing Filter; Ion Milling On Steps for Fabrication of Nanowires; Neuro-Prosthetic Implants With Adjustable Electrode Arrays; Microfluidic Devices for Studying Biomolecular Interactions; Studying Functions of All Yeast Genes Simultaneously; Polarization Phase-Compensating Coats for Metallic Mirrors; Tunable-Bandwidth Filter System; Methodology for Designing Fault-Protection Software; and Ground-Based Localization of Mars Rovers.

Source record↗

Internet Distribution of Spacecraft Telemetry Data

Remote Access Multi-mission Processing and Analysis Ground Environment (RAMPAGE) is a Java-language server computer program that enables near-real-time display of spacecraft telemetry data on any authorized client computer that has access to the Internet and is equipped with Web-browser software. In addition to providing a variety of displays of the latest available telemetry data, RAMPAGE can deliver notification of an alarm by electronic mail. Subscribers can then use RAMPAGE displays to determine the state of the spacecraft and formulate a response to the alarm, if necessary. A user can query spacecraft mission data in either binary or comma-separated-value format by use of a Web form or a Practical Extraction and Reporting Language (PERL) script to automate the query process. RAMPAGE runs on Linux and Solaris server computers in the Ground Data System (GDS) of NASA's Jet Propulsion Laboratory and includes components designed specifically to make it compatible with legacy GDS software. The client/server architecture of RAMPAGE and the use of the Java programming language make it possible to utilize a variety of competitive server and client computers, thereby also helping to minimize costs.

Specht, Ted↗

Propel: Tools and Methods for Practical Source Code Model Checking

The work reported here is an overview and snapshot of a project to develop practical model checking tools for in-the-loop verification of NASA s mission-critical, multithreaded programs in Java and C++. Our strategy is to develop and evaluate both a design concept that enables the application of model checking technology to C++ and Java, and a model checking toolset for C++ and Java. The design concept and the associated model checking toolset is called Propel. It builds upon the Java PathFinder (JPF) tool, an explicit state model checker for Java applications developed by the Automated Software Engineering group at NASA Ames Research Center. The design concept that we are developing is Design for Verification (D4V). This is an adaption of existing best design practices that has the desired side-effect of enhancing verifiability by improving modularity and decreasing accidental complexity. D4V, we believe, enhances the applicability of a variety of V&V approaches; we are developing the concept in the context of model checking. The model checking toolset, Propel, is based on extending JPF to handle C++. Our principal tasks in developing the toolset are to build a translator from C++ to Java, productize JPF, and evaluate the toolset in the context of D4V. Through all these tasks we are testing Propel capabilities on customer applications.

Mansouri-Samani, Massoud↗

Development and Engineering Design in Support of "Rover Ranch": A K-12 Outreach Software Project

A continuation of the initial development started in the summer of 1999, the body of work performed in support of 'ROVer Ranch' Project during the present fellowship dealt with the concrete concept implementation and resolution of the related issues. The original work performed last summer focused on the initial examination and articulation of the concept treatment strategy, audience and market analysis for the learning technologies software. The presented work focused on finalizing the set of parts to be made available for building an AERCam Sprint type robot and on defining, testing and implementing process necessary to convert the design engineering files to VRML files. Through reverse engineering, an initial set of mission critical systems was designed for beta testing in schools. The files were created in ProEngineer, exported to VRML 1.0 and converted to VRML 97 (VRML 2.0) for final integration in the software. Attributes for each part were assigned using an in-house developed JAVA based program. The final set of attributes for each system, their mutual interaction and the identification of the relevant ones to be tracked, still remain to be decided.

Pascali, Raresh↗

Air Traffic Management TestBed: Weather Visualization using Map Tiles

Running realistic simulations and developing algorithms for decision support tools usually require weather data access. This document describes the weather data service capability implemented in the Air Traffic Management (ATM) TestBed. The capability provides ways for querying weather data from the weather products provided by the National Aeronautics and Space Administration’s (NASA) Sherlock ATM Data Warehouse. Depending on use cases, weather data can be queried using a Java application programming interface, web data access, and map tile image access. Map tile images are generated using triangular meshes obtained using the Matching Squares contour algorithm. An analysis determines a grid size that will produce both high image quality and fast image rendering. In addition, the visualization of weather data as map tiles on a TestBed visualization tool called Traffic Viewer is presented.

Chok Fung Lai↗

Applying Jlint to Space Exploration Software

Java is a very successful programming language which is also becoming widespread in embedded systems, where software correctness is critical. Jlint is a simple but highly efficient static analyzer that checks a Java program for several common errors, such as null pointer exceptions, and overflow errors. It also includes checks for multi-threading problems, such as deadlocks and data races. The case study described here shows the effectiveness of Jlint in find-false positives in the multi-threading warnings gives an insight into design patterns commonly used in multi-threaded code. The results show that a few analysis techniques are sufficient to avoid almost all false positives. These techniques include investigating all possible callers and a few code idioms. Verifying the correct application of these patterns is still crucial, because their correct usage is not trivial.

Artho, Cyrille↗

Shuttle Data Center File-Processing Tool in Java

A Java-language computer program has been written to facilitate mining of data in files in the Shuttle Data Center (SDC) archives. This program can be executed on a variety of workstations or via Web-browser programs. This program is partly similar to prior C-language programs used for the same purpose, while differing from those programs in that it exploits the platform-neutrality of Java in implementing several features that are important for analysis of large sets of time-series data. The program supports regular expression queries of SDC archive files, reads the files, interleaves the time-stamped samples according to a chosen output, then transforms the results into that format. A user can choose among a variety of output file formats that are useful for diverse purposes, including plotting, Markov modeling, multivariate density estimation, and wavelet multiresolution analysis, as well as for playback of data in support of simulation and testing.

Barry, Matthew R.↗

Java Mission Evaluation Workstation System

The Java Mission Evaluation Workstation System (JMEWS) is a collection of applications designed to retrieve, display, and analyze both real-time and recorded telemetry data. This software is currently being used by both the Space Shuttle Program (SSP) and the International Space Station (ISS) program. JMEWS was written in the Java programming language to satisfy the requirement of platform independence. An object-oriented design was used to satisfy additional requirements and to make the software easily extendable. By virtue of its platform independence, JMEWS can be used on the UNIX workstations in the Mission Control Center (MCC) and on office computers. JMEWS includes an interactive editor that allows users to easily develop displays that meet their specific needs. The displays can be developed and modified while viewing data. By simply selecting a data source, the user can view real-time, recorded, or test data.

Pettinger, Ross↗

Program Instrumentation and Trace Analysis

Several attempts have been made recently to apply techniques such as model checking and theorem proving to the analysis of programs. This shall be seen as a current trend to analyze real software systems instead of just their designs. This includes our own effort to develop a model checker for Java, the Java PathFinder 1, one of the very first of its kind in 1998. However, model checking cannot handle very large programs without some kind of abstraction of the program. This paper describes a complementary scalable technique to handle such large programs. Our interest is turned on the observation part of the equation: How much information can be extracted about a program from observing a single execution trace? It is our intention to develop a technology that can be applied automatically and to large full-size applications, with minimal modification to the code. We present a tool, Java PathExplorer (JPaX), for exploring execution traces of Java programs. The tool prioritizes scalability for completeness, and is directed towards detecting errors in programs, not to prove correctness. One core element in JPaX is an instrumentation package that allows to instrument Java byte code files to log various events when executed. The instrumentation is driven by a user provided script that specifies what information to log. Examples of instructions that such a script can contain are: 'report name and arguments of all called methods defined in class C, together with a timestamp'; 'report all updates to all variables'; and 'report all acquisitions and releases of locks'. In more complex instructions one can specify that certain expressions should be evaluated and even that certain code should be executed under various conditions. The instrumentation package can hence be seen as implementing Aspect Oriented Programming for Java in the sense that one can add functionality to a Java program without explicitly changing the code of the original program, but one rather writes an aspect and compiles it into the original program using the instrumentation. Another core element of JPaX is an observation package that supports the analysis of the generated event stream. Two kinds of analysis are currently supported. In temporal analysis the execution trace is evaluated against formulae written in temporal logic. We have implemented a temporal logic evaluator on finite traces using the Maude rewriting system from SRI International, USA. Temporal logic is defined in Maude by giving its syntax as a signature and its semantics as rewrite equations. The resulting semantics is extremely efficient and can handle event streams of hundreds of millions events in few minutes. Furthermore, the implementation is very succinct. The second form of even stream analysis supported is error pattern analysis where an execution trace is analyzed using various error detection algorithms that can identify error-prone programming practices that may potentially lead to errors in some different executions. Two such algorithms focusing on concurrency errors have been implemented in JPaX, one for deadlocks and the other for data races. It is important to note, that a deadlock or data race potential does not need to occur in order for its potential to be detected with these algorithms. This is what makes them very scalable in practice. The data race algorithm implemented is the Eraser algorithm from Compaq, however adopted to Java. The tool is currently being applied to a code base for controlling a spacecraft by the developers of that software in order to evaluate its applicability.

Havelund, Klaus↗

Update on PISCES

An updated version of the Platform Independent Software Components for the Exploration of Space (PISCES) software library is available. A previous version was reported in Library for Developing Spacecraft-Mission-Planning Software (MSC-22983), NASA Tech Briefs, Vol. 25, No. 7 (July 2001), page 52. To recapitulate: This software provides for Web-based, collaborative development of computer programs for planning trajectories and trajectory- related aspects of spacecraft-mission design. The library was built using state-of-the-art object-oriented concepts and software-development methodologies. The components of PISCES include Java-language application programs arranged in a hierarchy of classes that facilitates the reuse of the components. As its full name suggests, the PISCES library affords platform-independence: The Java language makes it possible to use the classes and application programs with a Java virtual machine, which is available in most Web-browser programs. Another advantage is expandability: Object orientation facilitates expansion of the library through creation of a new class. Improvements in the library since the previous version include development of orbital-maneuver- planning and rendezvous-launch-window application programs, enhancement of capabilities for propagation of orbits, and development of a desktop user interface.

Pearson, Don↗

Next Generation Transport Phenomenology Model

This report describes the progress made in Quarter 3 of Contract Year 3 on the development of Aeronomy Phenomenology Modeling Tool (APMT), an open-source, component-based, client-server architecture for distributed modeling, analysis, and simulation activities focused on electron and photon transport for general atmospheres. In the past quarter, column emission rate computations were implemented in Java, preexisting Fortran programs for computing synthetic spectra were embedded into APMT through Java wrappers, and work began on a web-based user interface for setting input parameters and running the photoelectron and auroral electron transport models.

Strickland, Douglas J.↗