Distributed Diagnosis of Discrete-Event Systems Using ...€¦ · Introduction • Why fault...
Transcript of Distributed Diagnosis of Discrete-Event Systems Using ...€¦ · Introduction • Why fault...
Distributed Diagnosis of Discrete-EventSystems Using Petri Nets
Sahika Genc and Stephane Lafortune
Department of Electrical Engineering and Computer Science,University of Michigan,
{sgenc,stephane}@eecs.umich.edu; www.eecs.umich.edu/umdes
June 25, ATPN 2003, Eindhoven, Netherlands
Outline
• Introduction
• Centralized Diagnosis
• Distributed Diagnosis with Communication
• Main Result
• Summary
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 1
Introduction
• Why fault diagnosis?
? Limited sensor information: Faults are unobservable events.
• Problem:
? Detect and isolate faults during the operation of the system.
• Model-based approach: Normal and failed behaviour.
? Discrete-Event System(DES) models are adequate for large class offaults.
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 2
Introduction: Previous Work
• DES Modelling Formalism: Automata (languages)
? “Failure Diagnosis Using Discrete Event Models” by M. Sampath, R.Sengupta, S. Lafortune, K. Sinnamohideen, and D. Teneketzis IEEETransactions on Control Systems Technology Vol. 4, No. 2, March1996, pp. 105-124
? “Diagnosability of Discrete Event Systems” by M. Sampath, R.Sengupta, S. Lafortune, K. Sinnamohideen, and D. Teneketzis IEEETransactions on Automatic Control Vol. 40, No. 9, September 1995,pp. 1555-1575
• Previous theory successfully applied to ...
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 3
Introduction: Areas of Application
• HEATING, VENTILATION AND AIR CONDITIONING SYSTEMS
Sinnamohideen, Sampath, et al., Johnson’s Control Inc.
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 4
Introduction: Areas of Application
• DOCUMENT PROCESSING SYSTEMSSampath, et al., Xerox Corp.
Document Centre 265 DC/LP/ST
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 5
Introduction: Areas of Application
• AUTOMATED HIGHWAY SYSTEMS(AHS)
Sengupta, et al., PATH, UC-Berkeley
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 6
Introduction: Diagnoser Approach
• Previous work: Solution methodology based on diagnoser automata.
Theory of diagnosability Which faults can be diagnosed?
Online diagnosis How to diagnose?
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 7
Introduction: Diagnoser Approach
• Previous work: Solution methodology based on diagnoser automata.
Theory of diagnosability Which faults can be diagnosed?
Online diagnosis How to diagnose?
• Objective: Develop an analogous methodology based on Petri netmodels and deal with distributed systems.
• Why Petri nets?
? A good mathematical tool to model concurrent, asynchronous anddistributed systems.
• Online diagnosis.
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 7
Outline
• Introduction
• Centralized Diagnosis
• Distributed Diagnosis with Communication
• Main Result
• Summary
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 8
Centralized Diagnosis: Notation
• A Petri net graph: N = 〈P, T,A, w〉.
• A labeled Petri net: (N ,Σ, l, x0, f).
• The labeling function: l : T → Σ.
• The labeling function is extended to strings of transitions: l : T ∗ → Σ∗
l(t) = a, l(t′) = a′ ⇒ l(tt′) = l(t)l(t′) = aa′.
• The set of events: Σ = Σo ∪ Σuo.
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 9
Centralized Diagnosis
N Nd
System
LabeledPetri Net
LabeledPetri Net
Diagnoser
• The system to be diagnosed is modelled by a labeled Petri net.
• The diagnoser is a labeled Petri net.
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 10
Centralized Diagnosis
N Nd
System DiagnoserObservable
EventFaultType
LabeledPetri Net
LabeledPetri Net
• The system to be diagnosed is modelled by a labeled Petri net.
• The diagnoser is a labeled Petri net.
• The Petri net diagnoser observes the system online and outputs whichfault types have occurred.
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 10
Centralized Diagnosis
The diagnoser for the labeled Petri net (N ,Σ, l, x0, f) is
Nd = (N ,Σ, l, xd0,∆f , fd)
where
• xd0 is the initial diagnoser state,
• ∆f = {F1, . . . , Fk}: Finite set of fault types,
• fd: Diagnoser state transition function.
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 11
Centralized Diagnosis: Diagnoser States
Diagnoser state =States F1 · · ·Fk[
|||
]
• A diagnoser state has multiple states(markings).
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 12
Centralized Diagnosis: Diagnoser States
Diagnoser state =States F1 · · ·Fk[
|||
]
• A diagnoser state has multiple states(markings).
• Each state in the diagnoser state has a fault label. The fault labelshows which type of faults have occurred.
? If a fault of type i has occurred, then the ith entry in the fault labelis 1, otherwise 0.
• The fault label of the initial state, x0, is lx0f = [0 . . . 0].
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 12
Centralized Diagnosis: Diagnoser States
Given (N ,Σ, l, x0, f) and Nd = (N ,Σ, l, xd0,∆f , fd),
• Unobservable reach of a state x, UR(x), is found by firing thetransitions labeled with unobservable events.
• The initial diagnoser state is the unobservable reach of the initial stateof the system:
xd0 = UR(x0lx0f ).
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 13
Centralized Diagnosis: Example
uo f1 a
uo a a e
p1
t1
t4
t2
t5
t3
t6 t7
p4
p7
p2
p5
p8
p3
p6
p9 p10
N
uo f1 a
uo a a e
p1
t1
t4
t2
t5
t3
t6 t7
p4
p7
p2
p5
p8
p3
p6
p9 p10
Nd**
**
**
xd0 =
[1 1 1 0 0 0 0 0 0 0 | 0 00 1 1 1 0 0 0 0 0 0 | 0 00 0 1 0 1 0 0 0 0 0 | 1 00 1 1 0 0 0 1 0 0 0 | 0 0
] •�4∗
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 14
Centralized Diagnosis: Diagnoser States
Given (N ,Σ, l, x0, f) and Nd = (N ,Σ, l, xd0,∆f , fd)
• If a ∈ Σo is feasible from the diagnoser state x,
? S(x, a) is the set of states reached from the states of x by firingtransitions labeled with a,
? The next diagnoser state x′ = fd(x, a) is found as
x′ = ∪s∈S(x,a)UR(s).
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 15
Centralized Diagnosis: Example
uouo f1f1 aa
uouo aa aa ee
p1p1
t1t1
t4t4
t2t2
t5t5
t3t3
t6t6 t7t7
p4p4
p7p7
p2p2
p5p5
p8p8
p3p3
p6p6
p9p9p10p10
N : xd d0 N : xd d1
**
**
****
**
a
xd1 = fd(xd0, a) =
1 0 0 0 0 1 0 0 0 0 | 0 00 0 0 1 0 1 0 0 0 0 | 0 00 1 1 0 0 0 0 0 1 0 | 1 00 0 0 0 0 1 1 0 0 0 | 0 00 1 1 0 0 0 0 1 0 0 | 0 0
•�4∗�
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 16
Centralized Diagnosis
Certain or Uncertain?
Diagnoser state =F1 F2 F3[
| 1 0 1| 1 0 1| 1 0 0
]
• Certain?
? Fault of type 1 (F1) has occurred.? Fault of type 2 (F2) has not occurred.
• Uncertain?
? Fault of type 3 (F3) may or may not have occurred.
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 17
Outline
• Introduction
• Centralized Diagnosis
• Distributed Diagnosis with Communication
• Main Result
• Summary
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 18
Distributed Diagnosis with Communication
• Objective : Achieve same performance of centralized diagnosis withdistributed diagnosis.
• Why distributed diagnosis? System to be diagnosed is
? too large to perform centralized diagnosis
� large automated manufacturing systems, etc.? truly distributed
� networked systems, etc.
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 19
Distributed Diagnosis with Communication: Centralizedvs. Distributed
Centralized Diagnosis
N Nd
System DiagnoserObservable
EventFaultType
Distributed Diagnosis with Communication
Nd,1Nd,1
Nd,2Nd,2
FiFi
FjFj
System
Diagnoser
Diagnoser
Observable Event ofFirst Diagnoser
Observable Event ofSecond Diagnoser
FaultType
FaultType
Communication
N1N1
NN
N2N2
CommonPlaces
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 20
Distributed Diagnosis with Communication
• Based on design considerations, the labeled Petri net (N ,Σ, l, x0, f) ispartitioned into two labeled Petri nets (N1,Σ1, l1, x0,1, f1) and(N2,Σ2, l2, x0,2, f2) as follows
? Σ = Σ1∪Σ2,
? ∀t ∈ T if l(t) ∈ Σ1, then t ∈ T1; ∀t ∈ T if l(t) ∈ Σ2, then t ∈ T2,
? P1 = ∪t∈T1 (I(t) ∪O(t)), P2 = ∪t∈T2 (I(t) ∪O(t)).Result: Common places; disjoint sets of events, transitions and arcs.
N1N1
NN
N2N2
CommonPlaces
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 21
Distributed Diagnosis with Communication
• The partitions must satisfy the following assumptions
1. ∀t ∈ T if (I(t) ∪O(t)) ∩ (P1 ∩ P2) 6= ∅ , then l(t) ∈ Σo.2. ∀t1 ∈ T1 and ∀t2 ∈ T2, if l(t1) ∈ ΣFi and l(t2) ∈ ΣFj, then i 6= j.
N1N1NN
N2N2
CommonPlaces
so
s’os’o
s’o
so
so
N1N1NN
N2N2
Fi
Fj
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 22
Centralized vs. Distributed
Centralized Diagnosis
N Nd
System DiagnoserObservable
EventFaultType
Distributed Diagnosis with Communication
Nd,1Nd,1
Nd,2Nd,2
FiFi
FjFj
System
Diagnoser
Diagnoser
Observable Event ofFirst Diagnoser
Observable Event ofSecond Diagnoser
FaultType
FaultType
Communication
N1N1
NN
N2N2
CommonPlaces
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 23
Distributed Diagnosis with Communication: Messages
• Given Pc the set of common places, define the weighting vector
WPc(t) = [w(t, p1)− w(p1, t), . . . , w(t, p|Pc|)− w(p|Pc|, t)].
• x; label lxmt→ x′ = f(x, t); lx
′m
lx′
m = [ lxm, WPc(t) ],
i.e., message label records how many tokens are put into or removedfrom the common places.
• The message label of the initial state is the empty matrix, lx0m = [ ].
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 24
Distributed Diagnosis with Communication: Messages
• The message label of a diagnoser state is the listing of the messagelabels of each state(row) in the diagnoser state.
• Message sent is the message label of the diagnoser state.
x′d = fd(xd, σo) ⇒
x′d =
States Fault T. lxdm WPc[
| || || |
]︸ ︷︷ ︸
MESSAGE
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 25
Distributed Diagnosis with Communication: Messages
• s ∈ Σ∗o and xd = fd(xd0, s) is defined, then the length of the message
label is|lxd
m | ≤ |s||Pc|.
• Consider the message label lm = [A, B].
? If B is the zero matrix, then
lm = [A].
? If all the rows of A are same, then
Truncate(lm) = [B].
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 26
Distributed Diagnosis with Communication
Algorithm DDC: Given that the sequence s = σo0σo1 . . . σon is observedwhere |s| = n + 1, initialize the algorithm i := 0.
Upon observation of σoi do
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 27
Distributed Diagnosis with Communication
Algorithm DDC: Given that the sequence s = σo0σo1 . . . σon is observedwhere |s| = n + 1, initialize the algorithm i := 0.
Upon observation of σoi do { If σoi ∈ Σ1, then go to 1, else go to 2 }
1. {Master is Nd,1 }1.1 Find the next diagnoser state.
1.2 If no message is created, then go to step (1.4).1.3 Send message to Nd,2. Nd,2 “updates” its diagnoser state upon
reception of this message.
1.4 If possible, truncate message labels.
1.5 Increment i.
2. {Master is Nd,2 } Same as 1, but exchange 1 and 2 in every expression.
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 27
Distributed Diagnosis with Communication: Example
uo f1 a
uo
a
a a
p1
t1
t4
t8
t2
t5
t3
t6
p4
p7
p11
p2
p5
p8
p3
p6
p9
N1
e
h
e
f2
h
e
g
e
f2
g
t12
t16
t9
t13
t17
t10
t14
t7
t11
t15
p11
p15
p8
p12
p16
p3
p6p9
p13 p10
p14
N2
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 28
Distributed Diagnosis with Communication: Example
uo f1 a
uo
a
a a
p1
t1
t4
t8
t2
t5
t3
t6
p4
p7
p11
p2
p5
p8
p3
p6
p9
N1
****
**
1 2 3 4 5 6 7 8 9 11
x01 =
[1 1 1 0 0 0 0 0 0 0 |00 1 1 1 0 0 0 0 0 0 |00 0 1 0 1 0 0 0 0 0 |10 1 1 0 0 0 1 0 0 0 |1
] •�4∗
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 29
Distributed Diagnosis with Communication: Example
e
h
e
f2
h
e
g
e
f2
g
t12
t16
t9
t13
t17
t10
t14
t7
t11
t15
p11
p15
p8
p12
p16
p3
p6p9
p13 p10
p14
N2
3 6 8 9 10 11 12 13 14 15 16
x02 = [ 1 0 0 0 0 0 0 0 0 0 0 |0 ]
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 30
Distributed Diagnosis with Communication: Example
Upon observation of a ∈ Σ1,
• fd,1(x01, a) = x1
1
1 2 3 4 5 6 7 8 9 11 3 6 8 9 11
x11 =
1 0 0 0 0 1 0 0 0 0 |0| −1 1 0 0 00 0 0 1 0 1 0 0 0 0 |0| −1 1 0 0 00 1 1 0 0 0 0 1 0 0 |0| 0 0 1 0 00 1 1 0 0 0 0 0 1 0 |1| 0 0 0 1 00 0 0 0 0 1 1 0 0 0 |0| −1 1 0 0 00 1 1 0 0 0 0 0 0 1 |0| 0 0 0 0 1
Message =[ −1 1 0 0 0
0 0 1 0 00 0 0 1 00 0 0 0 1
]
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 31
Distributed Diagnosis with Communication: Example
• Message
(=
[ −1 1 0 0 00 0 1 0 00 0 0 1 00 0 0 0 1
])is received by Nd,2 and the
diagnoser state is updated from
3 6 8 9 10 11 12 13 14 15 16
x02 = [ 1 0 0 0 0 0 0 0 0 0 0 |0 ]
to
3 6 8 9 10 11 12 13 14 15 16 3 6 8 9 11
x12 =
[0 1 0 0 0 0 0 0 0 0 0 |0| −1 1 0 0 01 0 1 0 0 0 0 0 0 0 0 |0| 0 0 1 0 01 0 0 1 0 0 0 0 0 0 0 |0| 0 0 0 1 01 0 0 0 0 1 0 0 0 0 0 |0| 0 0 0 0 1
].
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 32
Outline
• Introduction
• Centralized Diagnosis
• Distributed Diagnosis with Communication
• Main Result
• Summary
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 33
Main Result: Merge
• Let x and x be the diagnoser states of Nd,1 and Nd,2, respectively, atthe end of an iteration of Algorithm DDC.
• Merge operation is defined as follows
x =
di lxif lm
x =
dj lxj
f lm
Merge(x, x) =
di dj,P2−Pc lxif l
xj
f
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 34
Main Result: Theorem
Centralized Diagnosis Distributed Diagnosiswith Communication
Merge
xd,1
xd
xd
xd,2
EQUAL
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 35
Main Result: Example
After observation of the string aeh, the diagnoser states of the centralizedand distributed system are as followsx3 = fd(x
0, aeh) =[0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 |0 00 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 |0 1
]x3
1 =1 0 0 0 0 0 0 0 0 0 |0| −1 1 0 0 0 0 −1 0 0 00 0 0 1 0 0 0 0 0 0 |0| −1 1 0 0 0 0 −1 0 0 00 0 0 0 0 0 1 0 0 0 |1| −1 1 0 0 0 0 −1 0 0 00 1 1 0 0 0 0 0 0 0 |0| 0 0 1 0 0 0 0 −1 0 00 1 1 0 0 0 0 0 0 0 |0| 0 0 0 1 0 0 0 0 −1 00 1 1 0 0 0 0 0 0 0 |0| 0 0 0 0 1 0 0 0 0 −1
x3
2 =[1 0 0 0 0 0 0 0 0 1 0 |0| 0 0 0 0 1 0 0 0 0 −11 0 0 0 0 0 0 0 0 0 1 |1| 0 0 1 0 0 0 0 −1 0 0
]
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 36
Summary
• Define Petri net diagnosers to detect and isolate faults in systemsmodelled with Petri nets.
• Petri net diagnosers do not require structural changes of system model.
• Two types of implementation are proposed: Centralized and distributed.
• Algorithm DDC recovers centralized diagnoser information after mergeoperation.
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 37
Improving Performance
• Avoiding the growth of message labels:
? Truncation,
? Lossless data compression,
? Reset the diagnoser states after merge operation.
• Skip communication?
THANKS!
Sahika Genc and Stephane Lafortune, University of Michigan / June 25, 2003 38