Model-based Diagnosis: The Single Fault Case Brian C. Williams 16.412J/6.834J October 9th, 2002 9/13/00 copyright Brian Williams, 2000 courtesy of JPL Brian C. Williams, copyright 2000
act WORLD Plant actions observations P(s) Diagnostic Agent: 3/6/00 WORLD Plant actions observations P(s) sense act Diagnostic Agent: Monitors & Diagnoses Repairs & Avoids Probes and Tests AGENT Symptom-based Consistency-based 9/13/00 copyright Brian Williams, 2000
Outline Single Fault Diagnosis Explaining the symptoms Handling the unknown 9/13/00 copyright Brian Williams, 2000
Failures may be hidden: STS-93 Symptoms: Engine temp sensor high LOX level low GN&C detects low thrust H2 level low (???) Problem: Liquid hydrogen leak Effect: LH2 used to cool engine Engine runs hot Consumes more LOX 9/13/00 copyright Brian Williams, 2000
What is Fault Diagnosis? 3 M1 X F 10 B 2 A1 C 2 M2 Y D G 12 3 A2 E M3 Z 3 9/13/00 copyright Brian Williams, 2000
What is Fault Diagnosis? Model-based Diagnosis: Given a system with symptomatic behavior and a model of the system, find diagnoses that account for symptoms. A 6 Symptom 12 3 M1 X F 10 B 2 A1 6 C 2 M2 Y D G 12 3 A2 E M3 Z 3 9/13/00 copyright Brian Williams, 2000
What is Fault Diagnosis? Model-based Diagnosis: Given a system with symptomatic behavior and a model of the system, find diagnoses that account for symptoms. A 6 Symptom 12 3 M1 X F 10 B 2 A1 6 C 2 M2 Y D G 12 3 A2 E M3 Z 3 9/13/00 copyright Brian Williams, 2000
Standard Diagnostic Approach Generate candidates from symptoms Test if candidates account for symptoms. Diagnoses should be complete. Diagnoses should exploit all available information. 9/13/00 copyright Brian Williams, 2000
Outline Single Fault Diagnosis Explaining the symptoms Handling the unknown 9/13/00 copyright Brian Williams, 2000
How Should Diagnoses Account for Symptoms? Abductive Diagnosis: Given symptoms, find diagnoses that predict symptoms. A 6 Symptom 12 3 M1 X F 10 B 2 A1 6 C 2 M2 Y D G 12 3 A2 E M3 Z 3 M1: Drops low bit on A 9/13/00 copyright Brian Williams, 2000
Single Fault, Abductive Diagnosis by Generate and Test 3/6/00 Single Fault, Abductive Diagnosis by Generate and Test Given: Exhaustive fault models for each component. Generate: Consider each single fault mode as a candidate. Test: 1. Simulate candidate, given inputs. 2. Compare to observations. Disagree: Discard Agree: Keep No prediction: Discard If all fault models discarded, the component okay (exonerate) Problem: Fault models may be incomplete May incorrectly exonerate faulty components 9/13/00 copyright Brian Williams, 2000
Outline Single Fault Diagnosis Explaining the symptoms Handling the unknown 9/13/00 copyright Brian Williams, 2000
Failures are Often Novel Mars Observer Mars Climate Orbiter Mars Polar Lander Deep Space 2 courtesy of JPL 9/13/00 copyright Brian Williams, 2000
9/13/00 copyright Brian Williams, 2000
How Should Diagnoses Account for Novel Symptoms? Consistency-based Diagnosis: Given symptoms, find diagnoses that are consistent with symptoms. Constraint Suspension: Make no presumptions about faulty component behavior. 6 12 Symptom M1 M2 M3 A1 A2 A B C D E 3 2 F G X Y Z 10 9/13/00 copyright Brian Williams, 2000
How Should Diagnoses Account for Novel Symptoms? Consistency-based Diagnosis: Given symptoms, find diagnoses that are consistent with symptoms. Constraint Suspension: Make no presumptions about faulty component behavior. A 6 Symptom 12 3 M1 X F 10 B 2 A1 6 C 2 M2 Y D G 12 3 A2 E M3 Z 3 9/13/00 copyright Brian Williams, 2000
How Should Diagnoses Account for Novel Symptoms? Consistency-based Diagnosis: Given symptoms, find diagnoses that are consistent with symptoms. Constraint Suspension: Make no presumptions about faulty component behavior. A 6 3 M1 X F 10 B 2 A1 6 C 2 M2 Y D G 12 3 A2 E M3 Z 3 9/13/00 copyright Brian Williams, 2000
Single Fault Diagnosis as Constraint Suspension Find symptoms Simulate forward (limited inference) Generate candidates from symptom. Identify components in conflict Test candidates against all observations. Suspend model of candidate 9/13/00 copyright Brian Williams, 2000
1. How Do We Find Symptoms? Simplest: Forward simulation from inputs. 6 A 12 3 M1 X F 10 B 2 6 A1 C 2 M2 Y D G 3 A2 12 E M3 Z 12 6 9/13/00 copyright Brian Williams, 2000
1. How Do We Find Symptoms? Simplest: Forward simulation from inputs. Compare predictions to outputs. 6 A 12 3 M1 X F 10 B 2 6 A1 C 2 M2 Y D G 3 A2 12 E M3 Z 12 6 9/13/00 copyright Brian Williams, 2000
2. Generate Candidates: Identify Conflicts 6 A 12 3 M1 X F F 10 B 2 6 A1 C 2 M2 Y D G 3 E Z Symptom: F is observed 10, but should be 12 if M1& M2 & A1 are okay. Conflict: ok(A1) & ok(M1) & ok(M2) is inconsistent 9/13/00 copyright Brian Williams, 2000
2. Generate Candidates: Identify Conflicts 6 A 12 3 M1 X F 10 B 2 6 A1 C 2 M2 Y D G 3 E Z Symptom: F is observed 10, but should be 12 Conflict: ok(A1) & ok(M1) & ok(M2) is inconsistent Candidates: not ok(A1) or not ok(M1) or not ok(M2). 9/13/00 copyright Brian Williams, 2000
3. Test Candidates: Constraint Suspension M1 X 12 F 10 B 2 A1 C 2 M2 Y D G 3 A2 12 12 E M3 Z 3 Select candidate M1 9/13/00 copyright Brian Williams, 2000
3. Test Candidates: Constraint Suspension X F 10 B 2 A1 C 2 M2 Y D G 3 A2 12 E M3 Z 3 Select candidate M1 Suspend M1’s constraints 9/13/00 copyright Brian Williams, 2000
3. Test Candidates: Constraint Suspension X F 10 B 2 A1 6 C 2 M2 Y D G 3 A2 12 6 12 E M3 Z 3 Select candidate M1 Suspend M1’s constraints Predict forward 9/13/00 copyright Brian Williams, 2000
3. Test Candidates: Constraint Suspension M1 X F 10 B 2 C 2 M2 Y D G 3 A2 12 E M3 Z 3 Select candidate A1 Suspend A1’s constraints 9/13/00 copyright Brian Williams, 2000
3. Test Candidates: Constraint Suspension 6 3 M1 X F 10 B 2 6 C 2 M2 Y D G 3 A2 12 6 12 E M3 Z 3 Select candidate A1 Suspend A1’s constraints Predict forward 9/13/00 copyright Brian Williams, 2000
3. Test Candidates: Constraint Suspension M1 X F 10 B 2 A1 C 2 Y D G 3 A2 12 E M3 Z 3 Select candidate M2 Suspend M2’s constraints 9/13/00 copyright Brian Williams, 2000
3. Test Candidates: Constraint Suspension 6 3 M1 X F 10 B 2 A1 C 2 Y D G 3 A2 12 6 E M3 Z 3 Select candidate M2 Suspend M2’s constraints Predict forward 9/13/00 copyright Brian Williams, 2000
But is not ok(M2) consistent? A 6 3 M1 X 12 F 10 B 2 A1 6 C 2 Y D G 3 A2 12 6 E M3 Z 3 Historically: use Sussman/Steele Constraint Propagation: Propagate newly assigned values through constraints mentioning variable. To propagate, use assigned values for constraint to deduce unknown value(s) of constraint. Incomplete inference procedure Use complete SAT or CSP algorithm 9/13/00 copyright Brian Williams, 2000
Single Fault Diagnosis as Constraint Suspension Find symptoms Simulate forward Generate candidates from symptom. Identify components in conflict Test candidates against all observations. Suspend model of candidate Test consistency as a CSP or SAT problem. If consistent then it’s a diagnosis 9/13/00 copyright Brian Williams, 2000
3. Test Candidates: Constraint Suspension 6 3 M1 X 12 F 10 B 2 A1 6 C 2 Y D G 3 A2 12 6 E M3 Z 3 Summary: M1 and A1 are diagnoses, not M2. 9/13/00 copyright Brian Williams, 2000
Review: Model-based Diagnosis A failure is a discrepancy between the model and observations of an artifact. Diagnosis is symptom directed Symptoms identify conflicting components as initial candidates. Test novel failures by suspending constraints and testing consistency. 9/13/00 copyright Brian Williams, 2000