# Online Fault Prognosis of Labeled Petri Nets

Braian I de Freitas, Armand Toguyeni, João C Basilio

► To cite this version:

Braian I de Freitas, Armand Toguyeni, João C Basilio. Online Fault Prognosis of Labeled Petri Nets.
IEEE Control Systems Letters, 2025, 9, pp.420-425. 10.1109/LCSYS.2025.3573606. hal-05447221

HAL Id: hal-05447221

https://hal.science/hal-05447221v1

Submitted on 7 Jan 2026

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons CC BY 4.0 - Attribution - International License
Online Fault Prognosis of Labeled Petri Nets

Braian I. de Freitas, Armand Toguyeni, João C. Basilio, Senior Member, IEEE

**Abstract**— This paper addresses the problem of online fault prognosis of discrete event systems modeled by bounded and unbounded-labeled Petri nets (LPNs). Fault prognosis, also known as fault prediction, has as its main goal to detect that an unobservable fault event will inevitably occur in the future given the current event observation. Using the concepts of basis markings and coverability trees, we show that the prognosis can be performed online with a copy of the system LPN, referred to as the fault-driven Petri net. The contributions of this paper are the following: we present a general formulation and a solution to the problem of fault prognosis for both bounded and unbounded LPNs whose unique assumption is that the LPN has no cycles of unobservable transitions. The proposed method can perform an online fault prognosis even after fault occurrences, making it suitable for the prognosis of repetitive fault occurrences.

**Index Terms**— Discrete event systems, Fault diagnosis, Fault prognosis, Petri nets

I. INTRODUCTION

IN the context of discrete event systems (DESs), fault prognosis, also known as fault prediction, consists in detecting that an unobservable fault event will inevitably occur in the future. This prediction can be performed after a finite number of event occurrences during the system operation. This problem was first discussed by [1], in which the problem of prognosability of DESs modeled by automata is addressed.

Following [1], there have been several works on the prognosis and prognosability of DESs modeled by automata [2]. The notion of prognosability for automata was first extended to co-prognosability by [3], and recently revisited by [4]. In addition, the notion of prognosability and prognosis was also extended to automata with stochastic properties [5], [6]. However, significantly less papers have been proposed for DESs modeled by Petri nets. However, there are works that have significantly advanced the study of fault prognosis in Petri nets. Some approaches focus on verifying the prognosability of labeled Petri nets (LPNs) [7]–[9] rather than performing the prognosis. There are also those that perform fault prognosis methods whose decision about the future fault occurrence is an estimation, which may or may not be correct [10], [11]. On the other hand, a number of studies have focused on the

actual prognosis of faults in different Petri net classes [12]–[14]. The work of [12] focuses on an incremental approach for the fault prognosis of partially observed stochastic bounded Petri nets, where both the transitions and the places of the Petri net may or may not be observable. Similarly, [13] deals with the fault prognosis of partially observed Petri nets. Although the approach of [13] can perform the prognosis of the fault occurrence of both bounded and unbounded Petri nets, it performs the *k*-prognosis rather than the prognosis, i.e., the goal is to predict whether the fault event will inevitably occur after *k* event occurrences or less. Finally, the approach of [14] focuses on bounded LPNs, and the goal is to detect that the LPN will inevitably reach certain alarm markings.

In this paper, we focus on the problem of online fault prognosis of LPNs with indistinguishable transitions. It is worth remarking that the proposed approach is applicable to both bounded and unbounded LPNs. In addition, unlike the work of [13], which focuses on the *k*-prognosis, our approach performs the online fault prognosis in a less restrictive scenario. This distinction is important for Petri nets because, as will become clear later in the paper, the finite number of events that can occur before the fault occurrence can increase with the number of observed events.

In our approach, we analyze a copy of the system LPN, called the fault-driven Petri net (FDPN). The FDPN behaves similarly to the system LPN; however, there exists a relationship between the reachable markings of the FDPN and the occurrence of the fault. Using this relationship, we use coverability trees to analyze the basis markings of FDPN and perform the online fault prognosis. It is worth remarking that we use basis markings in order to avoid the computation of markings that are not necessary for the prognosis [15].

In summary, the contributions of this paper are as follows: (i) we present a general formulation for the problem of fault prognosis of LPNs; (ii) we propose a new method to perform the online fault prognosis of bounded and unbounded LPNs that can have different transitions labeled by the same event, either observable or unobservable. In addition, since the prognoser proposed here continues the online fault prognosis process even after the occurrence of fault events, it is suitable for the prognosis of repeated fault event occurrences [16].

This paper is organized as follows: Section II presents some basic concepts related to LPNs, coverability trees, and basis markings. Section III formulates the problem of fault prognosis of LPNs. Section IV presents our approach for the online fault prognosis of LPNs. Finally, Section V concludes this paper and presents possible future related works.

This work was supported in part by the Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES), Finance Code 001 and the Region Hauts-de-France. The work of João C. Basilio was supported in part by the Brazilian Research Council (CNPq) under Grant 316881/2021-0, and in part by the Carlos Chagas Foundation, Fundação de Amparo à Pesquisa do Estado do Rio de Janeiro (FAPERJ), under Grant E-26/201.144-2022. The work of Armand Toguyeni was supported by Région Hauts-de-France.

II. THEORETICAL BACKGROUND
A. Labeled Petri nets

Labeled Petri nets (LPNs) are bipartite weighted graphs defined by the septuple $\mathcal{N} = (P, T, Pre, Post, \vec{m}_0, \Sigma, \ell)$, where $P = \{p_1, \dots, p_{n_P}\}$ (resp. $T = \{t_1, \dots, t_{n_T}\}$) is a set of places (resp. transitions), $Pre$ (resp. $Post$) is an $n_P \times n_T$ matrix whose element $Pre(p, t)$ (resp. $Post(p, t)$) denotes the weight of the arc connecting place $p \in P$ to transition $t \in T$ (resp. transition $t \in T$ to place $p \in P$), $\vec{m}_0$ is the initial marking vector, $\Sigma$ is a set of events, and $\ell: T \to \Sigma$ is a labeling transition function that assigns to each transition $t \in T$ an event $\sigma \in \Sigma$. The incidence matrix of $\mathcal{N}$ is denoted by $W = Post - Pre$.

The states of a LPN $\mathcal{N}$ are denoted by marking vectors $\vec{m} = [m(p_1) \ m(p_2) \ \dots \ m(p_{n_P})]^T$, where $m(p) \in \mathbb{N}_0$ for $p \in P$, and $\mathbb{N}_0$ denotes the set of nonnegative integers. Marking $\vec{m}$ can also be denoted by $\vec{m} = m(p_1)p_1+m(p_2)p_2+\dots+m(p_{n_P})p_{n_P}$, which is simplified by removing component $m(p_k)p_k$, $k \in \{1, 2, \dots, n_P\}$, whenever $m(p_k)$ is zero.

A transition $t \in T$ is enabled by a marking $\vec{m}$ when $m(p) \ge Pre(p,t)$ for all $p \in P$, which is denoted by $\vec{m}[t]$. When an event $\sigma \in \Sigma$ occurs while the current marking is $\vec{m}$, then one of the transitions $t \in T$ enabled by $\vec{m}$ fires, changing $\vec{m}$ to a new marking $\vec{m}'$, where for all $p \in P$, $m'(p) = m(p) + W(p,t)$. This firing is denoted by $\vec{m}[t]\vec{m}'$.

The set of all possible transition sequences formed with $T$ is denoted as $T^*$. The firing vector of a transition sequence $r \in T^*$ is denoted as $\vec{\pi}_r = [\pi_r(t_1) \ \pi_r(t_2) \ \dots \ \pi_r(t_{n_T})]^T$, where $\pi_r(t) \in \mathbb{N}_0$ is the number of times that transition $t$ appears in $r$. A sequence $r \in T^*$ is enabled by a marking $\vec{m}$ if the transitions of $r$ can fire sequentially from $\vec{m}$, which is denoted by $\vec{m}[r]$. The sequential firing of the transitions of $r$ from a marking $\vec{m}$, being denoted by $\vec{m}[r]\vec{m}'$, yields a new marking $\vec{m}' \in \mathbb{N}_0^{n_P}$, where $\vec{m}' = \vec{m} + W\vec{\pi}_r$. Set $\Sigma^*$ denotes the Kleen closure of $\Sigma$, namely, the set of all event sequences formed with $\Sigma$, including the empty sequence $\varepsilon$. Function $\ell$ can be extended to transition sequences $r \in T^*$, yielding event sequences $s \in \Sigma^*$ such that $s = \ell(r)$.

Let us partition $\Sigma = \Sigma_o \cup \Sigma_{uo}$, where $\Sigma_o$ and $\Sigma_{uo}$ are the sets of observable and unobservable events, respectively. Likewise, we partition $T = T_o \cup T_{uo}$, where $T_o$ (resp. $T_{uo}$) is the set of the observable (resp. unobservable) transitions labeled by the events of $\Sigma_o$ (resp. $\Sigma_{uo}$). The observable projection of events is the mapping $P_o: \Sigma^* \to \Sigma_o^*$, being defined by the following recursion: (i) $P_o(\varepsilon) = \varepsilon$, (ii) $P_o(\sigma) = \sigma$, if $\sigma \in \Sigma_o$, or $P_o(\sigma) = \varepsilon$, if $\sigma \in \Sigma_{uo}$, and (iii) $P_o(s\sigma) = P_o(s)P_o(\sigma)$, for $s \in \Sigma^*$ and $\sigma \in \Sigma$. The inverse projection is the mapping $P_o^{-1}: \Sigma_o^* \to 2^{\Sigma^*}$, where $P_o^{-1}(s_o) = \{s \in \Sigma^*: s_o = P_o(s)\}$.

The $T'$-induced subnet of $\mathcal{N}$ is obtained by removing the transitions of $T$ that are not in $T'$. A LPN is acyclic if it does not have cycles formed with the places and transitions of the LPN. The set of all enabled transition sequences of $\mathcal{N}$ is defined as $LT(\mathcal{N}) = \{r \in T^*: \vec{m}_0[r]\}$. The set of reachable markings of $\mathcal{N}$ is defined as: $\mathcal{R}(\mathcal{N}) = \{\vec{m} \in \mathbb{N}_0^{n_P}: (\exists r \in LT(\mathcal{N})) [\vec{m}_0[r]\vec{m}]\}$. The LPN is bounded if $\mathcal{R}(\mathcal{N})$ is finite; otherwise, $\mathcal{N}$ is unbounded. The language of $\mathcal{N}$ is defined as $L(\mathcal{N}) = \{s \in \Sigma^*: (\exists r \in LT(\mathcal{N})) [\ell(r) = s]\}$. The observable language of $\mathcal{N}$ is defined as $L_o(\mathcal{N}) = \{s_o \in \Sigma_o^*: (\exists s \in$

$L(\mathcal{N})][s_o = P_o(s)]\}$. Given an event sequence $s \in L(\mathcal{N})$, the set of $s$-consistent markings is defined as $C(s) = \{\vec{m} \in \mathcal{R}(\mathcal{N}): (\exists r \in LT(\mathcal{N}))[(\ell(r) = s) \wedge (\vec{m}_0[r]\vec{m})]\}$. The set of $s_o$-consistent markings of any given observable event sequence $s_o \in L_o(\mathcal{N})$ is defined as $C_o(s_o) = \{\vec{m} \in \mathcal{R}(\mathcal{N}): (\exists s \in L(\mathcal{N}))[(P_o(s) = s_o) \wedge (\vec{m} \in C(s))]\}$.

B. Coverability trees

Given a LPN, a coverability tree (CT) is a quadruple $\Psi = (Q, E, M_\omega, \mu)$, where $Q = \{q_1, q_2, \dots, q_{n_Q}\}$ is the set of nodes, $E \in 2^{Q \times T \times Q}$ is the set of edges that connect the nodes of $Q$ and are associated with the transitions of $T$, $M_\omega = \{\vec{m}_{\omega,1}, \vec{m}_{\omega,2}, \dots, \vec{m}_{\omega,n_{M_\omega}}\}$ is the set of $\omega$-markings and $\mu: Q \to M_\omega$ is the node labeling function that associates each node with an $\omega$-marking. An algorithm for computing $\Psi$ is given in [17]. We denote as $\Psi_{\vec{m}}$ the CT computed with marking $\vec{m} \in \mathcal{R}(\mathcal{N})$ being considered as the initial marking.

Each $\omega$-marking $\vec{m}_\omega \in M_\omega$ is defined as a vector $\vec{m}_\omega = [m_\omega(p_1) \ m_\omega(p_1) \ \dots \ m_\omega(p_{n_P})]^T$, where $m_\omega(p) \in \mathbb{N}_0 \cup \{\omega\}$ for $p \in P$, and $\omega$ denotes that the number of tokens in the corresponding place can be as large as required.

The set of terminal nodes of $\Psi$ is defined as $Q_T(\Psi) = \{q \in Q: (\forall q' \in Q)(\forall t \in T)((q, t, q') \notin E)\}$, i.e., the set of nodes that do not have children. The nodes of $Q_T(\Psi)$ correspond to either: (i) $\omega$-markings that cannot fire transitions (deadlock nodes), or (ii) nodes labeled by the same $\omega$-markings as corresponding upstream nodes (repetitive nodes). We partition $Q_T(\Psi)$ as $Q_T(\Psi) = Q_D(\Psi) \cup Q_R(\Psi)$, where $Q_D(\Psi)$ and $Q_R(\Psi)$ are sets formed with deadlock and repetitive nodes, respectively. For a repetitive node $q \in Q_R(\Psi)$, we denote its upstream node that has the same $\omega$-marking as $q^R$.

C. Basis markings and minimal explanations

Let $\mathcal{N} = (P, T, Pre, Post, \vec{m}_0, \Sigma, \ell)$ be a LPN whose $T_{uo}$-induced subnet is acyclic. Given a marking $\vec{m} \in \mathcal{R}(\mathcal{N})$ and an observable transition $t_o \in T_o$, the corresponding set of minimal explanations is defined as $\mathcal{E}_{min}(\vec{m}, t_o) = \{r_{uo} \in T_{uo}^*: (\vec{m}[r_{uo}t_o]) \wedge ((\forall r'_{uo} \in T_{uo}^*: \{r_{uo}\}) \wedge (-(\vec{m}[r'_{uo}t_o])) \vee (-(\vec{m}[r'_{uo} < \vec{m}[r_{uo}t_o]))))\}$, where $\vec{m}[r'_{uo} < \vec{m}[r_{uo}]$ if, and only if $\pi_{r'_{uo}}(t) \le \pi_{r_{uo}}(t)$ for all $t \in T$ and there exists $t \in T$ such that $\pi_{r'_{uo}}(t) < \pi_{r_{uo}}(t)$. In other words, $\mathcal{E}_{min}(\vec{m}, t_o)$ has the minimal unobservable transition sequences that enable $t_o$ after firing from $\vec{m}$. An algorithm for computing $\mathcal{E}_{min}(\vec{m}, t_o)$ is given in [15].

The set of basis markings of $\vec{m}$ and $t_o$ is defined as $\mathcal{M}(\vec{m}, t_o) = \{\vec{m}_b \in \mathcal{R}(\mathcal{N}): (\exists r_{uo} \in \mathcal{E}_{min}(\vec{m}, t_o)) [\vec{m}[r_{uo}t_o]\vec{m}_b]\}$. Notice that $\mathcal{M}(\vec{m}, t_o)$ is the set of markings that $\mathcal{N}$ can reach after firing a minimal explanation and transition $t_o$ from $\vec{m}$. We also extend the definition of basis markings to observable event sequences $s_o \in \Sigma_o^*$ by using the following recursion: (i) $\mathcal{M}(\vec{m}, \varepsilon) = \{\vec{m}\}$; (ii) $\mathcal{M}(\vec{m}, \sigma_o) = \bigcup_{t_o \in T_o: \ell(t_o) = \sigma_o} \mathcal{M}(\vec{m}, t_o)$, for $\sigma_o \in \Sigma_o$; (iii) $\mathcal{M}(\vec{m}, s_o\sigma_o) = \bigcup_{\vec{m}_b \in \mathcal{M}(\vec{m}, s_o)} \mathcal{M}(\vec{m}_b, \sigma_o)$, for $s_o \in \Sigma_o^*$ and $\sigma_o \in \Sigma_o$.

Under the assumption that the $T_{uo}$-induced subnet of $\mathcal{N}$ is acyclic, it is possible to establish a relationship between the set of basis markings $\mathcal{M}(\vec{m}_0, s_o)$ and the set of $s_o$-consistent markings $C_o(s_o)$, as follows.
**Theorem 1 (Basis marking representation [15]):** Let $\mathcal{N} = (P, T, \text{Pre}, \text{Post}, \vec{m}_0, \Sigma, \ell)$ be a LPN whose $T_{uo}$-induced subnet is acyclic. Then, for each observable event sequence $s_o \in L_o(\mathcal{N})$, there exists an $s_o$-consistent marking $\vec{m}' \in C_o(s_o)$ if, and only if there exist a basis marking $\vec{m}_b \in \mathcal{M}(\vec{m}, s_o)$ and an unobservable transition sequence $r_{uo} \in T_{uo}^*$ such that $\vec{m}_b[r_{uo}]\vec{m}'$. $\square$

### III. PROBLEM FORMULATION

In order to properly address the problem of online fault prognosis of LPNs, we make the following assumption:

* **A1.** The $T_{uo}$-induced subnet of the LPN is acyclic.

Assumption **A1** is necessary since the approach proposed here relies on the computation of basis marking which requires the $T_{uo}$-induced subnet to be acyclic [15].

Let us partition set $\Sigma_{uo}$ as $\Sigma_{uo} = \Sigma_f \cup \Sigma_n$, where $\Sigma_f$ is the set of fault events and $\Sigma_n$ is the set of ordinary unobservable events. In our approach, we assume, without loss of generality, that there exists only one fault event, i.e., $\Sigma_f = \{\sigma_f\}$. If there are two or more fault events, the approach presented in this paper can be applied to each fault event separately and considering the remaining fault events as ordinary unobservable events [18]. In addition, we denote the subset of event sequences of $L(\mathcal{N})$ that either end with an observable event or is the empty sequence as $L_{eo}(\mathcal{N})$, which is defined as follows: $L_{eo}(\mathcal{N}) = \{s \in L(\mathcal{N}) : (s = \varepsilon) \lor ((\exists s' \in L(\mathcal{N}))(\exists \sigma_o \in \Sigma_o)[s = s'\sigma_o]))\}$.

Our objective is to develop an online prognoser that, given an observable event sequence $s_o \in L_o(\mathcal{N})$, makes one of the following decisions: (i) the fault event will inevitably occur in the future; (ii) the fault event will not occur; or (iii) the fault event may or may not occur. Formally, these three scenarios are defined as prognoser states, as follows.

**Definition 1 (Prognoser states):** Let $\mathcal{N} = (P, T, \text{Pre}, \text{Post}, \vec{m}_0, \Sigma, \ell)$ be a LPN whose $T_{uo}$-induced subnet is acyclic. A prognoser is the mapping $\mathcal{P}: L_o(\mathcal{N}) \to \{F, N, I\}$, where, for an observable event sequence $s_o \in L_o(\mathcal{N})$, the three possible prognoser states are defined as follows:

* $\mathcal{P}(s_o) = F$ if $(\forall s \in L_{eo}(\mathcal{N}) \cap P_o^{-1}(s_o))(\exists k_s \in \mathbb{N})(\forall s' \in \Sigma^*)((ss' \in L(\mathcal{N})) \land ((|s'| \ge k_s) \lor (\{ss'\} \Sigma \cap L(\mathcal{N}) = \emptyset))) \implies (\sigma_f \in s'))$;

* $\mathcal{P}(s_o) = N$ if $(\forall s \in L_{eo}(\mathcal{N}) \cap P_o^{-1}(s_o))(\forall s' \in \Sigma^*)((|ss'| \in L(\mathcal{N})) \implies (\sigma_f \notin s'))$;

* $\mathcal{P}(s_o) = I$ if $\mathcal{P}(s_o) \neq F$ and $\mathcal{P}(s_o) \neq N$. $\square$

According to Definition 1, for each event sequence $s \in L_{eo}(\mathcal{N}) \cap P_o^{-1}(s_o)$, we analyze all event sequences $s'$ in the continuation of $s$ within $L(\mathcal{N})$, i.e., $ss' \in L(\mathcal{N})$, that either lead to markings that do not enable any transition or are sufficiently long. If all $s'$ have the fault event, then the prognoser state is $F$, meaning that the fault event will inevitably occur. Conversely, if all $s'$ do not have the fault event, then the prognoser state is $N$, implying that the fault event will not occur. Finally, if the prognoser state is neither $F$ nor $N$, then the prognoser state is $I$ to infer that the fault event may or may not occur.

**Example 1:** Let us consider the LPN of Fig. 1 (a), where $\Sigma_o = \{a, b, c\}$, $\Sigma_{uo} = \{d, e, \sigma_f\}$, and $\sigma_f$ is the fault event.

<figure><img src="image_2.png" /><figcaption>**Fig. 1.** A LPN (a) and its corresponding FDPN (b).</figcaption></figure>

Assume that we have observed event $a$ $n$ times and event $b$ once, reaching either marking $np_2 + p_4$ or $np_2 + p_6$. Notice that the fault event cannot occur from marking $np_2 + p_4$, but will inevitably occur from marking $np_2 + p_6$, since transition $t_7$ can only fire $n$ times, allowing the fault event to occur with the firing of transition sequence $t_8t_9t_{10}$; therefore, the corresponding prognoser state for $a^n b$ is $\mathcal{P}(a^n b) = I$.

Consider now that event $c$ has been observed $n+1$ times after $a^n b$. In this case, the only transition sequence consistent with this observation is $t_1^n t_2 t_3 t_4^{n+1}$, whose firing leads to marking $np_2 + p_4$. Since the fault event cannot occur from $np_2 + p_4$, then it follows that $\mathcal{P}(a^n b c^{n+1}) = N$.

Finally, consider that $c^n b$ has been observed after $a^n b$. The only consistent transition sequence is $t_1^n t_5 t_6 t_7^n t_8$, which leads to $p_7$. Notice that the fault transition $t_{10}$ will inevitably fire after the firing of $t_9$, implying that $\mathcal{P}(a^n b c^n b) = F$. $\square$

### IV. ONLINE FAULT PROGNOSIS OF LABELED PETRI NETS

In this section, we present our approach for the online fault prognosis of LPNs. We first use the system LPN to construct a fault-driven Petri net whose reachable markings are related to the fault occurrence. Then, we use the fault-driven Petri net to prognose the fault occurrence from a marking and, finally, we show how the fault prognosis is performed online.

#### A. Fault-driven Petri net

The first step for the online fault prognosis is the construction of the fault-driven Petri net (FDPN), as follows.

**Definition 2 (Fault-driven Petri net):** Let $\mathcal{N} = (P, T, \text{Pre}, \text{Post}, \vec{m}_0, \Sigma, \ell)$ be a LPN whose $T_{uo}$-induced subnet is acyclic. The fault-driven Petri net (FDPN) of $\mathcal{N}$ is a LPN $\mathcal{N}_D = (P_d, T, \text{Pre}_d, \text{Post}_d, \vec{m}_{d,0}, \Sigma, \ell)$, where

* $P_d = P \cup \{p_d\}$;

* $m_{d,0}(p_d) = 0$ and, for each $p \in P$, $m_{d,0}(p) = m_0(p)$;

* for each transition $t \in T$:

- for each place $p \in P$, $\text{Pre}_d(p, t) = \text{Pre}(p, t)$ and $\text{Post}_d(p, t) = \text{Post}(p, t)$;

- $\text{Pre}_d(p_d, t) = 0$;

- $\text{Post}_d(p_d, t) = 1$ if $\ell(t) = \sigma_f$, or 0 otherwise. $\square$

Given a LPN $\mathcal{N}$, the FDPN $\mathcal{N}_D$ is a copy of $\mathcal{N}$ that has one additional place $p_d$, which we refer to as the fault detector
place. According to Definition 2, $\mathcal{N}_D$ has the same transitions as $\mathcal{N}$, whose firings change the tokens of the places of $P$ in the same way as they do in $\mathcal{N}$; however, for each transition $t_f \in T$ labeled by the fault event $\sigma_f$, the firing of $t_f$ in $\mathcal{N}_D$ adds a token to $p_d$ in order to indicate the fault occurrence. Since $\mathcal{N}_D$ does not have any transition that consumes tokens from $p_d$, it is not hard to verify that (i) $\text{LT}(\mathcal{N}_D) = \text{LT}(\mathcal{N})$, (ii) $\mathcal{N}_D$ satisfies Assumption A1, and (iii) any given transition sequence $r \in T^*$ that can fire in $\mathcal{N}$ has a fault transition if, and only if the firing of $r$ in $\mathcal{N}_D$ adds tokens to $p_d$. For example, the corresponding FDPN of the LPN of Fig. 1 (a) is depicted in Fig. 1 (b).

## B. Prognosing the fault occurrence from a marking

In this section, we show how the FDPN can be used to decide the future fault event occurrence from any given marking $\overrightarrow{m} \in \mathcal{R}(\mathcal{N})$. This decision is performed with the terminal nodes of the CT $\Psi_{\overrightarrow{m}_d}$ of $\mathcal{N}_D$ starting from a marking $\overrightarrow{m}_d \in \mathcal{R}(\mathcal{N}_D)$, where $(\forall p \in P)(m_d(p) = m(p))$ and $m_d(p_d)$ can assume any value. First, we present a necessary and sufficient condition that uses the terminal nodes of $\Psi_{\overrightarrow{m}_d}$ to decide if one or more tokens will eventually be added to component $m_d(p_d)$, which is equivalent to stating that the fault event will inevitably occur from $\overrightarrow{m}$, as follows.

**Theorem 2 (Faulty behavior confirmation):** Let $\mathcal{N}_D = (P_d, T, \text{Pred}, \text{Post}_d, \overrightarrow{m}_{d,0}, \Sigma, \ell)$ be a FDPN, $\overrightarrow{m}_d \in \mathcal{R}(\mathcal{N}_D)$ a marking of $\mathcal{N}_D$, and $\Psi_{\overrightarrow{m}_d} = (Q, E, M_\omega, \mu)$ the CT of $\mathcal{N}_D$ starting from $\overrightarrow{m}_d$. Then $A \iff B$, where:

* $A: (\exists k \in \mathbb{N})(\forall r \in T^*)(\forall \overrightarrow{m}'_d \in \mathcal{R}(\mathcal{N}_D))(((\overrightarrow{m}_d[r] \overrightarrow{m}'_d) \land ((|r| \ge k) \lor ((\forall t \in T)(\neg(\overrightarrow{m}'_d[t]))))) \implies (m'(p_d) > m(p_d))$;

* $B: (\forall q \in Q_T(\Psi_{\overrightarrow{m}_d}))(\forall \overrightarrow{m}_\omega \in M_\omega)((\overrightarrow{m}_\omega = \mu(q)) \implies (m_\omega(p_d) > m_d(p_d))$).

*Proof:* ($A \implies B$). Let $k \in \mathbb{N}$ be a positive integer that satisfies condition A. In addition, let $q \in Q_T(\Psi_{\overrightarrow{m}_d})$ be a terminal node and $\overrightarrow{m}_\omega = \mu(q)$ its corresponding $\omega$-marking. Notice that $q$ is either a deadlock node or a repetitive node.

Let us first consider that $q$ is a deadlock node. Then, $\overrightarrow{m}_\omega$ corresponds to the markings that can be reached from $\overrightarrow{m}_d$, but cannot enable any transition afterwards. Thus, according to condition A, it follows that $m_\omega(p_d) > m_d(p_d)$.

Let us consider now that $q$ is a repetitive node. We have two possible cases with respect to $\overrightarrow{m}_\omega$: either (i) $\overrightarrow{m}_\omega$ does not have any component equal to $\omega$, or (ii) it does.

Let us first consider case (i). Notice that $q \in \mathcal{N}$ is a repetitive node because there exists an upstream node $q^R$ such that $\mu(q^R) = \overrightarrow{m}_\omega$. This implies that $\overrightarrow{m}_\omega$ can be reached after the firing of a transition sequence longer than $k$, which is formed by the firing of transition sequence that leads from $\overrightarrow{m}_d$ to $\overrightarrow{m}_\omega$ and the repetitive firing of the transition sequence between $q^R$ and $q$; therefore, according to condition A, $m_\omega(p_d) > m_d(p_d)$.

Let us now consider case (ii). Since $\overrightarrow{m}_\omega$ has a component equal to $\omega$, there exists an upstream node $q'_u \in Q$ where a component of $\mu(q'_u)$ was first replaced by $\omega$. This replacement implies that $q'_u$ has another upstream node $q''_u \in Q$ such that the $\omega$-marking of $q'_u$ prior to the replacement has more tokens than the $\omega$-marking of $q''_u$. In addition, the transition sequence

between $q''_u$ and $q'_u$ can fire as many times as necessary from $\mu(q''_u)$; and thus, according to condition A, the $\omega$-marking of $q'_u$ has more tokens in $p_d$ than $\overrightarrow{m}_d$. Finally, since $\mathcal{N}_D$ does not have any transition that removes tokens from $p_d$, it follows that $m_\omega(p_d) > m_d(p_d)$.

($B \implies A$). Assume that condition B is true. Since all of the repetitive nodes of $\Psi_{\overrightarrow{m}_d}$ have more tokens in component $p_d$ than $\overrightarrow{m}_d$, it follows that all of the nodes of $\Psi_{\overrightarrow{m}_d}$ with components $\omega$ have more tokens in $p_d$ than $\overrightarrow{m}_d$. Indeed, if there was a node $q$ whose $\omega$-marking has the same number of tokens in $p_d$ as $\overrightarrow{m}_d$, then there would exist a path from $q$ to a repetitive node whose $\omega$-marking would have the same number of tokens in $p_d$ as $\overrightarrow{m}_d$, which contradicts B.

Let $k \in \mathbb{N}$ be the height of $\Psi_{\overrightarrow{m}_d}$, i.e., the length of the longest possible path in the CT. Then, any transition sequence $r \in T^*$ such that $\overrightarrow{m}_d[r]$ and $|r| \ge k+1$ corresponds to a path in $\Psi_{\overrightarrow{m}_d}$ that goes through either a repetitive node of $\Psi_{\overrightarrow{m}_d}$ or a node labeled by an $\omega$-marking; therefore, the firing of $r$ leads $\overrightarrow{m}_d$ to a marking with more tokens in component $p_d$ than $\overrightarrow{m}_d$. If $|r| < k+1$, but the marking reached after $r$ does not enable any transition, then it corresponds to a path that leads to a deadlock node, which also implies that the firing of $r$ leads $\overrightarrow{m}_d$ to a marking with more tokens in component $p_d$ than $\overrightarrow{m}_d$; and thus, condition A is true.

In other words, the fault event will inevitably occur from $\overrightarrow{m}$ if, and only if all of the terminal nodes of $\Psi_{\overrightarrow{m}_d}$ have more tokens in component $p_d$ than $\overrightarrow{m}_d$.

Similar to Theorem 2, we also establish a necessary and sufficient condition to use $\Psi_{\overrightarrow{m}_d}$ to determine if the fault event will not occur from $\overrightarrow{m}$, as follows.

**Theorem 3 (Normal behavior confirmation):** Let $\mathcal{N}_D = (P_d, T, \text{Pred}, \text{Post}_d, \overrightarrow{m}_{d,0}, \Sigma, \ell)$ be a FDPN, $\overrightarrow{m}_d \in \mathcal{R}(\mathcal{N}_D)$ a marking of $\mathcal{N}_D$, and $\Psi_{\overrightarrow{m}_d} = (Q, E, M_\omega, \mu)$ the CT of $\mathcal{N}_D$ starting from $\overrightarrow{m}_d$. Then $A \iff B$, where:

* $A: (\forall r \in T^*)(\forall \overrightarrow{m}'_d \in \mathcal{R}(\mathcal{N}_D))((\overrightarrow{m}_d[r] \overrightarrow{m}'_d) \implies (m'_d(p_d) = m_d(p_d));$

* $B: (\forall q \in Q_T(\Psi_{\overrightarrow{m}_d}))(\forall \overrightarrow{m}_\omega \in M_\omega)((\overrightarrow{m}_\omega = \mu(q)) \implies (m_\omega(p_d) = m_d(p_d))$).

*Proof:* ($A \implies B$). If B is false, then there exists a terminal node $q \in Q_T(\Psi_{\overrightarrow{m}_d})$ labeled by an $\omega$-marking with more tokens in $p_d$ than $\overrightarrow{m}_d$. Notice that the existence of $q$ implies that there exists a transition sequence $r \in T^*$ whose firing leads $\overrightarrow{m}_d$ to a marking with more tokens in $p_d$ than $\overrightarrow{m}_d$, which implies that A is false.

($B \implies A$). If A is false, then there exists a sequence $r \in T^*$ whose firing from $\overrightarrow{m}_d$ leads to a marking $\overrightarrow{m}'_d \in \mathcal{R}(\mathcal{N}_D)$ with more tokens in $p_d$ than $\overrightarrow{m}_d$. The existence of $r$ and $\overrightarrow{m}'_d$ implies that there exists a node $q \in Q$ labeled by an $\omega$-marking that has more tokens in $p_d$ than $\overrightarrow{m}_d$. Finally, since the transitions of $\mathcal{N}_D$ do not remove tokens from $p_d$, there exists a path in $\Psi_{\overrightarrow{m}_d}$ that leads from $q$ to a terminal node $q_T \in Q_T(\Psi_{\overrightarrow{m}_d})$ that also has more tokens in $p_d$ than $\overrightarrow{m}_d$, which implies that B is false.

**Remark 1:** According to Definition 1, the fault event can occur prior to the observation of $s_o$, since event sequence $s \in L_{eo}(\mathcal{N}) \cap P_o^{-1}(s_o)$ may or may not have the fault event. In addition, Theorems 2 and 3 relate the future occurrence of a fault after a marking $\overrightarrow{m}_d \in \mathcal{R}(\mathcal{N}_D)$ with the increase in the
<figure><img src="image_3.png" /><figcaption>Fig. 2. CTs of the FDPN of Fig. 1 (b) starting from markings $p_2 + p_6$ (a), $p_2 + p_4$ (b), and $p_7$ (c).</figcaption></figure>

number of tokens in the component $p_d$ of the reached markings of $\overrightarrow{m}_d$. Thus, even if $\overrightarrow{m}_d$ already has tokens in component $p_d$ that correspond to the previous fault occurrence, we can verify that the fault event will occur again from $\overrightarrow{m}_d$ by verifying that all reached markings have additional tokens in $p_d$. Because of that, our approach is also suitable for the prognosis of repeated fault occurrences.

**Example 2:** Let us consider the FDPN of Fig. 1 (b) and its marking $p_2 + p_6$, which can be reached after the firing of transition sequence $t_1t_5t_6$ from the initial marking. By using the algorithm of [17], we obtain $\Psi_{p_2+p_6}$ as the CT depicted in Fig. 2 (a). Notice that the set of terminal nodes of $\Psi_{p_2+p_6}$ is $Q_T(\Psi_{p_2+p_6}) = \{q_{15}, q_{16}, q_{17}\}$, where $\mu(q_{15}) = p_2 + p_6 + \omega p_d$ and $\mu(q_{16}) = \mu(q_{17}) = p_6 + \omega p_d$. Since all of the $\omega$-markings that label terminal nodes have more tokens in $p_d$ than $p_2 + p_6$, then, according to Theorem 2, we can be sure that the fault event will inevitably occur from $p_2 + p_6$.

Consider now marking $p_2 + p_4$, which can be reached after the firing of $t_1t_2t_3$. The corresponding CT $\Psi_{p_2+p_4}$ is shown in Fig. 2 (b). Notice that the only terminal node of $\Psi_{p_2+p_4}$ is labeled by $p_2 + p_4$, which has the same number of tokens in $p_d$ as the marking being considered; thus, according to Theorem 3, the fault event will not occur from $p_2 + p_4$. $\square$

### C. Online fault prognosis

In this section, we present an algorithm for deciding the prognoser state online as events are observed during the system operation. Firstly, we use Theorems 1, 2, and 3 to establish a relationship between the prognoser states of any given LPN and the basis markings of its FDPN, as follows.

**Theorem 4 (Prognoser states using basis markings):** Let $\mathcal{N} = (P, T, \text{Pre}, \text{Post}, \overrightarrow{m}_{d,0}, \Sigma, \ell)$ be a LPN and $\mathcal{N}_D = (P_d, T, \text{Pre}_d, \text{Post}_d, \overrightarrow{m}_{d,0}, \Sigma, \ell)$ the corresponding FDPN. Then, the prognoser state of any given event sequence $s_o \in L_o(\mathcal{N})$ can be decided as follows:

* $\mathcal{P}(s_o) = F$ if, and only if: $(\forall \overrightarrow{m}_{d,b} \in \mathcal{M}(\overrightarrow{m}_{d,0}, s_o))(\forall q \in Q_T(\Psi_{\overrightarrow{m}_{d,b}}))(\forall \overrightarrow{m}_{\omega} \in M_{\omega})((\overrightarrow{m}_{\omega} = \mu(q)) \implies (m_{\omega}(p_d) > m_{d,b}(p_d)));$

* $\mathcal{P}(s_o) = N$ if, and only if: $(\forall \overrightarrow{m}_{d,b} \in \mathcal{M}(\overrightarrow{m}_{d,0}, s_o))(\forall q \in Q_T(\Psi_{\overrightarrow{m}_{d,b}}))(\forall \overrightarrow{m}_{\omega} \in M_{\omega})((\overrightarrow{m}_{\omega} = \mu(q)) \implies (m_{\omega}(p_d) = m_{d,b}(p_d)));$

* $\mathcal{P}(s_o) = I$ if, and only if $\mathcal{P}(s_o) \neq F$ and $\mathcal{P}(s_o) \neq N$. $\square$

*Proof:* Let $s_o \in L_o(\mathcal{N})$ be an event sequence. We prove each bi-implication separately.

($\mathcal{P}(s_o) = F$). According to Definition 1, $\mathcal{P}(s_o) = F$ if, and only if the fault event will inevitably occur after observing $s_o$. Then, according to the relationship between $\mathcal{N}$ and $\mathcal{N}_D$, $\mathcal{P}(s_o) = F$ if, and only if every $s_o$-consistent marking $\overrightarrow{m}_d \in C_o(s_o)$ of $\mathcal{N}_D$ reaches markings $\overrightarrow{m}'_d \in \mathcal{R}(\mathcal{N}_D)$ with more tokens in $p_d$ than $\overrightarrow{m}_d$ after the firings of either sufficiently long transition sequences or transition sequences that lead to markings that do not enable any transition.

According to Theorem 1, all $s_o$-consistent markings $\overrightarrow{m}_d \in C_o(s_o)$ can be reached from basis markings $\overrightarrow{m}_{d,b} \in \mathcal{M}(\overrightarrow{m}_{d,0}, s_o)$ after the firing of unobservable transitions; therefore, the aforementioned bi-implication is equivalent to stating that $\mathcal{P}(s_o) = F$ if, and only if every basis marking $\overrightarrow{m}_{d,b} \in \mathcal{M}(\overrightarrow{m}_{d,0}, s_o)$ reaches markings $\overrightarrow{m}'_d \in \mathcal{R}(\mathcal{N}_D)$ with more tokens in $p_d$ than $\overrightarrow{m}_{d,b}$ after the firings of either sufficiently long transition sequences or transition sequences that lead to markings that do not enable any transition. According to Theorem 2, the previous assertion is true for every basis marking $\overrightarrow{m}_{d,b} \in \mathcal{M}(\overrightarrow{m}_{d,0}, s_o)$ if, and only if all of the terminal nodes of the CTs $\Psi_{\overrightarrow{m}_{d,b}}$ are labeled by $\omega$-markings with more tokens in $p_d$ than $\overrightarrow{m}_{d,b}$, which is equivalent to the first bi-implication of this theorem.

($\mathcal{P}(s_o) = N$). The proof of the second bi-implication of this theorem is similar to that of the first; however, we consider the second bi-implication of Definition 1 instead of the first and Theorem 3 instead of Theorem 2.

($\mathcal{P}(s_o) = I$). Since the first two bi-implications of this theorem are true, it follows that $\mathcal{P}(s_o) = I$ if, and only if $\mathcal{P}(s_o) \neq F$ and $\mathcal{P}(s_o) \neq N$. $\blacksquare$

Therefore, in order to decide the prognoser states using Theorem 4 for any given observed event sequence $s_o \in L_o(\mathcal{N})$, we need to perform two main steps: (i) compute the set of basis markings $\mathcal{M}(\overrightarrow{m}_{d,0}, s_o)$ related to $s_o$ and the FDPN; and (ii) compute and analyze the terminal nodes of every CT $\Psi_{\overrightarrow{m}_{d,b}}$ that starts with a node labeled by a basis marking $\overrightarrow{m}_{d,b} \in \mathcal{M}(\overrightarrow{m}_{d,0}, s_o)$. We perform these steps online for each event observation with Algorithm 1. It is worth remarking that the sets of basis markings $\mathcal{M}(\overrightarrow{m}_{d,0}, s_o)$ are computed in accordance with the online method proposed by [15] for unbounded LPNs, where, for each new event observation $\sigma_o$, the new set of basis markings $\mathcal{M}(\overrightarrow{m}_{d,0}, s_o\sigma_o)$ is computed using the previous set $\mathcal{M}(\overrightarrow{m}_{d,0}, s_o)$.

**Example 3:** Let us use Algorithm 1 to perform the online fault prognosis of the LPN of Fig. 1 (a), whose FDPN is depicted in Fig. 1 (b). Algorithm 1 first computes $s_o$ as $\varepsilon$, and the initial set of basis marking $\mathcal{M}(\overrightarrow{m}_{d,0}, \varepsilon)$ as $\{p_1\}$ (Steps 1-2). Although not illustrated here, the algorithm first obtains the prognoser state for $s_o = \varepsilon$ in steps 4-11, and then it waits for a new event observation in Step 12.

Assume that sequence $ab$ was observed. Using the online approach proposed by [15] and two iterations of Steps 12-14, Algorithm 1 obtains the corresponding set of basis markings as $\mathcal{M}(\overrightarrow{m}_{d,0}, ab) = \{p_2+p_4, p_2+p_6\}$, to be used to determine the prognoser state in Steps 4-11. To this end, the CTs $\Psi_{p_2+p_4}$ and $\Psi_{p_2+p_6}$, depicted in Figs. 2 (b) and (a), respectively, are computed. Notice that the only terminal node of $\Psi_{p_2+p_4}$ has the same number of tokens in $p_d$ as $p_2 + p_4$, whereas all the terminal nodes of $\Psi_{p_2+p_6}$ have more tokens in $p_d$ than
<caption>**Algorithm 1:** Online fault prognosis.</caption>

Input : FDPN $\mathcal{N}_D = (P_d, T, \text{Pre}_d, \text{Post}_d, \vec{m}_{d,0}, \Sigma, \ell)$.
Output : Prognoser state $\mathcal{P}(s_o)$.
1 set $s_o \leftarrow \varepsilon$;
2 set $\mathcal{M}(\vec{m}_{d,0}, s_o) \leftarrow \{\vec{m}_{d,0}\}$;
3 **while** the prognoser is running **do**
4 &nbsp;&nbsp;&nbsp;&nbsp;**for** each $\vec{m}_{d,b} \in \mathcal{M}(\vec{m}_{d,0}, s_o)$, obtain $\Psi_{\vec{m}_{d,b}}$ according to [17];
5 &nbsp;&nbsp;&nbsp;&nbsp;**if** for all $\vec{m}_{d,b} \in \mathcal{M}(\vec{m}_{d,0}, s_o)$ and $q \in Q_T(\Psi_{\vec{m}_{d,b}})$, $\mu(q)$ has more tokens in $p_d$ than $\vec{m}_{d,b}$ **then**
6 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;**set** $\mathcal{P}(s_o) \leftarrow F$;
7 &nbsp;&nbsp;&nbsp;&nbsp;**else** if for all $\vec{m}_{d,b} \in \mathcal{M}(\vec{m}_{d,0}, s_o)$ and $q \in Q_T(\Psi_{\vec{m}_{d,b}})$, $\mu(q)$ has the same number of tokens in $p_d$ as $\vec{m}_{d,b}$ **then**
8 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;**set** $\mathcal{P}(s_o) \leftarrow N$;
9 &nbsp;&nbsp;&nbsp;&nbsp;**else**
10 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;**set** $\mathcal{P}(s_o) \leftarrow I$;
11 **end**
12 wait for the observation of an event $\sigma_o \in \Sigma_o$;
13 compute $\mathcal{M}(\vec{m}_{d,0}, s_o\sigma_o)$ according to [15];
14 set $s_o \leftarrow s_o\sigma_o$;
15 **end**

$p_2 + p_6$; thus, the conditions of Steps 5 and 7 are not true, causing Step 10 to decide that $\mathcal{P}(ab) = I$.

Assume that sequence *cb* was observed after *ab*. Then, the corresponding set of basis markings is $\mathcal{M}(\vec{m}_{d,0}, abcb) = \{p_7\}$. In order to decide $\mathcal{P}(abcb)$, Algorithm 1 computes $\Psi_{p_7}$ as the CT of Fig. 2 (c). Notice that the only terminal node of $\Psi_{p_7}$ is labeled by $p_7 + \omega p_d$, which has more tokens in $p_d$ than $p_7$; thus, according to Steps 5-6, $\mathcal{P}(abcb) = F$.

Finally, consider that sequence *cc* was observed after *ab*. The corresponding set of basis markings is computed as $\mathcal{M}(\vec{m}_{d,0}, abcc) = \{p_2 + p_4\}$, leading to the computation of $\Psi_{p_2+p_4}$. Since the only terminal node of $\Psi_{p_2+p_4}$ is also labeled by $p_2 + p_4$, the condition of Step 7 is satisfied; therefore, according to Step 8, $\mathcal{P}(abcc) = N$. □

## D. Computational complexity analysis

Notice that Algorithm 1 relies on the computation of coverability trees, whose complexity is an open problem. Therefore, a closed expression for the computational complexity of Algorithm 1 cannot be provided.

On the other hand, if the LPN is bounded, then several steps of Algorithm 1 can be performed offline, as follows: (i) the basis reachability graph (BRG) of the FDPN can be computed as in [15], which reduces the online computation of $\mathcal{M}(\vec{m}_{d,0}, s_o)$ to the selection of nodes of the BRG after each event observation; (ii) the future fault occurrence for each basis marking of the BRG can be decided offline in accordance with Theorems 2 and 3, allowing the prognoser state to be updated by simply assessing a list that relates each basis marking with future fault occurrence. Thus, the online computational complexity of Algorithm 1 becomes equal to the online computation of $\mathcal{M}(\vec{m}_{d,0}, s_o)$ using BRG, i.e., $O(|\mathcal{R}(\mathcal{N}_D)| \times n_T)$, where $|\mathcal{R}(\mathcal{N}_D)|$ is the number of markings of the FDPN and $n_T$ is the number of transitions.

## V. CONCLUSION

In this paper, a new approach for the online fault prognosis of DESs modeled by LPN is proposed. By leveraging the concepts of basis markings and CTs, we present necessary

and sufficient conditions that ensures that the fault prognosis is performed correctly. Different from previous approaches, the proposed method is general, being capable of prognosing the fault occurrence of any LPN that satisfies Assumption **A1**, including unbounded LPN, and is able to perform a prognosis that does not depend on a constant *k*, as in [13].

For future works, we plan to improve the method by using the concept of representation-based state estimation to analyze the basis markings of the LPN [19]. In addition, we plan to address the problem of reducing the size of the CTs that are computed online by avoiding the computation of the nodes that are not necessary for the online fault prognosis.

## REFERENCES

[1] S. Genc and S. Lafortune, “Predictability of event occurrences in partially-observed discrete-event systems,” *Automatica*, vol. 45, no. 2, pp. 301–311, 2009.

[2] A. T. Watanabe, R. Sebem, A. B. Leal, and M. d. S. Hounsell, “Fault prognosis of discrete event systems: An overview,” *Annual Reviews in Control*, vol. 51, pp. 100–110, 2021.

[3] R. Kumar and S. Takai, “Decentralized prognosis of failures in discrete event systems,” *IEEE Transactions on Automatic Control*, vol. 55, no. 1, pp. 48–59, 2009.

[4] R. J. Barcelos and J. C. Basilio, “Disjunctive fault prediction of decentralized discrete event systems: Verification, predictor design and k copredictability,” *Automatica*, vol. 148, p. 110769, 2023.

[5] J. Chen and R. Kumar, “Stochastic failure prognosability of discrete event systems,” *IEEE Transactions on Automatic Control*, vol. 60, no. 6, pp. 1570–1581, 2014.

[6] ——, “Stochastic failure prognosis of discrete event systems,” *IEEE Transactions on Automatic Control*, vol. 67, no. 10, pp. 5487–5492, 2021.

[7] D. You, S. Wang, and C. Seatzu, “Verification of fault-predictability in labeled Petri nets using predictor graphs,” *IEEE Transactions on Automatic Control*, vol. 64, no. 10, pp. 4353–4360, 2019.

[8] X. Yin, “Verification of prognosability for labeled Petri nets,” *IEEE Transactions on Automatic Control*, vol. 63, no. 6, pp. 1828–1834, 2017.

[9] W. Wu, X. Yin, and S. Li, “Verification of coprosnosability in decentralized fault prognosis of labeled Petri nets,” in *2018 IEEE Conference on Decision and Control (CDC)*. IEEE, 2018, pp. 4845–4850.

[10] R. Ammour, E. Leclercq, E. Sanlaville, and D. Lefebvre, “Fault prognosis of timed stochastic discrete event systems with bounded estimation error,” *Automatica*, vol. 82, pp. 35–41, 2017.

[11] R. Kanazy, S. Chafik, and E. Niel, “Prognosis of failure events based on labeled temporal Petri nets,” *Advances in Science, Technology and Engineering Systems Journal*, vol. 5, no. 3, pp. 432–441, 2020.

[12] R. Ammour, E. Leclercq, E. Sanlaville, and D. Lefebvre, “Fault prognosis using partially observed stochastic Petri-nets: an incremental approach,” *Discrete Event Dynamic Systems*, vol. 28, pp. 247–267, 2018.

[13] D. Lefebvre, “Fault diagnosis and prognosis with partially observed Petri nets,” *IEEE Transactions on Systems, Man, and Cybernetics: Systems*, vol. 44, no. 10, pp. 1413–1424, 2014.

[14] Z. Ma, X. Yin, and Z. Li, “Marking predictability and prediction in labeled Petri nets,” *IEEE Transactions on Automatic Control*, vol. 66, no. 8, pp. 3608–3623, 2020.

[15] M. P. Cabasino, A. Giua, M. Pocci, and C. Seatzu, “Discrete event diagnosis using labeled Petri nets. an application to manufacturing systems,” *Control Engineering Practice*, vol. 19, no. 9, pp. 989–1001, 2011.

[16] A. Boussif, M. Ghazel, and J. C. Basilio, “Intermittent fault diagnosability of discrete event systems: an overview of automaton-based approaches,” *Discrete Event Dynamic Systems*, vol. 31, pp. 59–102, 2021.

[17] T. Murata, “Petri nets: properties, analysis, and applications,” *Proceedings of the IEEE*, vol. 77, no. 4, pp. 541–580, 1989.

[18] L. P. Santoro, M. V. Moreira, and J. C. Basilio, “Computation of minimal diagnosis bases of discrete-event systems using verifiers,” *Automatica*, vol. 77, pp. 93–102, 2017.

[19] B. I. de Freitas, A. Toguyeni, and J. C. Basilio, “Online representation-based state estimation of λ-free labeled Petri nets,” *IFAC-PapersOnLine*, vol. 58, no. 1, pp. 72–77, 2024.