Select Page

On July 4, 1997, Pathfinder landed successfully in the Ares Vallis region of Mars. The spacecraft was a robotic embedded system, designed to collect samples, capture video images and transmit meteorological readings back to Earth. Unfortunately, in its third week of operation, the Pathfinder encountered problems that required a total system reset (Cook and Spear, 1998), resulting in long data acquisition delays (Durkin, 1998).

It took three weeks (Durkin, 1998) for the engineers at the Jet Propulsion Laboratory (JPL), to remotely diagnose the problem. The software bug was eventually fixed following extensive simulations lasting eighteen hours (Durkin, 1998). Once the software in the spacecraft was updated, it again became fully operational.

In many ways, the successful debugging of the Pathfinder can be seen as a significant achievement. Despite the device being millions of miles away on another planet, programmers were able to restore it to normal operation. However, if we factor in that it took, what is probably one of the most advanced engineering teams on the planet, around three weeks to address the problem the success is not quite so impressive. For instance; had this been a manned mission, and the failure involved a critical function, the astronauts may not have survived for three weeks.

The importance of rapid testing and verification has already been acknowledged in aerospace, automobile and military domains. For example, NASA and ESA (Sha et al., 2004) have sponsored extensive studies into the impact of costs incurred during development phases and assessment prior to design. In addition, the need to use appropriate software architecture to ensure the testability of complex real-time systems has been noted by scholars (e.g. Kopetz (1991), Scheler, (2006), Thane (2000) and Xu, (2003)). However, there is not yet broad acceptance over the best way to design such systems in order to reduce testing costs.