Conflict-Based Diagnosis of Discrete-Event Systems Alban Grastien — Patrik Haslum — Sylvie Thi´ ebaux NICTA Funding and Supporting Members and Partners www.nicta.com.au From imagination to impact
Contribution We define a conflict-based diagnosis theory for discrete event systems Compatible with the existing conflict-based diagnosis for circuits (Reiter theory) Efficient (solve many unsolved problems) Applicable to more frameworks (e.g. hybrid systems) 2/25
Example 1 Diagnosis 2 Consistency-Based Diagnosis 3 Validation 4 3/25
Example: System TransGrid Network 10k components 4/25
Example: Observation Alarm Log (extract) Date System_Time Event Text 2/07/2009 10:47:27 BAYSWTR PS 023 NO4 GEN UNIT STATUS OFF 2/07/2009 10:47:27 BAYSWTR330 330 SYD WEST 322 CB --OPENED-- 2/07/2009 10:47:27 BAYSWTR330 330 NO4 BY/CUP 5042 CB --OPENED-- 2/07/2009 10:47:27 BAYSWTR330 330 NO4 GEN TX 5242 CB --OPENED-- 2/07/2009 10:47:27 BAYSWTR330 CONTROL SYSTEM LAN FAULT ALARM 2/07/2009 10:47:27 BAYSWTR PS 023 NO4 GEN 2242 CB --OPENED-- 2/07/2009 10:47:28 LIDDELL330 330 BAYSWTR330 332 CB --OPENED-- 2/07/2009 10:47:28 LIDDELL330 330 BAYSWTR330 342 CB --OPENED-- 2/07/2009 10:47:28 LIDDELL330 330 NO2 BY/CUP 5022 CB --OPENED-- 2/07/2009 10:47:28 LIDDELL330 330 NO3 BY/CUP 5032 CB --OPENED-- 2/07/2009 10:47:28 WANG330 FAULT RECORDER OPERATED ALARM 2/07/2009 10:47:28 BAYSWTR330 330 MAIN BUS BAR KV Limit 5 Low 2/07/2009 10:47:28 BAYSWTR330 330 GEN BUS BAR KV Limit 5 Low 2/07/2009 10:47:28 WANG330 BU SUBSTATION MISC EQUIPMENT FAIL ALARM 2/07/2009 10:47:28 SYD WEST 330 BAYSWTR330 322B B CB --OPENED-- 2/07/2009 10:47:28 SYD WEST 330 BAYSWTR330 322A A CB --OPENED-- 2/07/2009 10:47:28 MT PIPR330 330 FAULT RECORDER OPERATED ALARM 2/07/2009 10:47:28 ERARING500 SUBSTATION MISC EQUIP FAIL ALARM 2/07/2009 10:47:28 MT PIPR330 500 B BUS BAR KV Limit 3 Low 2/07/2009 10:47:28 BAYSWTR330 330 NO3 BY/CUP 5032 CB --OPENED-- 2/07/2009 10:47:28 BAYSWTR330 330 NO3 GEN TX 5232 CB --OPENED-- 2/07/2009 10:47:28 BAYSWTR330 330 REGENTVILE 312 CB --OPENED-- 2/07/2009 10:47:28 BAYSWTR PS 023 NO3 GEN 2232 CB --OPENED-- 5/25
Example 1 Diagnosis 2 Consistency-Based Diagnosis 3 Validation 4 6/25
Model-Based Diagnosis Static Systems A Mul1 B F Add1 A = B = E = 3 F = 10 C Mul2 C = D = 2 G = 12 D G Add2 Mul3 E Model Formula Φ M involving Ab literals Observation Formula Φ O Possible behaviours Φ M ∧ Φ O Diagnosis Projection on the Ab literals: ∃ X . Φ M ∧ Φ O where X are the non Ab literals, rewriten in prime implicants Ab ( Mul 1 ) ∨ Ab ( Add 1 ) ∨ ( Ab ( Mul 2 ) ∧ Ab ( Mul 3 )) ∨ ( Ab ( Mul 2 ) ∧ Ab ( Add 2 )) 7/25
Model-Based Diagnosis Discrete Event Systems SEQUENCE OF AUTOMATON OBSERVATIONS Model Language L M involving Σ f events Observation Language L O involving only observable events Σ O Possible behaviours L M ∩ L O Diagnosis Projection on the Σ f events and minimisation (removes non minimal words) L ∆ = Minimisation ( Proj Σ f ( L M ∩ L O )) 8/25
Model-Based Diagnosis General Definition Static Systems Discrete Event Systems Model Formula Φ M Model Language L M Observation Formula Φ O Observation Language L O Possible behaviours Possible behaviours Φ M ∧ Φ O L M ∩ L O Diagnosis Projection on Diagnosis Projection on the the Ab literal + prime Σ f events and minimisation implicants 9/25
MBD: Issue 10/25
MBD: Issue Boum! 10/25
MBD: Issue Static Systems The size of the formula is exponential in the number of state variables → Compilation Map (Darwiche et al.), BDD, sd-DNNF , Cone-based diagnoser, etc. Boum! 10/25
MBD: Issue Static Systems The size of the formula is exponential in the number of state variables → Compilation Map (Darwiche et al.), BDD, sd-DNNF , Cone-based diagnoser, etc. Boum! DES The size of the automata is exponential in the number of components → Decentralised / Distributed approach, Junction Trees, Specialised diagnosers, etc. 10/25
Example 1 Diagnosis 2 Consistency-Based Diagnosis 3 Validation 4 11/25
Consistency-Based MBD Check carefully-chosen hypotheses until the diagnosis is found → We do not compute all diagnosis candidates → We compute only one representative of each candidate → For each test, we derive useful information from the hypothesis at hand 12/25
Testing if a Hypothesis is a Candidate Static Systems Discrete Event Systems Φ h is a conjunct defined L h = { ω h } is a finite word on all Ab literals defined on Σ f h is a candidate iff h is a candidate iff Φ M , Φ O , Φ h �| = ⊥ L M ∩ L O ∩ L h � = ∅ 13/25
Consistency-Based MBD Preferred-First Strategy ε p f t pp pt tp fp pf tt ff ft tf 14/25
Consistency-Based MBD Preferred-First Strategy ? ε p f t pp pt tp fp pf tt ff ft tf 14/25
Consistency-Based MBD Preferred-First Strategy ε p f ? ? t ? pp pt tp fp pf tt ff ft tf Successors of hypothesis h is all its children 14/25
Consistency-Based MBD Preferred-First Strategy ε p f ? t ? pp pt tp fp pf tt ff ? ft tf But ignore successors that are covered by existing hypotheses 14/25
Consistency-Based MBD Preferred-First Strategy ε p f t ? pp pt tp fp pf tt ff ? ? ? ft ? tf 14/25
Consistency-Based MBD Preferred-First Strategy ε p f t pp pt tp fp pf tt ff ? ? ? ft ? tf Also: termination issue (not discussed here) 14/25
Conflict Principle If hypothesis h is not a candidate, the output is not very informative A conflict is a generalisation of a test failure: Why did the test fail? How to use conflicts: An earlier conflict may discard a new hypothesis Conflicts can reduce the set of successors 15/25
Conflict Example Static System A Mul1 B F Add1 A = B = E = 3 F = 10 C Mul2 C = D = 2 G = 12 D G Add2 E Mul3 Testing if no component is abnormal: Φ M , Φ O , ? ( ¬ Ab ( Mul 1 ) ∧ ¬ Ab ( Mul 2 ) ∧ ¬ Ab ( Mul 3 ) | = ⊥ ∧¬ Ab ( Add 1 ) ∧ ¬ Ab ( Add 2 )) 16/25
Conflict Example Static System A Mul1 B F Add1 A = B = E = 3 F = 10 C Mul2 C = D = 2 G = 12 D G Add2 E Mul3 Testing if no component is abnormal: Φ M , Φ O , ? ¬ Ab ( Mul 1 ) , ¬ Ab ( Mul 2 ) , ¬ Ab ( Mul 3 ) , | = ⊥ ¬ Ab ( Add 1 ) , ¬ Ab ( Add 2 ) 16/25
Conflict Example Static System A Mul1 B F Add1 A = B = E = 3 F = 10 C Mul2 C = D = 2 G = 12 D G Add2 E Mul3 Testing if no component is abnormal: Φ M , Φ O , ¬ Ab ( Mul 1 ) , ¬ Ab ( Mul 2 ) , | = ⊥ ¬ Ab ( Add 1 ) 16/25
Conflict Example Static System A Mul1 B F Add1 A = B = E = 3 F = 10 C Mul2 C = D = 2 G = 12 D G Add2 E Mul3 Testing if no component is abnormal: Φ M , Φ O , ¬ Ab ( Mul 1 ) , ¬ Ab ( Mul 2 ) , | = ⊥ ¬ Ab ( Add 1 ) Three successors: Only component Mul 1 is abnormal Only component Mul 2 is abnormal Only component Add 1 is abnormal 16/25
Conflict Example Static System A Mul1 B F Add1 A = B = E = 3 F = 10 C Mul2 C = D = 2 G = 12 D G Add2 E Mul3 Testing if no component is abnormal: Φ M , Φ O , ¬ Ab ( Mul 1 ) , ¬ Ab ( Mul 2 ) , | = ⊥ ¬ Ab ( Add 1 ) Three successors: Only component Mul 1 is abnormal Only component Mul 2 is abnormal Only component Add 1 is abnormal 16/25
Conflict Generalisation to DES If hypothesis h is not a candidate, then L M ∩ L O ∩ L h = ∅ (1) 17/25
Conflict Generalisation to DES If hypothesis h is not a candidate, then L M ∩ L O ∩ L h = ∅ (1) We reformulate L h = L 0 ∩ · · · ∩ L k L M ∩ L O ∩ L 0 ∩ · · · ∩ L k = ∅ (2) 17/25
Conflict Generalisation to DES If hypothesis h is not a candidate, then L M ∩ L O ∩ L h = ∅ (1) We reformulate L h = L 0 ∩ · · · ∩ L k L M ∩ L O ∩ L 0 ∩ · · · ∩ L k = ∅ (2) For some C = { C 0 , . . . , C k ′ } ⊆ { 0 , . . . , k } (we prefer C as small as possible), L M ∩ L O ∩ L C 0 ∩ · · · ∩ L C k ′ = ∅ 17/25
Conflict Generalisation to DES If hypothesis h is not a candidate, then L M ∩ L O ∩ L h = ∅ (1) We reformulate L h = L 0 ∩ · · · ∩ L k L M ∩ L O ∩ L 0 ∩ · · · ∩ L k = ∅ (2) For some C = { C 0 , . . . , C k ′ } ⊆ { 0 , . . . , k } (we prefer C as small as possible), L M ∩ L O ∩ L C 0 ∩ · · · ∩ L C k ′ = ∅ C = conflicts 17/25
Example Discrete Event System Σ f = { a , b , c } and L h = { a } 18/25
Example Discrete Event System Σ f = { a , b , c } and L h = { a } { a } = L 0 ∩ L 1 ∩ L 2 ∩ L 3 ∩ L 4 ∩ L 5 L 0 = Σ f ⋆ a Σ f ⋆ L 1 = (Σ f ⋆ ) \ (Σ f ⋆ a Σ f ⋆ a Σ f ⋆ ) L 2 = (Σ f ⋆ ) \ (Σ f ⋆ a Σ f ⋆ b Σ f ⋆ ) L 3 = (Σ f ⋆ ) \ (Σ f ⋆ a Σ f ⋆ c Σ f ⋆ ) L 4 = (Σ f ⋆ ) \ (Σ f ⋆ b Σ f ⋆ a Σ f ⋆ ) L 5 = (Σ f ⋆ ) \ (Σ f ⋆ c Σ f ⋆ a Σ f ⋆ ) 18/25
Example Discrete Event System Σ f = { a , b , c } and L h = { a } { a } = L 0 ∩ L 1 ∩ L 2 ∩ L 3 ∩ L 4 ∩ L 5 L 0 = Σ f ⋆ a Σ f ⋆ L 1 = (Σ f ⋆ ) \ (Σ f ⋆ a Σ f ⋆ a Σ f ⋆ ) L 3 = (Σ f ⋆ ) \ (Σ f ⋆ a Σ f ⋆ c Σ f ⋆ ) L 4 = (Σ f ⋆ ) \ (Σ f ⋆ b Σ f ⋆ a Σ f ⋆ ) Conflict: {L 0 , L 1 , L 3 , L 4 } Successors: aa , ac , and ba 18/25
Recommend
More recommend