a distributed algorithm for on-line diagnosis of place

42
A Distributed Algorithm for On-Line Diagnosis of Place-Bordered Nets S ¸ahika Gen¸ c, St´ ephane Lafortune Department of Electrical Engineering and Computer Science, University of Michigan 16 th IFAC World Congress in Praha, July 4-8, 2005

Upload: others

Post on 18-Feb-2022

2 views

Category:

Documents


0 download

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