Fault Tolerance, State Estimation and Fault Diagnosis in Petri Net Models

Similar documents
CONTROL AND DEADLOCK RECOVERY OF TIMED PETRI NETS USING OBSERVERS

Marking Estimation in Labelled Petri nets by the Representative Marking Graph

NONBLOCKING CONTROL OF PETRI NETS USING UNFOLDING. Alessandro Giua Xiaolan Xie

Supervisory Control of Petri Nets with. Uncontrollable/Unobservable Transitions. John O. Moody and Panos J. Antsaklis

748 IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 54, NO. 4, APRIL 2009

Modelling of Railway Network Using Petri Nets

of Kentucky, Lexington, KY USA,

THE simulation of a continuous or discrete time system

A deadlock prevention method for railway networks using monitors for colored Petri nets

c 2014 Vijayalakshmi Deverakonda

Liveness enforcing supervisors for railway networks using ES 2 PR Petri nets

HYPENS Manual. Fausto Sessego, Alessandro Giua, Carla Seatzu. February 7, 2008

DES. 4. Petri Nets. Introduction. Different Classes of Petri Net. Petri net properties. Analysis of Petri net models

Basis Marking Representation of Petri Net Reachability Spaces and Its Application to the Reachability Problem

Resource-Oriented Petri Nets in Deadlock Avoidance of AGV Systems

Supervisory control under partial observation is an important problem

Designing Reversibility-Enforcing Supervisors of Polynomial Complexity for Bounded Petri Nets through the Theory of Regions

OPTIMAL TOKEN ALLOCATION IN TIMED CYCLIC EVENT GRAPHS

Bridging the Gap between Reactive Synthesis and Supervisory Control

Time and Timed Petri Nets

DISCRETE EVENT DIAGNOSIS USING PETRI NETS

Coding Approaches to Reliable DES Design Christoforos Hadjicostis

Performance Control of Markovian Petri Nets via Fluid Models: A Stock-Level Control Example

Designing Stable Inverters and State Observers for Switched Linear Systems with Unknown Inputs

Achieving Fault-tolerance and Safety of Discrete-event Systems through Learning

c 2011 Nisha Somnath

Decentralized Diagnosis of Discrete Event Systems using Unconditional and Conditional Decisions

A Polynomial Algorithm for Testing Diagnosability of Discrete Event Systems

Analysis and Optimization of Discrete Event Systems using Petri Nets

Supervisory Control: Advanced Theory and Applications

Petri Net Modeling of Irrigation Canal Networks

Integrated Fault Diagnosis Based on Petri Net Models

Time(d) Petri Net. Serge Haddad. Petri Nets 2016, June 20th LSV ENS Cachan, Université Paris-Saclay & CNRS & INRIA

Finite-State Machine Embeddings for Nonconcurrent Error Detection and Identification

Partially observed discrete-event systems: from state estimation to intrusion detection

DECENTRALIZED DIAGNOSIS OF EVENT-DRIVEN SYSTEMS FOR SAFELY REACTING TO FAILURES. Wenbin Qiu and Ratnesh Kumar

Structural Analysis of Resource Allocation Systems with Synchronization Constraints

A reachability graph partitioning technique for the analysis of deadlock prevention methods in bounded Petri nets

A Deadlock Prevention Policy for Flexible Manufacturing Systems Using Siphons

A DISTRIBUTED ALGORITHM FOR ON-LINE DIAGNOSIS OF PLACE-BORDERED PETRI NETS 1. Şahika Genç, Stéphane Lafortune

Diagnosis of Dense-Time Systems using Digital-Clocks

Berlekamp-Massey decoding of RS code

Semi-asynchronous. Fault Diagnosis of Discrete Event Systems ALEJANDRO WHITE DR. ALI KARIMODDINI OCTOBER

arxiv: v1 [math.oc] 21 Feb 2018

Decentralized Modular Control of Concurrent Fuzzy Discrete Event Systems

Elementary Siphons of Petri Nets and Deadlock Control in FMS

Semi-asynchronous Fault Diagnosis of Discrete Event Systems

Lecture 3: Error Correcting Codes

A Learning-based Active Fault-tolerant Control Framework of Discrete-event Systems

ONE NOVEL COMPUTATIONALLY IMPROVED OPTIMAL CONTROL POLICY FOR DEADLOCK PROBLEMS OF FLEXIBLE MANUFACTURING SYSTEMS USING PETRI NETS

FOURIER-MOTZKIN METHODS FOR FAULT DIAGNOSIS IN DISCRETE EVENT SYSTEMS

IN THIS paper we investigate the diagnosability of stochastic

Modeling and Stability Analysis of a Communication Network System

1 The linear algebra of linear programs (March 15 and 22, 2015)

Coloured Petri Nets Based Diagnosis on Causal Models

Linear programming techniques for analysis and control of batches Petri nets

c 2005 by Shreyas Sundaram. All rights reserved.

Decentralized Control of Discrete Event Systems with Multiple Local Specializations 1

Synthesis of Controllers of Processes Modeled as Colored Petri Nets

Petri nets. s 1 s 2. s 3 s 4. directed arcs.

A REACHABLE THROUGHPUT UPPER BOUND FOR LIVE AND SAFE FREE CHOICE NETS VIA T-INVARIANTS

The Multi-Agent Rendezvous Problem - The Asynchronous Case

Resolution of Initial-State in Security Applications of DES

Symbolic Decentralized Supervisory Control

Intersection Based Decentralized Diagnosis: Implementation and Verification

On the Block Error Probability of LP Decoding of LDPC Codes

Using Shared-Resource Capacity for Robust Control of Failure-Prone Manufacturing Systems

Preliminaries and Complexity Theory

Language Stability and Stabilizability of Discrete Event Dynamical Systems 1

Linear Programming Bounds for Robust Locally Repairable Storage Codes

Petri nets design based on neural networks

Sub-Optimal Scheduling of a Flexible Batch Manufacturing System using an Integer Programming Solution

FORMULAS FOR CALCULATING SUPREMAL CONTROLLABLE AND NORMAL SUBLANGUAGES 1 R. D. Brandt 2,V.Garg 3,R.Kumar 3,F.Lin 2,S.I.Marcus 3, and W. M.

Control Hierarchies and Tropical Algebras

Monomial subdigraphs of reachable and controllable positive discrete-time systems

On the Design of Adaptive Supervisors for Discrete Event Systems

Lecture 6: Expander Codes

Lecture 22: Counting

Chapter 7. Error Control Coding. 7.1 Historical background. Mikael Olofsson 2005

Computability and Complexity Theory: An Introduction

On Qualitative Analysis of Fault Trees Using Structurally Persistent Nets

Petri Nets (for Planners)

On the Decidability and Complexity of Diagnosability for Labeled Petri Nets

FAULT-TOLERANT CONTROL OF CHEMICAL PROCESS SYSTEMS USING COMMUNICATION NETWORKS. Nael H. El-Farra, Adiwinata Gani & Panagiotis D.

PhD Course on Discrete event and hybrid systems

MATH 433 Applied Algebra Lecture 21: Linear codes (continued). Classification of groups.

Petri Net Diagnoser for DES Modeled by Finite State Automata

Optimal State Estimators for Linear Systems with Unknown Inputs

Multi-Robotic Systems

Evaluation of deadlock control designs in automated manufacturing systems

Lyapunov Stability of Linear Predictor Feedback for Distributed Input Delays

E. Salimi 1, N. Somnath 1 and R.S. Sreenivas 1

On Controllability of Timed Continuous Petri Nets

THROUGHPUT ANALYSIS OF MANUFACTURING CELLS USING TIMED PETRI NETS

Linear Codes, Target Function Classes, and Network Computing Capacity

Synthesis of Maximally Permissive Non-blocking Supervisors for Partially Observed Discrete Event Systems

Equivalence of dynamical systems by bisimulation

IN AN industrial automated manufacturing system (AMS),

Discrete abstractions of hybrid systems for verification

MOST OF the published research on control of discreteevent

Transcription:

Fault Tolerance, State Estimation and Fault Diagnosis in Petri Net Models Christoforos Hadjicostis Department of Electrical and Computer Engineering University of Illinois at Urbana-Champaign March 27, 2007

Outline Fault Tolerance in Petri Nets (e.g., Petri Net Controllers) Redundant Petri net embeddings Fault detection and identification Fault-tolerant supervisor for arbitrary forbidden states Estimation and Diagnosis in Labeled Petri Nets Complexity assessment: bound on number of markings Implications to state estimation and diagnosis On-line least-cost transition firing sequence estimation

Overview Fault Tolerance Estimation and Diagnosis Problems Conclusions Motivation Motivation Gottwald Port Technology, Germany Estimate state, diagnose fault conditions, avoid collisions, etc. in Automated Guided Vehicles (AGVs)

Motivation AGV 1 Input Parts Station Workstation 1 AGV 3 AGV 2 Workstation 2 Workstation 3 AGV 4 AGV 5 Completed Parts Station Petri Net Model of AGVs Cited from [Holloway, 1990], [Moody, 1998]

Motivation Other Applications of Petri Nets Network protocols Supply chains Manufacturing systems Railway/metro systems scheduling and control Military systems

Literature Review Earlier Related Work State Estimation Labels introduce uncertainty Uncertain initial state Unobservable transitions Boel, Genc, others Fault Diagnosis Fault modeling Unreliable observation Error correction Giua, Rohloff, others Paoli, Rohloff, others Supervisory Control Liveness enforcement Deadlock prevention Forbidden state problem

Literature Review Challenges Estimation Uncertain transitions (shared labels) Unobservable transitions (empty labels) Control Uncontrollable transitions Maximal permissiveness Fault Tolerance Faulty operation (resulting in erroneous activity) Faulty sensors (resulting in unreliable observations)

Petri Net Basics Petri Net Basics: Notation and Structure p1 t1 (a) t6 (c) p4 Places P = {p 1, p 2, p 3, p 4 } (a) t4 t5 (b) t2 (a) Transitions T = {t 1, t 2, t 3, t 4, t 5, t 6 } Arcs F (P T ) (T P) Weight function W : F N Marking M : P N 0 p2 t3 (b) p3 Initial marking M 0 = (0 2 0 0) T Labeling function L : T Σ {λ} (in general, many-to-one) transition t 1, t 4, t 5 t 2, t 3 t 6 label a b c Note: This labeling function is λ-free

Petri Net Basics Petri Net Basics: Dynamics and Marking Evolution p1 t6 (c) p4 t Evolution: M 1 t 0 2 t M1 4 M2 M3 t1 (a) (a) t4 (b) t2 t5 (a) Firing sequence S: t 1 t 2 t 4 Observation sequence ω: aba State equation: M 3 = M 0 + Dσ p2 t3 (b) p3 Firing vector σ: (1 1 0 1 0 0) T M 1 = (1 1 0 0) T, M 2 = (1 0 0 1) T, M 3 = (0 0 1 1) T Incidence matrix: D = D + D = 0 B @ 1 0 0 1 0 1 1 1 1 0 0 0 0 0 1 1 1 0 0 1 0 0 1 1 1 C A

Fault Detection and Identification in Petri Net Controllers Fault Tolerance: Part I Fault Detection and Identification in Petri Net Controllers

Fault Detection and Identification in Petri Net Controllers Fault Detection and Identification in Petri Net Controllers Motivation Monitoring of large-scale systems Tolerance to faults in controllers modeled by Petri nets Objective Design redundant Petri net controllers that (i) Allow for fault detection and identification (ii) Maintain the functionality of the original controller Bisimulation equivalence between original and redundant controller Bisimulation equivalence conditions: for all initial markings of interest Transitions enabled in original controller also enabled in redundant controller Transitions enabled in redundant controller also enabled in original controller

Fault Detection and Identification in Petri Net Controllers Existing Petri Net Controller Designs Restrict system behavior so that only legal markings can be reached Holloway and Krogh (1990), Ushio (1990), Li and Wonham (1993), etc. Event feedback Petri net controller design Restrict system behavior within the legal behavior Ramadge and Wonham (1989), Giua and DiCesare (1991), etc. Linear algebraic approach Satisfy a set of linear constraints on markings Li and Wonham (1993), Giua, DiCesare, and Silva (1992, 1993), Moody et al. (1994), etc. Our goal: Protect given Petri net controller against faults Designs of separate redundant Petri net controllers Designs of non-separate redundant Petri net controllers

Fault Detection and Identification in Petri Net Controllers Place Fault Model Captures corruption of token number in a single place Results in erroneous state at time epoch t M f [t] = M[t] + ve p where (i) M[t]: fault-free state at time epoch t (ii) e p Z n : unit vector (single unit entry at location p) (iii) v: integer number of tokens added or subtracted

Fault Detection and Identification in Petri Net Controllers Transition Fault Model Post-condition transition fault Token-load of output place-set of transition not appropriately updated after firing Erroneous state at time epoch t M f [t] = M[t] D + e + T Pre-condition transition fault Token-load of input place-set of transition not appropriately updated after firing Erroneous state at time epoch t M[t]: fault-free state at time epoch t e + T : Post-condition transition fault vector, e T M f [t] = M[t] + D e T : Pre-condition transition fault vector

Fault Detection and Identification in Petri Net Controllers Separate Redundant Petri Net Controller Given a controller implemented/modeled as a Petri net Design a separate redundant Petri net controller which incorporates additional (redundant) places allows external checker to detect and identify faults maintains functionality of original controller Note: Original controller is kept intact (thus, separate controller ) Plant Petri net Controller Redundant Places Marking Information Checker Error? Separate Redundant Petri net Controller

Fault Detection and Identification in Petri Net Controllers Designs of Bisimilar Separate Redundant Controllers Given a Petri net controller with n places, m transitions State equation: M c [t + 1] = M c [t] + (D + c D c )x[t] Add d redundant places separate redundant Petri net controller (with n + d places and m transitions) where M h [t] = M h [t + 1] = M h [t] + (D c + Dc )x[t]»» D + = M h [t] + c D X + x[t] c X x[t] {z } {z }» In C D + c M c[t] with C to be designed Goal: Design C, X + and X so that original and redundant controllers are bisimilar D c

Fault Detection and Identification in Petri Net Controllers Maintaining Bisimulation Equivalence Design requirement: Bisimulation equivalence Theorem: Separate redundant Petri net controller is bisimulation equivalent to the original controller if and only if X + = CD + c D, X = CD c D C is a matrix with nonnegative integer entries D is a matrix with nonnegative integer entries such that D min(cd + c, CD c ) Parametrization of possible separate redundant controllers Question: How can we detect and identify faults?

Fault Detection and Identification in Petri Net Controllers Fault Detection and Identification in Separate Controllers Fault detection and identification Parity check matrix: P = [ C I n ] Verify that fault syndrome s[t] PM f [t] is zero [ In PM h [t] = 0 because fault-free state M h [t] = C ] M c [t] Place fault detection and identification Fault syndrome at time epoch t: s p [t] Pq f [t] = P(q h [t] + ve P ) = vpe P Fault detection and identification determined by P (equivalently, C) For single place fault detection and identification, we need: columns of matrix P not to be rational multiples of each other

Fault Detection and Identification in Petri Net Controllers Fault Detection and Identification in Separate Controllers Transition fault detection and identification Post-condition fault syndrome at time epoch t: s + T [t] De+ T Pre-condition fault syndrome at time epoch t: s T [t] De T Fault detection and identification determined by D For single transition fault detection and identification: choose matrix D such that columns of D are distinct By appropriately choosing matrices C and D Design of bisimilar separate redundant Petri net controller Perform fault detection and identification Rank requirement on matrices C and D translate to ability to detect place and/or transition faults

Fault Detection and Identification in Petri Net Controllers Non-Separate Redundant Petri Net Controller Given a controller implemented/modeled as a Petri net Design a non-separate redundant Petri net controller which allows for recovering the states of the original controller enables fault detection and identification maintains functionality of original controller Note: Original controller not necessarily intact (thus, non-separate ) Plant Marking Information (Linear) Parity Check Error? Non-separate Redundant Controller (Linear) Decoding Controller States

Fault Detection and Identification in Petri Net Controllers Designs of Bisimilar Non-Separate Redundant Controllers Given a Petri net controller C (n places and m transitions) with state evolution: M c[t + 1] = M c[t] + (D + c D c )x[t] Definition: A Petri net H with η = n + d places, m transitions and state evolution M h [t + 1] = M h [t] + (D + c D c )x[t] q h [t] + D cx[t], is a non-separate redundant controller of controller C if there exist (i) a full-column rank encoding matrix G with nonnegative integer entries (ii) a matrix D with nonnegative integer entries satisfying D min(gd + c, GD c ) so that M c[t] = LM h [t] and M h [t] = GM c[t] for all time epochs t 0 D + c = GD + c D, D c = GD c D

Fault Detection and Identification in Petri Net Controllers Designs of Bisimilar Non-Separate Redundant Controllers Design requirement: Bisimulation equivalence Given a n-dimensional column vector z, the support of z is the set of nonzero indices of z and is denoted by z ( {1, 2,..., n}), i.e., z = {i z i 0} Matrix G = [g 1 g 2... g n] has independent column support if [ i {1, 2,..., n}, ( g i g j ) j {{1,2,...,n} i} Theorem: H is bisimulation equivalent to C if and only if Matrix G has independent column support Matrix D has zero entries in the rows having independent support in G Characterization of non-separate embeddings

Fault Detection and Identification in Petri Net Controllers Place Fault Detection and Identification in Non-Separate Redundant Controllers Parity check matrix P that has maximum row rank and satisfies PG = 0 Fault syndrome at time epoch t: s p [t] Pq f [t] = P(q h [t] + ve P ) = vpe P Fault detection and identification determined by P For single place fault detection and identification: choose matrix P such that any two columns are not rational multiples of each other

Fault Detection and Identification in Petri Net Controllers Advantages of Non-separate Redundant Controllers Under bisimulation equivalence requirement Two types of redundant controllers share identical fault detection and identification capabilities Require the same number of connections and redundant places to detect and identify the same number of faults If bisimulation equivalence requirement is not directly enforced Non-separate redundant controller can be more general (e.g., use fewer connections than the separate ones to detect and identify the same number of faults) Error? Plant Enable/disable Signal (Linear) Parity Check Marking Information Non-separate Redundant Controller Decoding Marking Information Controller Places

Fault-Tolerant Control for Arbitrary Forbidden State Specs Fault Diagnosis and Tolerance: Part II Fault-Tolerant Control for Arbitrary Forbidden State Specifications in Bounded Petri Nets

Fault-Tolerant Control for Arbitrary Forbidden State Specs Fault-Tolerant Control for Arbitrary Forbidden States Motivation Arbitrary forbidden state specification For safe and conservative Petri nets, there exist equivalent generalized mutual exclusion constraints (GMEC) In general, they cannot be efficiently expressed via linear inequality constraints Token corruption in places Place faults and transition faults corrupt tokens in places Accurate token information of monitor places key to monitor-based control policies Challenges Uncontrollable transitions; maximal permissiveness needs to be maintained; token corruptions in places due to faults

Fault-Tolerant Control for Arbitrary Forbidden State Specs Basic Concepts Reverse net N Given a Petri net N, N retains the structure of N but reverses the directions of its arcs Control set Definition: U = {u u T c = T \T uc} u is a control value Control policy f : R(G) U where R(G) is the reachability set Optimality criterion: maximize the enabled transition set for each state R (M, u zero) All markings that can be reached from M by only firing uncontrollable transition sequences

Fault-Tolerant Control for Arbitrary Forbidden State Specs Existence of Maximally Permissive Control Policy Weakly Forbidden Marking Set Given a set of forbidden markings M F, W (M F ) = {M R (M, u zero ) M F } Existence of Maximally Permissive Control Policy M 0 / W (M F ) Computation of the set of weakly forbidden markings W (M F ) = R (M F, u zero ), where R (M F, u zero ) denotes all reachable markings from M F under u zero in the reverse net N By analyzing N, we obtain W (M F ) without constructing influence paths

Fault-Tolerant Control for Arbitrary Forbidden State Specs Supervisor Synthesis Transformation Function Given a K-bounded Petri net with n places and marking M, Γ(M) = CM where [ ] 1 2 3... n 1 n C = 1 B B 2... B n 2 B n 1 and B = max(k + 1, 3). Properties Γ is injective Add two monitor places = separate Petri net embedding with G = [I n C T ] T and P = [C I 2 ]

Fault-Tolerant Control for Arbitrary Forbidden State Specs Control Policy How can monitor places help us? W (M F ) is injectively mapped to I F Equivalent control synthesis problem Find a policy to prevent Γ(M) from reaching I F Γ(t i ) CD(:, i): if M[t i M, Γ(M ) = Γ(M) + Γ(t i ) Control Policy For t c at current state M: if Γ(M) + Γ(t c ) I F, t c is control disabled Implementation: (i) sort I F into S F element-wise (off-line) (ii) check whether Γ(M) + Γ(t c ) is in S F element-wise using binary search algorithm (online)

Fault-Tolerant Control for Arbitrary Forbidden State Specs Single Place Fault Detection and Correction Proposition If B 3, then the columns of» 1 2 3... n 1 n 1 0 P = [C I 2] = 1 B B 2... B n 2 B n 1 0 1 are not rational multiples of each other. Fault model: µ he = µ h + ve(i) Fault detection and correction Fault detection: if PM he is a multiple of P(:, i), then the tokens in place p i have been corrupted Fault correction (i) fault in original places: M h (p i ) = M h(p n+1 ) P n k=1,k i km h (p k ) i (ii) fault in monitor places: M h (p i ) = C(i n, :)M

Fault-Tolerant Control for Arbitrary Forbidden State Specs Example p1 4 3 p3 2 t1 t3 1 0 0 1 2 2 1 0 p2 t2 p3 p2 3 4 4 3 p1 (a) 4-bounded net with T uc = {t 3} Existence of maximally permissive supervisor (b) Forbidden states (red) mapped on a 3D grid M 0 / W (M F ) (represented by red and yellow nodes) Encoding system states» 1 2 3 Γ(M) = 1 5 5 2 M j»» 7 9 S F =,, 16 40» 9, 56» ff 11 80 (sorted)

Fault-Tolerant Control for Arbitrary Forbidden State Specs Example Actuator Supervisor p1 t1 t3 Fault Diagnosis and Correction 4 p2 20 t2 p3 24 p4 2 8 p5 36 Control Policy Sensor At M 0, the control value u = t 3 will eventually fire and result in M 1 Fault Identification and Correction M he = (0 4 1 9 40) T : as PM he = (2 5) T, p 2 is corrupted by one token; after correction, M h = (0 3 1 9 40) T

Polynomial Bound Estimation in Labeled Petri Nets: Part I Upper Bound on the Number of Consistent Markings

Polynomial Bound Problem Formulation Given: λ-free labeled Petri net Initial marking M0 (or set of initial markings) Observed label sequence ω Find C(ω), the set of all markings consistent with (i) given Petri net, (ii) initial marking, and (iii) observations Complexity concerns: What is an upper bound on C(ω)? Extensions to Petri nets with unobservable transitions

Polynomial Bound Example p1 t6 (c) p4 t Unknown evolution: M 1t 2t 4 0 M3 t1 (a) (a) t4 (b) t2 t5 (a) Unknown firing sequence S: t 1 t 2 t 4 Unknown firing vector: σ = (1 1 0 1 0 0) T, M 3 = M 0 + Dσ p2 t3 (b) p3 Known observation sequence ω: aba C(ω): markings consistent with ω and initial marking M 0 Clearly, M 3 C(ω); other markings also possible

Polynomial Bound Intuitive Algorithmic Solution Algorithm 1 [Giua, DEDS 2005] 1. Let i = 0, ω 0 = λ, C(ω 0) = {M 0} 2. Wait until a new event e is observed 3. Let i = i + 1, ω i = ω i 1 e, C(ω i ) = 4. For all M C(ω i 1 ) For all t such that t T e and M[t Compute M such that M[t M Set C(ω i ) = C(ω i ) {M } 5. Goto 2 Notation: ω i : observation at ith step λ: null label T e = {t L(t) = e} M[t : t is enabled at M M[t M : M is reached after firing t at M

Polynomial Bound Bound on Number of Consistent Markings p1 t6 (c) p4 t Unknown evolution: M 1t 2t 4 0 M3 t1 (a) (a) t4 (b) t2 t5 (a) Unknown firing sequence S: t 1 t 2 t 4 Unknown firing vector: σ = (1 1 0 1 0 0) T, M 3 = M 0 + Dσ p2 t3 (b) p3 Known observation sequence ω: aba C(ω): markings consistent with ω (e.g., M 3 C(aba)) FV (ω): firing vectors consistent with ω (e.g., (1 1 0 1 0 0) T FV (aba)) C(ω) FV (ω): for M C(ω) there exists σ FV (ω) such that M = M 0 + Dσ

Polynomial Bound Bound on Number of Consistent Markings (2) p1 t6 (c) p4 t Unknown evolution: M 1t 2t 4 0 M3 t1 (a) (a) t4 (b) t2 t5 (a) Unknown firing sequence S: t 1 t 2 t 4 Unknown firing vector: σ = (1 1 0 1 0 0) T, M 3 = M 0 + Dσ p2 t3 (b) p3 Known observation sequence ω: aba UFV (ω): unconstrained firing vectors corresponding to ω (ignore constraints imposed by Petri net and/or initial marking) For instance: σ u UFV (aba) is nonnegative solution of σ u (t 1 ) + σ u (t 4 ) + σ u (t 5 ) = 2 and σ u (t 2 ) + σ u (t 3 ) = 1 and σ u (t 6 ) = 0 Key observation: C(ω) FV (ω) UFV (ω)

Polynomial Bound Simple Case: One Label with Multiple Transitions Proposition 1 If T e = {t 1,..., t l } and ω = e k, then C(ω) C l 1 k+l 1. σ u UFV (ω) requires σ u (t 1 ) +... + σ u (t l ) = k where σ u (t i ) 0 Argument: (σ u (t 1 ) + 1) +... + (σ u (t l ) + 1) = k + l where σ u (t i ) + 1 1 for i = 1, 2,..., l k+l-1 separators k+l balls

Polynomial Bound Simple Example t1 (e) t2 (e) t3 (e) t1 t2 t3 t1 t2 t3 t1 t2 t3 t1 t2 t3 p1 p2 p3 t1t2 t3 t1t2 t3 t1t2 t3 t1t2 t3 t1t2 t3 t1t2 t3 t1t2 t3 t1t2 t3 t1t2 t3 T e = {t 1, t 2, t 3} t1 t2 t3 Observation ω: eee t1 t2 t3 t1 t2 t3 t1 t3 t2 C(ω) = C (3 1) 3+(3 1) t1t2 t3 t1 t2 t3 t1 t2 t3 t1 t2 t3 t1 t2 t3 t1 t2 t3

Polynomial Bound General Case: λ-free Labeled Petri Nets Proposition 2 Consider a λ-free labeled Petri net with M 0 and labeling function transition T e1 T ej t ej+1 t ed label e 1 e j e j+1 e d where T e1, T e2,..., T ej, {t ej+1 },..., {t ed } form a partition of T. Given observation sequence ω of length k where label e i appears k ei X σ u(t) = k ei for i = 1, 2,..., j t T ei σ u(t ei ) = k ei for i = j + 1, j + 2,..., d times, i.e., then where l ei = T ei C(ω) jy i=1 C le i 1 k ei +l ei 1

Polynomial Bound Polynomial Upper Bound Theorem 1 Given (i) known λ-free labeled Petri net (ii) known initial state M 0 (iii) observation sequence ω of length k then C(ω) ( k + l j 2 )j(l 1) ((l 1)!) j Recall that (1) j 1 is the number of nondeterministic labels (2) l = max{l e1, l e2,..., l ej } and (3) l = min{l e1, l e2,..., l ej } Bound is: (i) Polynomial in k (i.e., C(ω) = O(k j(l 1) )) (ii) Independent of actual sequence ω

Polynomial Bound Key Steps in the Proof Use arithmetic-mean geometric-mean inequality to relax the bound in Proposition 2. Step 1 : j i=1 C le i 1 k ei +l ei 1 = j i=1 (k ei + 1) (k ei + l ei 1) (l ei 1)! Step 2 : (k ei + 1) (k ei + l ei 1) (l ei 1)! (k e i + 1) (k ei + l 1) (l 1)! Step 3 : j j (k e1 + r) (k ej + r) (k e1 + r) +... + (k ej + r) = q + jr for q k, 1 r l 1

Polynomial Bound Simulation Examples Compute C(ω) using Algorithm 1, given (i) Petri net on the left and (ii) the length-30 sequence of observations ω = caabaaacbabaaabbbbaabbabbabaaa 8 x 104 p1 100 t6 (c) 2 p4 7 6 Number of consistent markings Upper bound obtained from Theorem 1 (a) t4 5 t1 (a) (b) t2 t5 (a) 4 3 10 100 2 p2 t3 (b) p3 1 0 0 5 10 15 20 25 30 Length of the observation

Polynomial Bound Bounds are Attainable Tightness of bound depends on (i) the Petri net structure, (ii) the initial marking, (iii) the labeling function, and (iv) the observation sequence Bounds are attainable under certain conditions 300 250 Number of consistent markings Upper bound obtained from Proposition 2 Upper bound obtained from Theorem 1 100 100 t1 (a) p2 t3 (b) p4 200 150 p1 t2 (a) 100 100 p3 t4 (b) p5 50 0 0 5 10 15 20 25 30 Length of the observation

Polynomial Bound Extension to Petri Nets with Unobservable Transitions Unobservable subnet: Obtained from a net with unobservable transition set T λ by removing all transitions in T \T λ and all related arcs Structurally bounded (SB) Petri net: Bounded for any finite initial marking Equivalent condition: y with positive integer entries such that y T D 0 T m Deadlock structurally bounded (DSB) Petri net: y with positive integer entries such that y T D < 0 T m Examples: Acyclic Petri nets without source transitions

Polynomial Bound Petri Nets with SB Unobservable Subnets Summary: Upper bound on C(ω) given (i) known labeled Petri net with initial state M 0 (ii) structurally bounded (SB) unobservable subnet (iii) observation sequence ω of length k State equation M = M 0 + D oσ o + D uoσ uo 0 n Multiply on the left by y T (where n is the number of places) y T M = y T M 0 + y T D oσ o + y T D uoσ uo y T M 0 + y T D oσ o Let c 1 = y T M 0 and c 2 be the maximal entry of y T D o M(p) y T M c 1 + c 2(1... 1)σ o c 1 + c 2k for any p P Straightforward bound: C(ω) (1 + c 1 + c 2k) n

Polynomial Bound Petri Nets with DSB Unobservable Subnets Summary: Upper bound on C(ω) given (i) known labeled Petri net with initial state M 0 (ii) unobservable subnet that is DSB (i.e., y with positive integer entries such that y T D < 0 T m) (iii) observation sequence ω of length k Recall y T M = y T M 0 + y T D oσ o + y T D uoσ uo 0 Deadlock structurally bounded unobservable subnet c 1 + c 2k y T M 0 + y T D oσ o y T D uoσ uo 1 T l λ σ uo = P t T λ σ(t) where T λ is the set of unobservable transitions, l λ = T λ Combinatorial bound: C(ω) Q j i=1 C le i 1 k ei +l ei 1 C l λ c1 +c 2 k+l λ Relaxed polynomial bound: C(ω) ( k j + l 2 )j(l 1) ((l 1)!) j C l λ c1 +c 2 k+l λ

State Estimation Estimation in Labeled Petri Nets: Part II State Estimation

State Estimation State Estimation in λ-free Labeled Petri Nets Estimate system state based on Knowledge of Petri net structure Initial state Observation of a sequence of labels Challenges Multiple consistent states due to label uncertainty Possible exponential increase of firing sequences Unobservable transitions

State Estimation Intuitive Algorithm Revisited Algorithm 1 [Giua, DEDS 2005] 1. Let i = 0, ω 0 = λ, C(ω 0) = {M 0} 2. Wait until a new event e is observed 3. Let i = i + 1, ω i = ω i 1 e, C(ω i ) = 4. For all M C(ω i 1 ) For all t such that t T e and M[t Compute M such that M[t M Set C(ω i ) = C(ω i ) {M } 5. Goto 2 Notation: ω i : observation at ith step λ: null label T e = {t L(t) = e} M[t : t is enabled at M M[t M : M is reached after firing t at M

State Estimation Algorithmic Analysis Let C(ω i ) = N i ; if e is observed after ω k 1, we need to: (i) Consider each t T e for every M C(ω k 1 ) and obtain the next marking M if it is enabled (ii) Compare M with other computed markings in C(ω k ) and add M to C(ω k ) if it does not exist Computational complexity at step k is N k 1 T e (n + n + nn k ) = O(nlk 2j(l 1) ) Overall complexity of computing C(ω k ) starting from M 0 is O(nlk 2j(l 1)+1 )

Least-Cost Transition Firing Sequence Estimation Estimation in Labeled Petri Nets: Part III Least-Cost Transition Firing Sequence Estimation

Least-Cost Transition Firing Sequence Estimation Labeled Petri nets with Transition Costs Introduce cost function C : T N 0 Assigns to each transition a nonnegative integer cost Cost can be Amount of workload needed to accomplish a task Power required to start a machine Example: a labeled Petri net with transition costs C(t 1 ) = 1, C(t 2 ) = 2, C(t 3 ) = 5 and C(t 4 ) = 3

Least-Cost Transition Firing Sequence Estimation Problem Formulation Given: A labeled Petri net with (i) initial marking M 0 (ii) no unobservable transitions (λ-free) (iii) nonnegative costs associated with each transition Goal: Find transition firing sequence(s) that a) is (are) consistent with the net structure b) is (are) consistent with the observed label sequence c) has (have) the least overall cost (cost of a sequence is the sum of the costs of individual transitions in the sequence) Challenge: The observed sequence of labels may correspond to a large number of transition sequences (possibly exponentially large)

Least-Cost Transition Firing Sequence Estimation Approach Fact: After observing a label sequence ω (of length-k), C(ω) is upper bounded by a polynomial function in k Our approach: Trellis diagram formulation on evolution of consistent markings Observed label sequence Consistent markings M ji C(l 1l 2... l j ) for j {1, 2,..., k} Arcs: transition firings that lead from one marking to another and match the label observed at corresponding stage

Least-Cost Transition Firing Sequence Estimation Algorithm Recursive online algorithm: When label l j is observed (1) Look at the set of transitions corresponding to l j (2) Compute consistent markings and corresponding least-cost transition firing sequence from (consistent) markings at previous time epoch j 1 When the same consistent marking is reached after firing transitions from different (consistent) markings at previous time epoch j 1, choose the transition sequence(s) with the least total cost (3) Store all consistent markings and corresponding least-cost firing sequence(s) (4) Wait until next label is observed

Least-Cost Transition Firing Sequence Estimation Algorithmic Complexity Analysis Space complexity Proportional to number of consistent markings l = max{ T lj }: maximum number of transitions corresponding to a label For each consistent marking at stage k At most l different transitions leading to it from stage k 1 Storage space proportional to l Total space needed: P k j=1 O(l j b ) = O(k b+1 ) = polynomial in k Computational complexity Number of consistent markings at (k 1) st stage: n k 1 = O((k 1) b ) Number of consistent markings at k th stage: n k = O(k b ) Total computation at k th stage: n k 1 l n k Total computation needed: P k j=1 O(l j 2b ) = O(k 2b+1 ) = polynomial in k

Least-Cost Transition Firing Sequence Estimation Illustrative Example: Two Parallel Working Machines 10 places: P = {p 1, p 2,..., p 10 }, 12 transitions: T = {t 1, t 2,..., t 12 } Initial marking: M 0 = [1 1 0 2 0 0 2 0 0 0] T Labeling function: Transition t 3, t 5 t 4, t 6 t 7, t 9 t 8, t 10 t 1 t 2 t 11 t 12 Label a b c d e f g h Cost vector for transitions: C = [5 5 10 20 20 10 30 10 10 30 5 5] T Note: No unobservable transitions (λ-free)

Least-Cost Transition Firing Sequence Estimation Complete Results Label Num of consistent markings Least cost {S min } e 1 5 t 1 e 1 10 t 1t 1 f 1 15 t 1t 1t 2 f 1 20 t 1t 1t 2t 2 a 2 30 t 1t 1t 2t 2t 3 a 3 40 t 1t 1t 2t 2t 3t 3 b 4 50 t 1t 1t 2t 2t 3t 3t 6 c 4 70 t 1t 1t 2t 2t 3t 5t 6t 9 t 1t 1t 2t 2t 5t 3t 6t 9 t 1t 1t 2t 2t 3t 5t 6t 7t 9 t 1t 1t 2t 2t 3t 5t 6t 9t 7 c 2 100 t 1t 1t 2t 2t 5t 3t 6t 7t 9 t 1t 1t 2t 2t 5t 3t 6t 9t 7 t 1t 1t 2t 2t 5t 5t 4t 9t 9 d 1 110 t 1t 1t 2t 2t 5t 5t 4t 9t 9t 8

Least-Cost Transition Firing Sequence Estimation Some Observations Case 1: Observed label sequence: ω 1 = eeffaab Least-cost firing sequence: S min = t 1t 1t 2t 2t 3t 3t 6 with total cost 50 Case 2: Observed label sequence: ω 2 = eeffaabccd Least-cost firing sequence: S min = t 1t 1t 2t 2t 5t 5t 4t 9t 9t 8 with total cost 110 Observation The two label sequences share the first seven labels The two least-cost sequences differ in the first 7 transitions Need to capture all consistent markings with least-cost sequence information at the previous stage

Summary Summary Polynomial bound on the number of consistent markings Bounds are attainable Bounds imply that state estimation problem and least-cost transition firing sequence estimation problem can be solved with complexity that is polynomial in k Bounds are useful in applications where system states reset or periodically become known Redundant Petri net embeddings Fault diagnosis/tolerance via bisimilar Petri net embeddings Fault-tolerant supervisor for arbitrary forbidden state specs

Future Work Future Work General framework Labeled Petri nets with inputs and outputs Key problems Sensor selection and actuator configuration Ability to systematically handle sensor/actuator faults Reconfiguration strategies Deadlock prevention and liveness enforcement Integration of estimation, diagnosis and control

References Related Work A. Giua and C. Seatzu, Observability of place/transition nets, IEEE Trans. Automat. Contr., vol. 47, pp. 1424 1437, Sept. 2002. S. Genc and S. Lafortune, Distributed diagnosis of discrete-event systems using Petri nets, in 24th Int. Conf. on Applications and Theory of Petri Nets, Lecture Notes in Computer Science Vol. 2679, Eindhoven, The Netherlands, June 2003, pp. 316 336. A. Ramírez-Treviño, I. Rivera-Rangel, and E. López-Mellado, Observability of discrete event systems modeled by interpreted Petri nets, IEEE Trans. Robot. Automat., vol. 19, pp. 557 565, Aug. 2003. A. Giua, D. Corona, and C. Seatzu, State estimation of λ-free labeled Petri nets with contact-free nondeterministic transitions, Discrete Event Dynamic Systems: Theory and Applications, vol. 15, pp. 85 108, Mar. 2005.

References Our Work (1) Y. Ru and C. N. Hadjicostis, State estimation in discrete event systems modeled by labeled Petri nets, in Proc. of 45th IEEE Conf. on Decision and Control, San Diego, USA, Dec. 2006, pp. 6022 6027. L. Li, Y. Ru, and C. N. Hadjicostis, Least-cost firing sequence estimation in labeled Petri nets, in Proc. of 45th IEEE Conf. on Decision and Control, San Diego, USA, Dec. 2006, pp. 416 421. Y. Ru and C. N. Hadjicostis, Bounds on the number of markings consistent with label observations in Petri nets, in preparation for journal submission, 2007. C. Hadjicostis and G. Verghese, Monitoring discrete event systems using Petri net embeddings, in Application and Theory of Petri Nets 1999 (Series Lecture Notes in Computer Science, vol. 1639), 1999, pp. 188 207.

References Our Work (2) L. Li and C. Hadjicostis, Fault detection and identification in Petri net controllers, in 43rd IEEE Conf. on Decision and Control, Atlantis, Bahamas, Dec. 2004, pp. 5248 5253. Y. Wu and C. Hadjicostis, Algebraic approaches for fault identification in discrete-event systems, IEEE Trans. Automat. Contr., vol. 50, pp. 2048 2053, Dec. 2005. Y. Ru and C. N. Hadjicostis, Fault-tolerant supervisory control of discrete event systems modeled by bounded Petri nets, to appear in Proc. of 2007 American Control Conference, New York, USA, 2007. L. Li, C. N. Hadjicostis, and R. S. Sreenivas, Designs of bisimilar Petri net controllers with fault tolerance capabilities, to appear in IEEE Transactions on Systems, Man and Cybernetics (Part A), 2007.