Single Fault Diagnosis w Conflicts: Generate Candidates From Symptom Single Fault w Conflicts(M, X, Obs) IModel m. mode variables x observation obs 1. Assume all components okay, All Good={X=G|X∈Ⅹ} Conflict∈- Test Candidate(A∥Good,M,Obs) 3. If Conflict="consistent return all good 4. Generate single fault candidates Cands←{X=UZ=G|X=G∈ Conflict,z=X- 5. Test Candidates(Cands, M, Obs) 10/03/03 copyright Brian Williams, 2003 16
10/03/03 copyright Brian Williams, 2003 16 Single Fault Diagnosis w Conflicts: Generate Candidates From Symptom Single_Fault_w_Conflicts(M, X, Obs) \\ Model M, Mode variables X, Observation Obs 1. Assume all components okay, All_Good = { x=G | x X} 2. Conflict m Test_Candidate(All_Good, M, Obs) 3. If Conflict = “consistent” return All_Good 4. Generate single fault candidates Cands m {{x=U} Z=G | x=G Conflict, Z=X-{x}} 5. Test_Candidates(Cands, M, Obs)
Generate Candidates From Symptom Orl And1 Or2 Symptom And2 G E Or Symptom: F is observed 0, but should be 1 Conflict: 01=G,03=G, Al=G, A2=G) is inconsistent Candidates: 01=U,03=U,Al=U, A2=G) 10/03/03 copyright Brian Williams, 2003 17
10/03/03 copyright Brian Williams, 2003 17 Symptom: F is observed 0, but should be 1 Conflict: {O1=G, O3=G, A1=G, A2=G} is inconsistent Candidates: {O1=U, O3=U, A1=U, A2=G} Generate Candidates From Symptom Symptom 1 0 Or1 Or2 Or3 And1 And2 A B C D E F G X Y Z 1 1 1 1 0 0 1 1 0
Single Fault Diagnosis w Conflicts: Test Candidates Collecting Conflicts Single Fault Test Candidates(C,M, Obs) l Candidates C Mode/M. observation obs Solutions←, Conflicts←- For each c in C If c is a superset of some conflict in Conflicts Then inconsistent candidate ignore Else Conflict= Test Candidate(c, M, Obs) If Conflict ="consistent Then add c to solutions Else add Conflict to conflicts return Solutions 10/03/03 copyright Brian Williams, 2003 18
10/03/03 copyright Brian Williams, 2003 18 Single Fault Diagnosis w Conflicts: Test Candidates Collecting Conflicts Single_Fault_Test_Candidates(C,M, Obs) \\ Candidates C, Model M, Observation Obs Solutions m {}, Conflicts m {} For each c in C If c is a superset of some conflict in Conflicts Then inconsistent candidate, ignore. Else Conflict = Test_Candidate(c, M, Obs) If Conflict = “consistent” Then add c to Solutions Else add Conflict to Conflicts return Solutions
Test Candidates Collecting Conflicts Candidates:(01=U.,(03=U ,(A1=U ,(A3=U.) Solutions: Orl 11110 B F!0 Andl Or2 And2G E Or3Z First candidate Ol=U 10/03/03 copyright Brian Williams, 2003 19
10/03/03 copyright Brian Williams, 2003 19 Test Candidates Collecting Conflicts Or1 1 1 1 1 0 Or2 Or3 And1 And2 A B C D E F G X Y Z 0 1 1 1 • First candidate {O1=U, …} Candidates: {{O1=U…}, {O3=U…}, {A1=U…}, {A3=U…}} Solutions: {}
Test Candidates Collecting Conflicts Candidates:(01=U.,(03=U ,(A1=U ,(A3=U.) Solutions: 11110 B Andl Or2 And2G E Or3Z · First candidate O1=U,…} Suspend ols constraints 10/03/03 copyright Brian Williams, 2003 20
10/03/03 copyright Brian Williams, 2003 20 1 1 1 1 0 Or2 Or3 And1 And2 A B C D E F G X Y Z 0 1 • First candidate {O1=U, … } • Suspend O1’s constraints Test Candidates Collecting Conflicts Candidates: {{O1=U…}, {O3=U…}, {A1=U…}, {A3=U…}} Solutions: {}