a distributed algorithm for on-line diagnosis of place
TRANSCRIPT
A Distributed Algorithm for On-Line Diagnosis of
Place-Bordered Nets
Sahika Genc, Stephane Lafortune
Department of Electrical Engineering and Computer Science,
University of Michigan
16th IFAC World Congress in Praha, July 4-8, 2005
Outline
• Introduction
• System Model
• Petri Net Diagnosers
• Distributed Diagnosis with Communication
• Correctness Results
• Conclusion and Future Work
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 1
Introduction
• Accurate and timely diagnosis (detection and isolation) of system faults for
safety and reliability.
◦ Blackout 2003! (Network Monitoring), MyDoom? (Internet Security)
• Model-based Approach: Discrete-Event System (DES) models are adequate
for large class of faults.
◦ Faults are not detected by sensors.
• Distributed Algorithms: Extendability, scalability, reconfigurability.
◦ Petri nets (compared to automata) offer better representations of concurrent,
asynchronous and distributed systems.
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 2
Prior Work
• Monitoring and fault diagnosis of dynamic systems using automata.
◦ Many methodologies.
• Monitoring and fault diagnosis of dynamic systems using Petri net models.
◦ Alarm supervision in telecommunication networks by A. Benveniste et al.
◦ Detection of loss and creation of tokens using algebraic techniques by C.
Hadjicostis.
◦ Contextual analysis of Petri nets for distributed diagnosis by R. Boel and G.
Jiroveanu.
◦ Estimating the marking of a (nondeterministic) Petri net based on the
observation of the transition labels by A. Giua.
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 3
Diagnoser Approach
• Developed at the University of Michigan under the supervision of S. Lafortune
and D. Teneketzis since mid-90s.
• Solution methodology based on diagnoser automata.
◦ Theory of diagnosability : Which faults can be diagnosed?
◦ On-line diagnosis : How to diagnose?
• Theory successfully applied to
◦ HVAC Systems by Sinnamohideen, Sampath, et al.
◦ Document Processing Systems by Sampath, et al.
◦ Automated Highway Systems by Sengupta, et al.
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 4
General Architecture
Diagnostics
Module #1 Module #2 Module #M
Diagnostics Diagnostics. . .
. . .
Communication
Messages
LocalObservations
System Model
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 5
General Architecture: A Petri Net Approach
Module #1
Module #2
Module #4
Module #5
Module #6
Coupling( Common Places )
Subnetworks,subprocesses, etc.
( Labeled Petri nets )
Network, process, etc.( System Model )
Module #3
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 6
General Architecture: A Petri Net Approach
Module #1
Module #2
Module #3
Module #4
Module #5
Module #6
D1
D2
D3
D4
D5
D6
Diagnostics)( Petri Net Diagnosers
� �o 1�
� �o 6�
� �o 5�
� �o 2�
� �o 3�
� �o 4�
Subnetworks,subprocesses, etc.
( Labeled Petri nets )
Network, process, etc.( System Model )
Coupling( Common Places )
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 6
General Architecture: A Petri Net Approach
Module #1
Module #2
Module #3
Module #4
Module #5
Module #6
D1
D2
D3
D4
D5
D6
Communication
Channel
� �o 1�
� �o 6�
� �o 5�
� �o 2�
� �o 3�
� �o 4�
Subnetworks,subprocesses, etc.
( Labeled Petri nets )
Network, process, etc.( System Model )
Diagnostics)( Petri Net Diagnosers
Coupling( Common Places )
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 6
System Model: A Labeled Petri net
• A labeled Petri net is defined as a 4-tuple
◦ Petri net graph (finite sets of places, transitions, arcs, weights),
◦ set of events,
◦ transition labeling function,
◦ initial state (a vector of size equal to the number of places).
• A transition can fire from a state if and only if the transition is feasible (enabled)
from the state.
• When the transition fires, the state transition function gives the resulting
state.
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 7
System Model: A Labeled Petri net
p1 t1
t2
p4
p2 p5
p3 p6
a
b
p4
p5
p6
a
p1 p2 p3 p4 p5 p6
2 1 0 0 0 0
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 8
System Model: A Labeled Petri net
p1 t1
t2
p4
p2 p5
p3 p6
a
b
p4
p5
p6
a
p1 p2 p3 p4 p5 p6
2 1 0 0 0 0
p1 t1
t2
p4
p2 p5
p3 p6
a
b
p1 p2 p3 p4 p5 p6
1 0 0 1 1 0
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 8
System Model
• The system to be diagnosed is a set of M place-bordered labeled Petri nets
(modules) where
◦ there are no common events between any two modules,
◦ there are no isolated modules,
◦ transitions putting or removing tokens from the common places are labeled
with observable events, i.e., events that are detected with sensors.
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 9
Example: A Heat, Ventilation, Air and Conditioning (HVAC)
System
FANLOAD
BOILER
PUMP
VALVE
CONTROLLER
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 10
Example: Valve, Pump, and Load
vl_1 vl_2
vl_4
vl_3
close_valve
close_valve
close_valve
close_valve
open_valve
stuck_closed_1 stuck_closed_2
stuck_open_1 stuck_open_2
open_valve
open_valve
open_valve
VALVE PUMP LOAD
set_point_decr
set_point_decr
set_point_incr
set_point_incr
load_2
load_1
load_3
failed_off
failed_off
c_1
c_2
c_3
pm1 pm2
pm4
pm3
stop_pump
stop_pump
stop_pump
stop_pump
start_pump
failed_off_1 failed_off_2
failed_on_1 failed_on_1
start_pump
start_pump
start_pump
c_6
c_4
c_5
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 11
Example: Valve, Pump, and Load
vl_1 vl_2
vl_4
vl_3
close_valve
close_valve
close_valve
close_valve
open_valve
stuck_closed_1 stuck_closed_2
stuck_open_1 stuck_open_2
open_valve
open_valve
open_valve
VALVE
c_1
c_2
c_4
c_5
failed_off
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 11
Example: Valve, Pump, and Load
PUMP
c_2c_3
pm1 pm2
pm4
pm3
stop_pump
stop_pump
stop_pump
stop_pump
start_pump
failed_off_1 failed_off_2
failed_on_1 failed_on_1
start_pump
start_pump
start_pump
c_6c_5
failed_off
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 11
Example: Valve, Pump, and Load
LOAD
set_point_decr
set_point_decr
set_point_incr
set_point_incr
load_2
load_1
load_3
failed_off
failed_off
c_1
c_3
c_6
c_4
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 11
Petri Net Diagnosers
Module #1
Module #2
Module #4
Module #5
Module #6
Coupling( Common Places )
Subnetworks,subprocesses, etc.
( Labeled Petri nets )
Network, process, etc.( System Model )
Module #3
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 12
Petri Net Diagnosers
Module #1
Module #2
Module #4
Module #5
Module #6
Coupling( Common Places )
Subnetworks,subprocesses, etc.
( Labeled Petri nets )
Network, process, etc.( System Model )
Module #3
Module #1
Module #2
Module #3
Module #4
Module #5
Module #6
D1
D2
D3
D4
D5
D6
Diagnostics)( Petri Net Diagnosers
� �o 1�
� �o 6�
� �o 5�
� �o 2�
� �o 3�
� �o 4�
Subnetworks,subprocesses, etc.
( Labeled Petri nets )
Network, process, etc.( System Model )
Coupling( Common Places )
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 12
Petri Net Diagnosers
• The Petri net diagnoser and the corresponding module have the same Petri net
graphs but different dynamics.
• Upon observation of an event, the Petri net diagnoser
◦ finds the states the module can be in and the fault information and
◦ keeps a history of changes in the common places for all neighbor modules.
• The modules have common places, i.e., the modules can affect each others’s
states.
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 13
Petri Net Diagnosers: Diagnoser State
The diagnoser state of module m is a matrix of the form − | − | −xm
s (i) | xmf (i) | xm
l (i)− | − | −
where
• xms (i) denotes the state in row i of diagnoser state xm
d ,
• xmf (i) denotes the corresponding fault label, and
• xml (i) denotes the corresponding message label.
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 14
Petri Net Diagnosers: Faults
F1 F2 F3 ...
xmd =
− | 1 0 1 ... | −xm
s (i) | 1 0 1 ... | xml (i)
− | 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, Stephane Lafortune, University of Michigan / July 04, 2005 15
Distributed Diagnosis with Communication
Module #1
Module #2
Module #4
Module #5
Module #6
Coupling( Common Places )
Subnetworks,subprocesses, etc.
( Labeled Petri nets )
Network, process, etc.( System Model )
Module #3
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 16
Distributed Diagnosis with Communication
Module #1
Module #2
Module #3
Module #4
Module #5
Module #6
D1
D2
D3
D4
D5
D6
Diagnostics)( Petri Net Diagnosers
� �o 1�
� �o 6�
� �o 5�
� �o 2�
� �o 3�
� �o 4�
Subnetworks,subprocesses, etc.
( Labeled Petri nets )
Network, process, etc.( System Model )
Coupling( Common Places )
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 16
Distributed Diagnosis with Communication
Module #1
Module #2
Module #3
Module #4
Module #5
Module #6
D1
D2
D3
D4
D5
D6
Communication
Channel
� �o 1�
� �o 6�
� �o 5�
� �o 2�
� �o 3�
� �o 4�
Subnetworks,subprocesses, etc.
( Labeled Petri nets )
Network, process, etc.( System Model )
Diagnostics)( Petri Net Diagnosers
Coupling( Common Places )
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 16
Distributed Diagnosis with Communication ( DDC-M )
Upon occurrence of an observable event
• identify the (master) module to which the event belongs,
• for all (neighbor) modules whose common places were effected during the
execution of the event
◦ construct the appropriate message,
◦ send the message (without delay) to the neighbor module,
◦ upon receipt of the message the neighbor module updates the diagnoser
state to reflect the changes on the common places.
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 17
Example
Module m (Mm) Module n (Mn)(a1 | ∗ | α1 : ∗a2 | ∗ | α2 : ∗
)state fault Pm,n
(b1 | ∗ | β1 : ∗b2 | ∗ | β2 : ∗
)state fault Pm,n
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 18
Example
Module m (Mm) Module n (Mn)(a1 | ∗ | α1 : ∗a2 | ∗ | α2 : ∗
)state fault Pm,n
(b1 | ∗ | β1 : ∗b2 | ∗ | β2 : ∗
)state fault Pm,n
↓ σo ∈ Σo,m
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 18
Example
Module m (Mm) Module n (Mn)(a1 | ∗ | α1 : ∗a2 | ∗ | α2 : ∗
)state fault Pm,n
(b1 | ∗ | β1 : ∗b2 | ∗ | β2 : ∗
)state fault Pm,n
↓ σo ∈ Σo,m
(a1 + w1 | ∗ | α1w1(Pm,n) : ∗a2 + w2 | ∗ | α2w2(Pm,n) : ∗
)Pm,n
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 18
Example
Module m (Mm) Module n (Mn)(a1 | ∗ | α1 : ∗a2 | ∗ | α2 : ∗
)state fault Pm,n
(b1 | ∗ | β1 : ∗b2 | ∗ | β2 : ∗
)state fault Pm,n
↓ σo ∈ Σo,m ↓ Message =
(α1w1(Pm,n)
α2w2(Pm,n)
)
(a1 + w1 | ∗ | α1w1(Pm,n) : ∗a2 + w2 | ∗ | α2w2(Pm,n) : ∗
)Pm,n
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 18
Example
Module m (Mm) Module n (Mn)(a1 | ∗ | α1 : ∗a2 | ∗ | α2 : ∗
)state fault Pm,n
(b1 | ∗ | β1 : ∗b2 | ∗ | β2 : ∗
)state fault Pm,n
↓ σo ∈ Σo,m ↓ Message =
(α1w1(Pm,n)
α2w2(Pm,n)
)β1 = α1, β2 = α2(
a1 + w1 | ∗ | α1w1(Pm,n) : ∗a2 + w2 | ∗ | α2w2(Pm,n) : ∗
)Pm,n
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 18
Example
Module m (Mm) Module n (Mn)(a1 | ∗ | α1 : ∗a2 | ∗ | α2 : ∗
)state fault Pm,n
(b1 | ∗ | β1 : ∗b2 | ∗ | β2 : ∗
)state fault Pm,n
↓ σo ∈ Σo,m ↓ Message =
(α1w1(Pm,n)
α2w2(Pm,n)
)β1 = α1, β2 = α2(
a1 + w1 | ∗ | α1w1(Pm,n) : ∗a2 + w2 | ∗ | α2w2(Pm,n) : ∗
)Pm,n
state =
(b1(Pm,n) + w1(Pm,n) b1(Pn \ Pm,n)
b2(Pm,n) + w2(Pm,n) b2(Pn \ Pm,n)
)
message label (Pm,n) =
(β1w1(Pm,n)
β2w2(Pm,n)
)
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 18
Outline
• Introduction
• System Model
• Petri Net Diagnosers
• Distributed Diagnosis with Communication
• Correctness Results
• Conclusion and Future Work
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 19
Correctness Results
Monolitic Diagnosis Distributed Diagnosis
Merge
xd,1
xd
xd,M
EQUAL
. . .���������������o1 o 2 o R. . .
R
R
RObserved sequenceof events
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 20
Correctness Results
Monolitic Diagnosis Distributed Diagnosis
Merge
xd,1
xd
xd,M
EQUAL
. . .���������������o1 o 2 o R. . .
R
R
RObserved sequenceof events
Recover the monolithic diagnosis information using distributed diagnosis.
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 20
Correctness Results
• Merge operation combines the diagnoser states of the modules.
• Form the monolithic system by combining all the place-bordered labeled Petri
nets in the system into one labeled Petri net.
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 21
Correctness Results
• Merge operation combines the diagnoser states of the modules.
• Form the monolithic system by combining all the place-bordered labeled Petri
nets in the system into one labeled Petri net.
Theorem: Merge operation recovers the monolithic diagnoser state.
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 21
Correctness Results
• Merge operation combines the diagnoser states of the modules.
• Form the monolithic system by combining all the place-bordered labeled Petri
nets in the system into one labeled Petri net.
Theorem: Merge operation recovers the monolithic diagnoser state.
• The proof of the theorem is by construction of DDC-M and induction on the
observed sequence of events.
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 21
Software Implementation of DDC-M
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 22
Progress to Date
C O M P L E T E X
• Online monitoring and diagnosis of
modular systems modeled as place-
bordered nets
◦ DDC-M Algorithm
◦ DDC-M Algorithm with fixed-size
message labels (to appear in the
journal paper)
• A software implementation developed
in Matlab
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 23
Progress to Date
C O M P L E T E X
• Online monitoring and diagnosis of
modular systems modeled as place-
bordered nets
◦ DDC-M Algorithm
◦ DDC-M Algorithm with fixed-size
message labels (to appear in the
journal paper)
• A software implementation developed
in Matlab
I N P R O G R E S S ?
• Relax assumptions made for DDC-M
Algorithm
◦ Proper partitioning of a system into
modules
◦ Shared events among the modules
• Analysis of diagnosability properties in
the case of Petri net languages
• Diagnose sequences (patterns) of faults
Sahika Genc, Stephane Lafortune, University of Michigan / July 04, 2005 23