| This thesis proposes a methodology for the design of a software health monitor. The health index can be used to alert the system operator when there is a high possibility of failure.; The design methodology has been applied to two target systems. A health monitor has also been developed for one of the target systems to examine the effectiveness of the design methodology as well as the feasibility of software health monitoring. Various combinations of faults and errors were seeded into the target application to evaluate the performance of the health monitor designed using the proposed methodology. An experimental evaluation showed that for the target system, these errors were successfully detected in 76% of the evaluation runs. As well, no false positives were signalled in systems that did not contain the seeded errors. It was also observed that during the evaluation the health monitor had a low to moderate impact on the performance of the system. (Abstract shortened by UMI.)... |