In4090 Embedded Systems Diagnosis

WARNING: COURSE HAS BEEN DISCONTINUED!


Course Description

Imagine you are the operator of a complex system such as an airplane, or a nuclear process plant. Suddenly an alarm goes off, followed by a series of alarms only a few seconds later as the disturbance propagates through the system. Although it has become clear that this incident calls for immediate action, you are still trying to come up with a diagnosis what is really going on, in order to determine what to do next. However, time is running out ...

Imagine it's 8 am, you rush to your car for this special meeting you simply can't afford to miss, and you're already late. You turn the ignition key and ... nothing happens. Game over ...

These are the moments you wished this extremely valuable piece of equipment (like your car) had any notion of intelligence referred to as Fault Diagnosis. Fault diagnosis software continuously monitors a system such as a car, a robot, a satellite, a nuclear plant, finds the root cause in case of system malfunction (diagnosis), and predicts system faults in the future (prognosis). In the nuclear plant case, Diagnosis software would have diagnosed the root cause of the incident immediately after the first alarm, and would have suppressed the other alarms as being irrelevant and causing needless operator overload. In the case of your car, days ago diagnosis software would have diagnosed the battery to be under-performing, with the prognosis that the battery would not endure another of those severe mid-winter frost attacks.

Finding (and predicting) faults in a mechanical, electrical, and/or software system can be as complex as the system itself. Especially in emergency situations where immediate remedial action is required (e.g., a nuclear reactor overheats), human operators are not always capable of timely producing the accurate diagnosis that is required to determine the proper course of action. Diagnosis software can provide the intelligence to assist of even replace humans in this diagnostic context.

In this course, you will learn about how to diagnose faults in hardware as well as in (embedded) software. The prevailing approach to hardware fault diagnosis is called Model-Based Diagnosis (MBD) where fault diagnosis algorithms consult a model of the system in order to find the actual faults. The prevaiuling approach in software is called Spectrum-based Software Fault Localization (SFL) and uses a statistical approach to generate a list of statements (or functions) that are suspected to contain a defect. This course provides an introduction into the principles of fault diagnosis, and MBD, and SFL in particular.

Course Format

TENTATIVE - SUBJECT TO CHANGE WITHOUT NOTICE.
The course takes place in the first quarter. After a few lectures students will receive an individual assignment which has to be completed with a written report, which is graded. This grade is part of the final grade (there will also be a written exam).

Course Resources

There is no text book or lecture notes available for this course, other than the lecture sheets and papers that are generally downloadable from the internet.
Arjan J.C. van Gemund Instructor