Search NASA⌕ Search

SEARCH · Search NASA

Results for “Software errors”

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 127 records · Page 7

Implementation of an experimental program to investigate the performance characteristics of OMEGA navigation

A theoretical formulation of differential and composite OMEGA error is presented to establish hypotheses about the functional relationships between various parameters and OMEGA navigational errors. Computer software developed to provide for extensive statistical analysis of the phase data is described. Results from the regression analysis used to conduct parameter sensitivity studies on differential OMEGA error tend to validate the theoretically based hypothesis concerning the relationship between uncorrected differential OMEGA error and receiver separation range and azimuth. Limited results of measurement of receiver repeatability error and line of position measurement error are also presented.

Baxa, E. G., Jr.↗

Software reliability: Application of a reliability model to requirements error analysis

The application of a software reliability model having a well defined correspondence of computer program properties to requirements error analysis is described. Requirements error categories which can be related to program structural elements are identified and their effect on program execution considered. The model is applied to a hypothetical B-5 requirement specification for a program module.

Logan, J.↗

Using Visual Odometry to Estimate Position and Attitude

A computer program in the guidance system of a mobile robot generates estimates of the position and attitude of the robot, using features of the terrain on which the robot is moving, by processing digitized images acquired by a stereoscopic pair of electronic cameras mounted rigidly on the robot. Developed for use in localizing the Mars Exploration Rover (MER) vehicles on Martian terrain, the program can also be used for similar purposes on terrestrial robots moving in sufficiently visually textured environments: examples include low-flying robotic aircraft and wheeled robots moving on rocky terrain or inside buildings. In simplified terms, the program automatically detects visual features and tracks them across stereoscopic pairs of images acquired by the cameras. The 3D locations of the tracked features are then robustly processed into an estimate of overall vehicle motion. Testing has shown that by use of this software, the error in the estimate of the position of the robot can be limited to no more than 2 percent of the distance traveled, provided that the terrain is sufficiently rich in features. This software has proven extremely useful on the MER vehicles during driving on sandy and highly sloped terrains on Mars.

Maimone, Mark↗

Dynamic assertion testing of flight control software

Digital Flight Control System (DFCS) software was used as a test case for assertion testing. The assertions were written and embedded in the code, then errors were inserted (seeded) one at a time and the code executed. Results indicate that assertion testing is an effective and efficient method of detecting errors in flight software. Most errors are eliminate at an earlier stage in the development than before.

Andrews, D. M.↗

Air data measurement using distributed processing and fiber optics data transmission

Distributed processing, fiber optics technology, and redundancy management in the aircraft environment are discussed. The project features the development of an angle-of-attack and sideslip data collection system hich features: (1) two independent microprocessor controlled data collection and calibration units; (2) transmission of data to the control system on a fiber optic data bus; and (3) software implemented error detection and recovery.

Farry, K. A.↗

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

The general inadequacy of Ada for programming systems that must survive processor loss was shown. A solution to the problem was proposed in which there are no syntatic changes to Ada. The approach was evaluated using a full-scale, realistic application. The application used was the Advanced Transport Operating System (ATOPS), an experimental computer control system developed for a modified Boeing 737 aircraft. The ATOPS system is a full authority, real-time avionics system providing a large variety of advanced features. Methods of building fault tolerance into concurrent systems were explored. A set of criteria by which the proposed method will be judged was examined. Extensive interaction with personnel from Computer Sciences Corporation and NASA Langley occurred to determine the requirements of the ATOPS software. Backward error recovery in concurrent systems was assessed.

Knight, J. C.↗

Hubble Space Telescope six-battery nickel-cadmium mission simulation test

A simulation test of the six-battery nickel-cadmium mission to determine battery life and electrical power system (EPS) performance characteristics for the Hubble Space Telescope (HST) program, is described. The basic HST power system requirements are to provide power generation, energy storage, and EPS control and distribution for 2.5 years with the nickel-cadmium (NiCd) batteries at an end of life solar array of 2 years. Mission simulation life testing begain in April of 1986, and the batteries have completed their 2.5 year mission requirement. Conditions as close as practical to the actual predicted mission profiles were used. These included solar array degradation, load variations, beta angle changes, temperature changes (with excursions to 10 C), battery reconditioning, safemode simulations, and off-normal roll activities. Discounting system cycling interruptions caused by hardware, software, human error, and periodic updates and revisions, the HST EPS breadboard hardware operated continuously for 30 months and demonstrated the power system's ability to meet the HST requirement.

Jackson, Lorna G.↗

SCATHA mission termination report

The SCATHA (Spacecraft Charging at High Altitudes) satellite was operated from the Consolidated Space Test Center in Sunnyvale, California from February 1979 to May 1991. It was a spin stabilized vehicle in a highly eccentric orbit that collected data on spacecraft charging. The purpose of such data gathering was to predict and/or model the effects of the Earth's magnetic field on synchronous and near synchronous satellites. During the majority of its lifetime, attitude precession maneuvers were done every 10-15 days to maintain solar panel orientation. Maneuver planning was difficult due to the structural characteristics of SCATHA. It is cylindrically shaped and has seven booms ranging in length from 2 to 50 meters. These precession maneuvers induced predictable nutation that damped out after a few days. Eventually fuel began running low due to these frequent maneuvers. Experiments that had required the spin axis be in the orbit plane had already been turned off or had collected all their data. To increase the vehicle lifetime, the spin axis was moved to ecliptic normal. While this stopped the need for frequent attitude maneuvering (only two per year required now), this movement of the spin axis caused nutation that would not damp out for the remainder of the mission. This phase of the mission, with the ecliptic normal orientation, lasted for approximately three years. Although nutation never damped, data gathering was uninterrupted. In late 1990, when SCATHA's transmitter became seriously degraded, the Air Force decided to turn SCATHA off. This would only be done after the satellite was made 'safe'. The most difficult part of making the vehicle safe was quickly purging the fuel. Several plans were considered. The selected plan was to perform a series of 20 degree attitude precession maneuvers (3 days apart to allow for the worst nutation to damp) until the fuel was depleted. Although this sounded simple, the actual execution proved difficult. This was due to a nearly complete lack of available telemetry data, large undamped motion of the long booms, inadequacies in attitude determination software, and an error in the fuel level calculation software. This paper discusses the various proposed termination plans and execution of the selected one. Attitude determination methodologies, nutation from maneuvers, and effects of the flexible booms on the termination mission are presented and analyzed from a satellite analyst point of view.

Stakkestad, Kjell↗

Fast Formal Analysis of Requirements via "Topoi Diagrams"

Early testing of requirements can decrease the cost of removing errors in software projects. However, unless done carefully, that testing process can significantly add to the cost of requirements analysis. We show here that requirements expressed as topoi diagrams can be built and tested cheaply using our SP2 algorithm, the formal temporal properties of a large class of topoi can be proven very quickly, in time nearly linear in the number of nodes and edges in the diagram. There are two limitations to our approach. Firstly, topoi diagrams cannot express certain complex concepts such as iteration and sub-routine calls. Hence, our approach is more useful for requirements engineering than for traditional model checking domains. Secondly, out approach is better for exploring the temporal occurrence of properties than the temporal ordering of properties. Within these restrictions, we can express a useful range of concepts currently seen in requirements engineering, and a wide range of interesting temporal properties.

Menzies, Tim↗

Numerical simulation of controlled large space structures

Large Space Structures do not have much damping, which necessitates the installation of a controller onto the structure. If the controller is improperly designed, the structure may become unstable and be destroyed. Since Large Space Structures are extremely expensive pieces of hardware, new controllers must not be tested first on the structure. They must first be tested in computer simulations. Until now, the usual procedure for simulating controlled Large Space Structures is to compute a reduced order modal representation of the structure and then apply the controller. However, this procedure entails modal truncation error. A new software package which is free from this error is currently under development within the Center for Space Construction. The more accurate finite element representation of the structure is used in the simulation, instead of the less accurate reduced order modal representation. This software also features an efficient matrix storage scheme, which effectively deals with the asymmetric system matrices which occur when control is added to the structure. Also, an integration algorithm was chosen so that the simulation is a reliable indicator of system stability or instability. The software package is fairly general in nature. Linearity of the finite element model and of the controller is the only assumption made. Actuator dynamics, sensor dynamics, noise, and disturbances can be handled by the package. In addition, output feedback of displacement, velocity, and/or acceleration signals can be simulated. Kalman state estimation was also implemented. This software was tested on a finite element model of a real Large Space Structure: The Mini-Mast Truss. Mini-Mast is a testbed at NASA-Langley which is currently under development. A 714 degree of freedom finite element model was computed, and a 19 state controller was designed for it. Torque wheel dynamics were added to the model, and the entire closed loop system was simulated with the software package.

Quan, Ralph↗

Mars Science Laboratory Boot Robustness Testing

Mars Science Laboratory (MSL) is one of the most complex spacecrafts in the history of mankind. Due to the nature of its complexity, a large number of flight software (FSW) requirements have been written for implementation. In practice, these requirements necessitate very complex and very precise flight software with no room for error. One of flight software's responsibilities is to be able to boot up and check the state of all devices on the spacecraft after the wake up process. This boot up and initialization is crucial to the mission success since any misbehavior of different devices needs to be handled through the flight software. I have created a test toolkit that allows the FSW team to exhaustively test the flight software under variety of different unexpected scenarios and validate that flight software can handle any situation after booting up. The test includes initializing different devices on spacecraft to different configurations and validate at the end of the flight software boot up that the flight software has initialized those devices to what they are suppose to be in that particular scenario.

mission phases↗

Constraint checking during error recovery

The system-level software onboard a spacecraft is responsible for recovery from communication, power, thermal, and computer-health anomalies that may occur. The recovery must occur without disrupting any critical scientific or engineering activity that is executing at the time of the error. Thus, the error-recovery software may have to execute concurrently with the ongoing acquisition of scientific data or with spacecraft maneuvers. This work provides a technique by which the rules that constrain the concurrent execution of these processes can be modeled in a graph. An algorithm is described that uses this model to validate that the constraints hold for all concurrent executions of the error-recovery software with the software that controls the science and engineering activities of the spacecraft. The results are applicable to a variety of control systems with critical constraints on the timing and ordering of the events they control.

Lutz, Robyn R.↗

Transient Faults in Computer Systems

A powerful technique particularly appropriate for the detection of errors caused by transient faults in computer systems was developed. The technique can be implemented in either software or hardware; the research conducted thus far primarily considered software implementations. The error detection technique developed has the distinct advantage of having provably complete coverage of all errors caused by transient faults that affect the output produced by the execution of a program. In other words, the technique does not have to be tuned to a particular error model to enhance error coverage. Also, the correctness of the technique can be formally verified. The technique uses time and software redundancy. The foundation for an effective, low-overhead, software-based certification trail approach to real-time error detection resulting from transient fault phenomena was developed.

Masson, Gerald M.↗

Tools Ensure Reliability of Critical Software

In November 2006, after attempting to make a routine maneuver, NASA's Mars Global Surveyor (MGS) reported unexpected errors. The onboard software switched to backup resources, and a 2-day lapse in communication took place between the spacecraft and Earth. When a signal was finally received, it indicated that MGS had entered safe mode, a state of restricted activity in which the computer awaits instructions from Earth. After more than 9 years of successful operation gathering data and snapping pictures of Mars to characterize the planet's land and weather communication between MGS and Earth suddenly stopped. Months later, a report from NASA's internal review board found the spacecraft's battery failed due to an unfortunate sequence of events. Updates to the spacecraft's software, which had taken place months earlier, were written to the wrong memory address in the spacecraft's computer. In short, the mission ended because of a software defect. Over the last decade, spacecraft have become increasingly reliant on software to carry out mission operations. In fact, the next mission to Mars, the Mars Science Laboratory, will rely on more software than all earlier missions to Mars combined. According to Gerard Holzmann, manager at the Laboratory for Reliable Software (LaRS) at NASA's Jet Propulsion Laboratory (JPL), even the fault protection systems on a spacecraft are mostly software-based. For reasons like these, well-functioning software is critical for NASA. In the same year as the failure of MGS, Holzmann presented a new approach to critical software development to help reduce risk and provide consistency. He proposed The Power of 10: Rules for Developing Safety-Critical Code, which is a small set of rules that can easily be remembered, clearly relate to risk, and allow compliance to be verified. The reaction at JPL was positive, and developers in the private sector embraced Holzmann's ideas.

Source record↗

An inertial velocity reference for the NASA airborne Doppler lidar

The following four tasks were studied: (1) modification of the calibration routines to calibrate the Inertial Measurement Unit gyroscope drifts with fixed platform heading; (2) modification of the calibration routines to calibrate the Inertial Measurement Unit accelerometers; (3) checking overall software again for errors; and (4) providing documentation on the above work describing changes to the present software, results of these changes and future operating procedures.

Keck, Thomas S.↗

Injecting Errors for Testing Built-In Test Software

Two algorithms have been conceived to enable automated, thorough testing of Built-in test (BIT) software. The first algorithm applies to BIT routines that define pass/fail criteria based on values of data read from such hardware devices as memories, input ports, or registers. This algorithm simulates effects of errors in a device under test by (1) intercepting data from the device and (2) performing AND operations between the data and the data mask specific to the device. This operation yields values not expected by the BIT routine. This algorithm entails very small, permanent instrumentation of the software under test (SUT) for performing the AND operations. The second algorithm applies to BIT programs that provide services to users application programs via commands or callable interfaces and requires a capability for test-driver software to read and write the memory used in execution of the SUT. This algorithm identifies all SUT code execution addresses where errors are to be injected, then temporarily replaces the code at those addresses with small test code sequences to inject latent severe errors, then determines whether, as desired, the SUT detects the errors and recovers

Gender, Thomas K.↗