Over the last 25 years, the Computer Science community and particularly the Artificial Intelligence community have developed a framework for system diagnosis, called Model-Based Diagnosis. This framework is extremely general and covers a broad range of capabilities including detecting malfunctions, isolating faulty components, handling multiple faults, identifying repair actions, and automatically generating embedded software. Examples will be drawn from digital circuits and production line equipment.
de Kleer, J. Model-based diagnosis. Tutorial at the International Conference on Prognostics & Health Management (PHM08); 2008 October 6-9; Denver, CO.