=Paper=
{{Paper
|id=Vol-1431/paper3
|storemode=property
|title=Combining Enumerative and Symbolic - Techniques for Diagnosis of Discrete-Event Systems
|pdfUrl=https://ceur-ws.org/Vol-1431/paper3.pdf
|volume=Vol-1431
|dblpUrl=https://dblp.org/rec/conf/vecos/BoussifGK15
}}
==Combining Enumerative and Symbolic - Techniques for Diagnosis of Discrete-Event Systems==
Combining Enumerative and Symbolic
Techniques for Diagnosis of Discrete-Event
Systems
Abderraouf Boussif Mohamed Ghazel Kais Klai
Univ. Lille Nord de France, Univ. Lille Nord de France, LIPN, CNRS UMR 7030,
F-59000 Lille, France F-59000 Lille, France Univ. Paris 13, Sorbonne Paris Cité,
IFSTTAR, Cosys/Estas, IFSTTAR, Cosys/Estas,
F-59650 Villenveuve d’Ascq, France F-59650 Villenveuve d’Ascq, France
FR FR FR
abderraouf.boussif@ifsttar.fr mohamed.ghazel@ifsttar.fr kais.klai@lipn.univ-paris13.fr
In this paper, an efficient approach to verify diagnosability of discrete-event systems is proposed. The
approach consists in constructing a hybrid diagnoser based on the symbolic observation graph (SOG), which
is a technique that combines symbolic and enumerative representations in order to build a deterministic
observer from a partially observed model. The construction of the diagnoser as well as the verification of
diagnosability are performed simultaneously on-the-fly, which can considerably reduce the generated state
space of the diagnoser and thus the overall running time. Furthermore, the proposed approach provides
a heuristic strategy in order to converge fast into the necessary part, of the diagnoser, for analysing
diagnosability.
Discrete-Event Systems, Diagnosability Analysis, Symbolic Observer Graph, On-the-Fly Verification.
1. INTRODUCTION further developed later. In this paper, (Sampath et al.
1995), the original definition of diagnosability was
In automated monitoring and fault diagnosis of introduced in the language context. A systematic
complex dynamic systems, one of the central tasks method to check diagnosability based on a dedicated
is to detect and identify the occurrence of failures deterministic version of the model derived from the
as early as possible. This task has become an original system, a so-called diagnoser, was also
active research area in recent years (Zaytoon and provided. It consists of a specific observer of the
Lafortune 2013). From the theoretical point of view system associated with a labelling function that
and at a high level of abstraction, Discrete-Event attributes to each state (or macro-state), in this
Systems (DESs) are more suitable for performing observer, a label indicating whether the state is
diagnosis analysis on complex systems (Cassandras reached by a faulty execution or not, i.e. an execution
and Lafortune 2007). where some particular unobservable events, called
faults, have occurred or not.
One of the main issues in diagnosis activity that
must be addressed is diagnosability investigation. Other automata-based approaches (Jiang et al.
Analysing diagnosability of a system intends to 2001; Yoo and Lafortune 2002), aiming to reduce
determine accurately whether any predetermined computational complexity have been then proposed.
failure or class of failures can be detected and In (Yoo and Lafortune 2002), a polynomial-time
identified within a finite delay following its occurrence algorithm for checking diagnosability based on
(Sampath et al. 1995). a structure called verifier is adopted. In (Jiang
et al. 2001), an algorithm based on the twin plant
Diagnosability verification has received considerable structure (a parallel composition of the investigated
attention since the seminal paper by (Sampath automaton with itself) is proposed. Reformulations
et al. 1995), which provides a basic concept and of these works in model-checking framework were
a formal definition of diagnosability analysis and first proposed in (Cimatti et al. 2003) and extended
fault diagnosis of DESs that were adopted and in (Boussif and Ghazel 2015). The goal is to check
diagnosability property in the same way as to check while transitions between macro-states are
any safety property. represented by enumerate observable events.
Furthermore, some works on diagnosability of 2. We design an appropriate algorithm, for
DESs turned to Petri nets (PNs) formalism, simultaneously constructing the diagnoser and
benefiting from the mathematical and graphical checking diagnosability on-the-fly. Actually, the
representations capability and the well-developed verification process is stopped (only a part
theory underlying PNs (Peterson 1981). (Ushio of the diagnoser is built) as soon as the
et al. 1998) extended Sampath’s study to systems diagnosability is proven to be unsatisfied,
modelled by PNs with the assumption that some which can considerably reduce the generated
places are observables whereas all of the transitions state space of the diagnoser. Furthermore,
are unobservable. A diagnoser is constructed from the proposed algorithm is endowed with a
the reachability graph. In (Wen and Li 2005), heuristic strategy in order to converge fast
the authors proposed a sufficient condition for into the necessary part of the diagnoser for
testing diagnosability by checking the structure diagnosability analysis.
of T -invariants of a PN. In (Cabasino et al.
2009) the modified basis reachability graph (MBRG) The paper is structured as follows. In Section 2,
and basis reachability diagnoser (BRD), which we introduce the basic background needed to deal
provide a compact representation of the reachability with diagnosability and to develop our approach. In
graph, were developed. In (Basile et al. 2012), an Section 3, we recall the notion of diagnosability as
approach for checking diagnosability by quantifying well as the original diagnoser approach. Section 4 is
the finite delay of diagnosability (the so-called K- devoted to discuss the Symbolic Observation Graph
diagnosability) was proposed by using the integer adapted to the context of this paper. In Section 5,
linear programming (ILP) technique. A structure the verification approach is sketched out then an on-
called verifier net (VN) was introduced in (Cabasino the-fly algorithm based on the SOG is presented.
et al. 2014) to deal with diagnosability for both Section 6 discusses the pertinent existing work in
bounded and unbounded PNs. Recently, (Liu et al. relation with the present work. Finally, conclusion
2014a) has proposed an on-the-fly and incremental remarks and future research directions are given in
diagnosis technique to construct a diagnoser from a Section 7.
bounded PN in order to verify diagnosability and K-
diagnosability properties. 2. PRELIMINARIES
To get a general overview on the literature pertaining We first recall some standard notations that will be
to diagnosis of DESs, the reader can refer to the used in the sequel. Let Σ be a finite alphabet of
recent survey in (Zaytoon and Lafortune 2013), events (actions). A string is a finite sequence of
where theoretical and practical issues, tools and events in Σ. denotes the empty string. Given a
other issues in relation with diagnosis are discussed. string s, the length of s is denoted by |s|. The set
of all strings formed by events in Σ is denoted by Σ∗ .
The challenge of analysing diagnosability is the
Any subset of Σ∗ is called a language. Given a string
combinatorial explosion problem that appears during
s ∈ L, L/s , {t ∈ Σ∗ |s.t ∈ L} is called the post-
the building of the intermediate models (diagnoser,
language of L after s and defined as L/s. L is said
verifier, twin plant, MBRG, etc.). This is due to the
to be extension-closed when L.Σ∗ = L.
high complexity of these constructed models and to
the generation of the whole state-space which may The approach introduced in this paper applies
have considerable time and memory cost. to discrete-events systems modelled by Labelled
Transitions Systems (LTSs for short). The formal
To partially overcome this problem, we propose,
definition of LTS is as follows.
in this paper, an efficient approach to construct
a hybrid diagnoser on-the-fly, in the sense of
Definition 1 (LTS): An LTS over Σ is defined by a
combining enumerative and symbolic techniques.
4-tuple hQ, Σ, →, q0 i, where:
The contributions of this paper are twofold:
• Q is a finite set of states;
1. We provide a behavioural diagnoser based
on the Symbolic Observation Graph (Haddad • Σ is a finite set of events;
et al. 2004) which is an efficient binary
decision diagram (BDD) based abstraction of • →⊆ Q × Σ × Q is the transition relation;
the model state space. Thus, macro-states of
• q0 ∈ Q is the initial state.
the diagnoser will be compacted using BDDs
In the remainder of this section, we consider a given assume that the LTS G under consideration satisfies
LTS G = hQ, Σ, →, q0 i. For q, q 0 ∈ Q and σ ∈ Σ, we the following two assumptions:
σ
denote q −→ q 0 , (q, σ, q 0 ) ∈→. q → means that ∃q 0 ∈
Q:q−
σ
→ q 0 . If s = σ1 , σ2 , . . . , σn is a string (sequence 1. The language generated by G is live, i.e. there
of events), s̄ denotes the set of actions occurring in s. is an executable transition from any state of the
Moreover, q −
s
→ q 0 denotes that ∃q1 , q2 , . . . , qn−1 ∈ Q system.
σ1 σ2 σn ∗
such that, q −→ q1 −→ . . . qn−1 −−→ q0 . q −
→ q0 2. The LTS G is finite, in term of the state space,
0 s
denotes that q is reachable from q (i.e. q − → q 0 for and does not contain cycles formed only by
∗
some s ∈ Σ∗ ), and q − →E q 0 holds if s̄ ⊆ E. unobservable events.
σ
We denote by Enable(q) the set of events σ s.t. q −
→, 3.1. Definition of diagnosability
for a set of states Q0 ⊆ Q, EnableE (Q0 ) denote the
0 Diagnosability is an important property in the
set of enabled eventsS from the set of states Q , i.e.
0 monitoring and fault diagnosis activities. In simple
Enable(Q ) denotes q∈Q0 Enable(q).
terms, it refers to the ability to infer accurately,
An execution from the initial state q0 of an LTS G is from a partially observed execution, about the
σ1 σn
a finite sequence of transitions π = q0 −→ q1 . . . −−→ faulty behaviour within a finite delay after possible
qn . The event-trace of π, denoted by T r(π), is the occurrences of faults. The original definition of
sequence of events σ1 , . . . , σn , π[i] stands for the diagnosability, introduced in the seminal work of
σ1
prefix of π truncated at state qi , i.e., π[i] = q0 −→ (Sampath et al. 1995) is recalled in the following.
σi
q1 . . . −→ qi and last(π) represents the last state of
π. The set of finite executions of LTS G from the initial Definition 2 (diagnosability (Sampath et al. 1995))
state q0 is denoted by Runs(G). The behaviour of G A prefix-closed and live language L is said to be
is described by its language L(G) = {s ∈ Σ∗ |q0 −
s
→}. diagnosable with respect to the projection function P
and with respect to a failure class of faults Σf if the
As we are interested in diagnosis issues, partial following holds
observation plays a central role. In this regard, some
events in Σ are observable, i.e. their occurrence can (∃ni ∈ N) [∀s ∈ Ψ(Σf )] (∀t ∈ L/s) [|t| ≥ ni ⇒ D]
be observed, while the rest are unobservable. U Thus,
where the diagnosability condition D is
the event set Σ can be partitioned as Σ = Σo Σu ,
where Σo denotes the set of observable events and ω ∈ P −1 [P (s.t)] ⇒ Σf ∈ ω.
Σu the set of unobservable events. To reflect the
limitation on observation, we define the projection with Ψ(Σf ) is the set of finite sequences that
function P : Σ∗ → Σ∗o . In the usual manner, P (σ) = σ terminate with a faulty event from Σf .
for σ ∈ Σo ; P (σ) = for σ ∈ Σu , and P (sσ) =
P (s)P (σ), where s ∈ Σ∗ , σ ∈ Σ. Thus, P simply The above definition means the following. Let s be
erases the unobservable events in any event-trace. any sequence generated by the LTS G that ends with
The inverse projection operation PL−1 is defined by a failure event from Σf , and let t be any sufficiently
PL−1 (y) = {s ∈ L(G) : P (s) = y}. Any two executions long continuation of s. Condition D then requires that
π and π 0 are called indistinguishable with respect to every sequence ω belonging to the language that
the projection function P if they can generate the produces the same observable trace as sequence
same observed event-trace. With a slight abuse of s.t (P (ω) = P (s.t)) must hold a failure event from
notation, we write P (π) = P (π 0 ) if π and π 0 are Σf . In other terms, diagnosability requires that every
indistinguishable. failure event leads to observations distinct enough to
identify the failure type within a finite delay.
In the context of fault diagnosis, let Σf ⊆ Σu
denote the set of failure events. They are usually 3.2. Verification of diagnosability
represented using unobservable events, since their
detection and diagnosis would be trivial if they were In order to analyse diagnosability, (Sampath
observable. We partition the set ofUfailureUevents
U into et al. 1995) has proposed a systematic approach
disjoint failure classes Σf = Σf1 Σf2 · · · Σfm , that consists in building a specific model called
with Σfi denotes the failure class fi . diagnoser. It is a deterministic automaton whose
transitions correspond to the observable events of
the system and whose states are estimation system
3. DIAGNOSABILITY ANALYSIS
state associated with labels to indicate if a state is
In this work, only diagnosability analysis of reached by an observable trace containing a faulty
permanent faults is considered. Once a fault has event or not.
occurred, the system remains irreparably faulty. We
Definition 3 (Diagnoser (Sampath et al. 1995)) The diagnoser Gd corresponding to the LTS G
is depicted in Figure 2. There exists a cycle
Let G = hQ, Σ, →, q0 i be an LTS to be diagnosed. of f -uncertain states composed of {3F, 7N } and
A diagnoser of G is a deterministic LTS Gd = {5F, 10F, 12N } w.r.t. the observable sequence (bd)∗ .
hX , Σo , →d , X0 i associated with a tagging function This cycle corresponds to two cycles in the LTS
Diag : X → 24 , with 4 = {N, F } (for only one class G. The 1st one, which is composed of states
of failures). with N means normal and F means {3}, {4}, {5} w.r.t. the sequence (bud)∗ , which is
faulty. reachable from the faulty sequence f a. The 2nd
cycle, which is composed of states {7}, {11}, {12}
Each diagnoser state x has the form x = and reached by the fault-free sequence a. Thus
{(q1 , l1 ), . . . , (qn , ln )}, with qi ∈ Q and li ∈ 4. If we can infer, according to Theorem 1, that there
∀i = 1, . . . , n, we have li = N (resp. li = F ), the exists an f -indeterminate cycle in the diagnoser and
diagnoser state x is said to be N -certain (resp. F - consequently the LTS G is not diagnosable w.r.t. to
certain), otherwise F -uncertain state. faulty class Σf and the projection function P .
For more details about the formal framework and a
algorithmic procedure of constructing the diagnoser, start {1N } {3F, 7N }
we refer the reader to the original paper (Sampath
et al. 1995).
d b
We define an f -indeterminate cycle in a diagnoser
to be a cycle composed exclusively of F -uncertain
diagnoser states and corresponding to the presence {6F } {5F, 10F, 12N }
t
of two cycling traces, in the system, that sharing the
same observable events, such that the faulty event t
f from the class Σf occurs in the 1st trace but not
in the 2nd . The notion of f -indeterminate cycle is Figure 2: Diagnoser Gd of the LTS G
very important, since it helps to give a necessary and
sufficient condition for diagnosability analysis.
It is worth noticing that the diagnoser can be used
Theorem 1 ((Sampath et al. 1995))
either off-line to check diagnosability or on-the-fly by
A system modelled by an LTS G is diagnosable if connecting it to the system in order to provide on-line
and only if there are no f -indeterminate cycles in its diagnosis upon the occurrence of observable events.
diagnoser Gd for any class of faults Σf .
4. SYMBOLIC OBSERVATION GRAPH (SOG)
3.3. Example
In this section, we present the so-called symbolic
Let us consider the LTS G in Figure 1 (adapted from observation graph (Haddad et al. 2004) and we
(Sampath et al. 1995)). The set of observable events show how it is used to abstract LTS behaviour. In
is Σo = {a, b, d, t} and the set of unobservable events (Haddad et al. 2004), the authors have introduced
is Σu = {u, f } with f a faulty event in Σf . the SOG as an abstraction of the reachability
graph of concurrent systems and showed that the
a b u verification of an event-based formula of LTL/X on
2 3 4 5
the SOG is equivalent to the verification on the
f d original reachability graph. The construction of the
SOG is guided by the set of observable events.
t The SOG is defined as a graph where each node
start 1 8 9 u 10 6
b is a set of states linked by unobserved events and
a each arc is labelled with an observable event. The
f t
SOG nodes are called aggregates and may be
b u
7 11 12 represented and handled efficiently using decision
diagram techniques (BDDs, see for instance (Bryant
d 1992)). The SOG is said to be hybrid since it is
both an explicit and a symbolic structure: the graph
is represented explicitly while the nodes are sets of
Figure 1: The LTS G states encoded and managed symbolically. Despite
the exponential theoretical complexity of the size of
a SOG, it has a very moderate size in practice (see
(Haddad et al. 2004; Klai and Petrucci 2008); (Klai Using the results of Section 4, we would use the
and Poitrenaud 2008) for experimental results). SOG to perform a hybrid diagnoser construction.
In order to capture the feature of analysing
In the following, we first define what an aggregate diagnosability which is tracking the ambiguous
is formally, before providing a formal definition of a behaviour of the system, i.e. normal and faulty
SOG associated with an LTS. executions which share the same observable events,
we modify the structure of the aggregate, introduced
Definition 4 (aggregate) in Definition 4, by splitting the set of states (managed
using BDDs) into tow sets of states in the same
Consider
U the LTS G = hQ, Σ, →, q0 i with Σ = aggregate: one set contains normal states, i.e.
Σo Σu . An aggregate a is a non empty set of states states reachable by fault-free sequences, and the
satisfying: q ∈ a ⇔ SaturateΣu (q) ⊆ a; where other contains faulty states, i.e. states reachable by
∗
SaturateΣu (q) = {q 0 ∈ Q|q −
→Σu q 0 }. sequences containing one (or more) faulty events.
Both of sets are represented and managed using
In the following, SaturateΣu is extended to BDDs.
sets
S of states as follows: SaturateΣu (Q0 ) =
q∈Q0 SaturateΣu (q). Figure 3 depicts the general form of a diagnoser
aggregate where two BDDs represent two sets of
Definition 5 (symbolic observation graph) states; BDDn represents the set of normal states,
while BDDf represents the set of faulty ones. The
The deterministic symbolic observation graph set of faulty states may be reached from the set of
SOG(G) associated with an LTS G is an LTS normal states by the occurrence of a faulty event,
hA, Σo , →Σo , a0 i where: and thus a faulty transition form BDDn to BDDf
may exist in any diagnoser aggregate. Depending on
1. A is a finite set of aggregates such that: the executed behaviour, i.e. the executed sequence,
a) There is an aggregate a0 ∈ A s.t. a0 = the diagnoser aggregate may contain the two sets
SaturateΣu (q0 ); of states (BDDs) or only one set. If a diagnoser
b) For each a ∈ A and for each σ ∈ Σo , if aggregate contains only BDDn (resp. BDDf ), it
∃q ∈ a, q 0 ∈
σ
→ q 0 then Saturate({q 0 ∈
/ a: q − / is called an N -certain (resp. F -certain) diagnoser
a|∃q ∈ a, q −
σ 0 0
→ q }) equals a for some aggregate, else it is an F -uncertain diagnoser
aggregate a0 and (a, σ, a0 ) ∈→Σo ; aggregate in the same way as in the classic
diagnoser (Definition 3).
2. →Σo ⊆ A × Σo × A is the transition relation,
obtained by applying 1.b). The dashed arrows show the different possibilities
that a transition from a diagnoser aggregate can
The SOG can be constructed by starting with produce. For instance, observable event b enabled
the initial aggregate a0 and iteratively adding new by the diagnoser aggregate can be enabled from
aggregates as long as the condition of 1.b) holds both normal and faulty sets or from only one set.
(see (Haddad et al. 2004) for a construction This feature will be considered during the on-the-fly
algorithm). construction of our hybrid diagnoser, since we do not
need to construct the diagnoser aggregates reached
through an observable event from only the faulty set
5. USING SOGS TO ANALYSE of an aggregate. Moreover, this information will be
DIAGNOSABILITY used to establish some heuristics that prioritizing the
branches to be followed while building the hybrid
In this section, we discuss how the SOG is used in diagnoser.
order to build a hybrid diagnoser and we provide an
on-the-fly algorithm to construct the hybrid diagnoser
and to verify diagnosability simultaneously.
The underlying idea behind using SOG for diag-
nosability analysis is basically to tackle the state
explosion phenomenon raised when building the
diagnoser. It is worth recalling here that the Sam-
path’s diagnoser is computed with an exponential
complexity regarding the state space of the model
Figure 3: A diagnoser aggregate
(Sampath et al. 1995). Obviously, this represents a
serious limit of the diagnoser based approach when
large models are handled.
Definition 6 (diagnoser aggregate) b. a0 .Qf =
U SaturateΣu (Img(a0 .Qn , f ) ∪
Consider an LTS G = hQ, Σ, →, q0 i with Σ = Σo Σu Img(a.Qf, σ)).
and Σf ⊂ Σu . A diagnoser aggregate a = hQn , Qf i
is a non empty set of states satisfying: 2. If σ ∈ Enable(a.Qn )\Enable(a.Qf ) then:
∗f ∗ a. a0 .Qn = SaturateΣu \Σf (Img(a.Qn , σ)).
1. ∀q ∈ Q s.t. q0 −−→ q (i.e. q is reachable by a
b. a0 .Qf = SaturateΣu (Img(a0 .Qn , f )).
faulty sequence): q ∈ a ⇔ SaturateΣu (q) ⊆
a.Qf ; 3. If σ ∈ Enable(a.Qf )\Enable(a.Qn ) then:
2. ∀q ∈ Q s.t. q0 −
∗
→Σ\Σf q (i.e. q is a. a0 .Qn = ∅.
reachable by a fault-free sequence): q ∈ b. a0 .Qf = SaturateΣu (Img(a.Qf , σ)).
a ⇔ Q0 = SaturateΣu \Σf (q) ⊆ a.Qn ∧
SaturateΣu (Img(Q0 , f ) ⊆ a.Qf . These rules preserve a specific fault propagation.
From an F -uncertain diagnoser aggregate, we can
s s0
3. ∀q, q 0 ∈ a, ∃s, s0 ∈ Σ∗ , s.t. q0 −
→ q, q0 −→ q 0 , and reach either another F -uncertain, an F -normal
0 or an F -certain diagnoser aggregate, from an N -
P (s) = P (s )
certain diagnoser aggregate, we can reach either
with SaturateΣu \Σf (q)={q 0 ∈ Q|q →Σu \Σf q 0 }, and another N -certain diagnoser aggregate or an F -
f uncertain one, and finally from an F -certian
Img(Q0 , f )={q 0 |q ∈ Q0 : → q 0 }, i.e. it returns
q −
the set of immediate successors of states in Q0 diagnoser aggregate, we can reach only another F -
through the occurrence of event f . certain diagnoser aggregate, which depicts exactly
the hypothesis of permanent failures. Figure 4
To simplify the notation, we denote by a.Qn (resp. illustrates these points.
a.Qf ) the set of normal (resp. faulty) states in an
aggregate a.
5.1. Constructing the hybrid diagnoser N -certain F -uncertain
We now introduce the hybrid diagnoser which is a
modified SOG built from the LTS model G.
Definition 7 (hybrid diagnoser)
F -certain
The hybrid diagnoser DSOG (G) associated with an
LTS G is a modified SOG hΓ, Σo , →SOG , Γ0 i.
Figure 4: Fault propagation on the hybrid diagnoser
1. Γ is a finite set of diagnoser aggregates.
2. Γ0 is the initial diagnoser aggregate with; Example 1 Figure 5 represents the hybrid diag-
noser associated with the LTS of Example 1, de-
a) Γ0 .Qn = SaturateΣu \Σf (q0 ); picted in Figure 1. As it is intended to construct
b) Γ0 .Qf =SaturateΣu (Img(Γ0 .Qn , f )). the hybrid diagnoser on-the-fly, it is more convenient
to represent the hybrid diagnoser as a tree-like
3. →SOG ⊆ Γ × Σo × Γ is the transition relation, structure.
defined as below,
∀a, a0 ∈ Γ, σ ∈ Σo s.t. σ ∈ Enable(a.Qn ∪a.Qf ): The initial aggregate composed of the initial state
σ of the LTS and the state 2 reachable from state
→SOG a0 ⇔ a0 .Qn = SaturateΣu \Σf (Img(a.Qn , σ))
a−
1 by the occurrence of faulty event f . Both of the
∧ a0 .Qf =SaturateΣu (Img(a0 .Qn , f ) ∪ diagnoser aggregates (2) and (3) contain two sets
Img(a.Qf, σ)) of states (each one is represented by a BDD).
After the occurrence of event d we reach diagnoser
To summarize, the hybrid diagnoser DSOG (G) is aggregate (4), which is the same as diagnoser
constructed as follows: let the current aggregate of aggregate (2) thus, there exists a cycle on the
the diagnoser be a, and the next observed event be hybrid diagnoser composed of aggregates (2) and
σ. The target diagnoser aggregate a0 of the hybrid (3) by executing the observable event sequence
diagnoser is computed following these rules: (bd)∗ . Diagnoser aggregate (5) is reached after the
occurrence of event t and it contains only the set
1. If σ ∈ Enable(a.Qn ) ∩ Enable(a.Qf ) then: of faulty states thus, it is an F -certain diagnoser
a. a0 .Qn = SaturateΣu \Σf (Img(a.Qn , σ)). aggregate. As F -certain diagnoser aggregates are
not necessary to analyse diagnosability, in on-the- • EnableObs(S) returns the set of observed
fly constructing of the hybrid diagnoser, we do events that are enabled by at least one of the
not construct them. Indeed, one knows that all states in set S.
the subsequent aggregates will be F -certain as
well. Besides, computing such aggregates is not • SaturateΣi (), as defined before, computes the
necessary for online diagnosis. various states reached through events from set
Σi .
• Stack is an ordered set of 5-uplet, which
contains two sets of states (Sn , Sf ) and three
sets of events (Evtf , Evtn , Evt) with Evt =
(Evtn ∪ Evtf )\(Evtn ∩ Evtf ).
• IsU ncertain() is a function that returns
Boolean value (true if the encountered cycle
is composed of only f -uncertain diagnoser
aggregates and f alse otherwise).
• IsIndeterminate(): is a function that returns
Boolean value (true if the existing cycle is an f -
indeterminate cycle and f aulse otherwise. This
function will be discussed later.
• RemoveLast(S) is an operation that removes,
then returns, the last event of a set S.
Figure 5: Hybrid diagnoser of the LTS in Figure 1.
• For the sake of simplicity, we consider that Σf
We recall that our goal is to avoid the state-explosion contains only one faulty event, generalization
problem, not only by providing this compact form to a set of faulty events is straightforward.
(SOGs) to build the hybrid diagnoser but also by
constructing the hybrid diagnoser on-the-fly and The initialization step (lines 1-11) serves to compute
verifying diagnosability simultaneously. Constructing the initial diagnoser aggregate, handle it efficiently
the hybrid diagnoser on-the-fly serves to avoid using OBDD (function Reduce()), and push it,
generating the whole state space of the diagnoser associated with its enabled observable events, into
even if the system is diagnosable, i.e. as we deal the stack. The construction of the hybrid diagnoser
with permanent faults, we do not need to construct is performed using a depth first exploration: As long
the part, of the hybrid diagnoser, containing only F - as the stack in not empty, a new observable event t,
certain diagnoser aggregates since such a part is not enabled by the diagnoser aggregate a at the top of
necessary for analysing diagnosability (see (Liu et al. the stack, is removed from the set of enabled events
2014a) for more details). (Evt) and then processed. If such an event does
not exist, the corresponding aggregate is poped from
Hereafter, we provide the SOG-based algorithm the stack (lines 13-15). Otherwise, if the set Evtn of
needed for on-the-fly construction of the hybrid events enabled by the set of normal states Sn of the
diagnoser. The following function and data structures diagnoser aggregate a, is empty then the aggregate
are used: a is poped from the stack (lines 16 and 18). This step
serves to avoid the construction of the subsequent
• Img(S, t), as described previously, returns the F -certain diagnoser aggregates, i.e. since this part
set of immediate successors of the states of a of the hybrid diagnoser is not necessary to analyse
set S through the occurrence of event t. diagnosability.
• OBDDs (Ordered Binary Decision Diagram)
The computation of the new aggregate a0 , reachable
are used to represent the sets of states
through an observable event from aggregate a, is
belonging to an aggregate, i.e. the set of
completed by saturation on the unobservable events
normal states and the set of faulty states in
(lines 20-26). If a0 has already been encountered
an aggregate. This task is performed by the
(i.e. existence of a cycle) then the hybrid diagnoser
function Reduce().
is updated by adding a new edge (lines 27-28)
• The hybrid diagnoser is represented by a and if the cycle is uncertain (i.e., contains only
standard graph representation with a set of f -uncertain diagnoser aggregates), the function
vertices, namely V , and a set of edges, namely IsIndeterminate() is launched in order to detect
E, connecting these aggregates and labelled whether there exists an f -indeterminate cycle or
with observable events. not (line 29-32). If the cycle is an f -indeterminate
one then we output that the model is undiagnosable reached by executing the observed event-sequence
and we stop the diagnoser construction. Otherwise, a(bd)∗ .
construction is continued, a0 with its enabled
observable events are pushed into the stack, and Algorithm 1 On-the-fly algorithm to construct the
so on. When the stack is empty, then the necessary hybrid diagnoser
part of the diagnoser, for analysing diagnosability,
DiagSOG (LT S, Σo , Σu , f );
is completely built, we output that the model is
Diagnoser aggregate a, a0 ;
diagnosable.
Set of vertices V ;
As mentioned in Section 3, diagnosability analysis Set of edges E;
is performed by searching two infinite executions Set of Events Evtn , Evtf , Evt;
that share the same observed event-sequences Set of states Sn , Sf , Sn0 , Sf0 ;
such that one sequence contains a faulty event Stack st = ∅;
and not the other one. That means to search an
f -indeterminate cycle in the diagnoser (Sampath 1: Sn = SaturateΣu \f (q0 );
et al. 1995). The same procedure is used in our 2: Sf = Img(Sn , f );
case, i.e. searching f -indeterminate cycles in the 3: if (Sf 6= ∅) then
hybrid diagnoser. Two steps are needed to check 4: Sf = SaturateΣu (Sf );
the existence of f -indeterminate cycles when a cycle 5: end if
of F -uncertain diagnoser aggregate is found in the 6: a = hSn , Sf i;
hybrid diagnoser: 7: Reduce (a, Σu );
8: V = a; E = ∅;
1. Extract the observed event-sequence that 9: Evtn = EnableObs(Sn );
leads to this cycle (of F -uncertain diagnoser 10: Evtf = EnableObs(Sf );
aggregates). 11: st.Push(hSn , Sf , Evtn , Evtf , Evti;
12: while (st 6= ∅) do
2. Check if this observed event-sequence corre- 13: hSn , Sf , Evtn , Evtf , Evti = st.Top();
sponds to two cycle in the LTS model. One 14: if Evt = ∅ then
cycle is reached by a fault-free event-sequence 15: hSn0 , Sf0 , Evtn , Evtf , Evti = st.Pop();
and the other one is reached by a faulty event- 16: else
sequence. 17: if (Evtn = ∅ then
18: hSn0 , Sf0 , Evtn , Evtf , Evti = st.Pop();
This task is performed by function 19: else
IsIndeterminate() in the Algorithm 1 (line 28) 20: t = RemoveLast(Evt);
which calls a specific function (path exists()) from 21: Sn0 = Img(Sn , t);
the digraph library (Rushton 2012). (digraph is 22: Sn0 = SaturateΣu \f (Sn0 );
a library dedicated for searching cycles from the 23: Sf0 = Img(Sf , t) ∪ Img(Sn0 , f );
system model). 24: Sn0 = SaturateΣu (Sf0 );
25: a0 = hSn0 , Sf0 i;
We emphasize that verification of the existence of
26: Reduce (a0 , Σu );
f -indeterminate cycles is performed on-the-fly in
27: if (∃w ∈ V | w = a0 ); then
parallel to the process of constructing the hybrid t
diagnoser, i.e. the process of constructing the hybrid 28: E =E∪a→ − SOG w;
diagnoser runs and when a cycle of F -uncertain 29: if (IsU ncertain()) then
diagnoser aggregates is found, we check whether 30: if (IsIndeterminate()) then
this cycle corresponds to an f -indeterminate cycle 31: return UNDIAGNOSABLE;
or not. If it is the case (i.e. the cycle is an f - 32: end if
indeterminate cycle), then the whole process is 33: end if
stopped and a negative verdict is emitted regarding 34: else
diagnosability, else the building process is continued. 35: V = V ∪ {a0 };
t
36: E =E∪a→ − SOG a0 ;
Example 2 Let us take again LTS G of Figure 1 and 37: Evtn = EnableObs(Sn0 );
its hybrid diagnoser (Figure 5). We have a cycle, in 38: Evtf = EnableObs(Sf0 ;
the hybrid diagnoser, composed of only F -uncertain 39: st.PushhSn0 , Sf0 , Evtn , Evtf , Evti;
diagnoser aggregates (2) (3). Once the algorithm 40: end if
of construction arrives at this cycle, we check if 41: end if
this cycle is an f -indeterminate one or not, before 42: end if
continuing the construction process. The cycle of 43: end while
f -uncertain diagnoser aggregates (2) (3) is 44: return DIAGNOSABLE;
In LTS G, the observed event-sequence a(bd)∗
corresponds to two event-sequences:
1. The faulty sequence f a(bud)∗ that leads to a
cycle composed of states 3, 4, and 5.
2. The fault-free sequence a(bud)∗ that leads to a
cycle composed of states 7, 11, 12.
Thus, we can infer that the cycle, in the hybrid
diagnoser, composed of diagnoser aggregates (2) Figure 6: Types of enabled transitions from an
and (3) is an f -indeterminate cycle. Thus, we stop aggregate
constructing the hybrid diagnoser and we output that
LTS G is non diagnosable with respect the fault f .
to direct the construction of the hybrid diagnoser and
5.2. A heuristic strategy to improve the building to potentially speed up the verification process. We
algorithm note that in the actual version of the algorithm, this
heuristic strategy is not implemented.
Our algorithm for constructing the hybrid diagnoser
is based on a depth-first search (DFS) to investigate
the state space (diagnoser aggregate in the devel- 6. RELATED WORKS
oped tree-like structures) execution by execution.
Generally, no rules are defined to select the execu- In the literature, there are several diagnoser-based
tion to be investigated first, i.e. the order of execution approaches for analysing diagnosability inspired
exploring is arbitrary. However, as we deal with from the seminal work of (Sampath et al. 1995). In
diagnosability analysis, in our case, the diagnoser (Zad et al. 2003) a state-based approach for on-line
aggregate structure provides some information that passive fault diagnosis was introduced. In the state-
can be exploited to direct the search in such a way based approach, it is assumed that the set of states
as to increase the chances of quickly obtaining a di- of the system model can be partitioned according
agnosability verdict by exploring the most promising to the faulty or normal condition of the system. In
executions at first. this work, a specific diagnoser is constructed as
a finite state machine that takes information from
When we deal with diagnosability analysis, the the system (i.e. sequences of inputs/outputs) and
interesting executions of the system are those which generates an estimate of the condition of the system
share the same observed event-sequence such (i.e., faulty or normal). Establishing of this diagnoser
that some of them contain a faulty event and the has exponential time complexity. However, a model
others are fault-free. This is reduced to track the reduction scheme with polynomial time complexity is
observed event-sequences, in the hybrid diagnoser, proposed to reduce the computational complexity of
leading to F -uncertain aggregates. Generally, there the procedure.
exists three types of enabled transitions from any
aggregate, as depicted in Figure 6. (Schumann et al. 2004) propose a symbolic
framework based on binary decision diagrams
1. Transitions enabled only by states from the for the diagnosis of DESs. A symbolic version
faulty set (Figure 6.(a)). As said before, this of Sampath’s diagnoser was proposed, while
type of branches will not be explored. requiring considerably lower space and time than
the enumerative approach of (Sampath et al.
2. Transitions enabled only by states from the
1995). Recently, (Liu et al. 2014a) propose an
normal set (Figure 6.(b)). In this case, we need
on-the-fly algorithm for constructing and checking
to continue the construction since other faults
diagnosability of discrete-event systems modelled by
may occur in the future.
LPNs using an enumerative approach. The goal is
3. Transitions enabled from both normal and to avoid the construction of the whole state-space
faulty sets (Figure 6.(c)). In this case, the of the diagnoser especially when the system is not
reached diagnoser aggregate will be certainly diagnosable. The approach was experimented over
F -uncertain. a Petri net benchmark and the obtained results
were promising compared to those of Sampath’s
This last type of transitions is the most-promising to approach. A tool, called OF-PENDA (Liu et al.
find an f -indeterminate cycle since we know, a priori, 2014b), was developed based on this approach to
that the new diagnoser aggregate will be certainly an analyse diagnosability, K-diagnosability and Kmin -
f -uncertain aggregate, contrary to the other above diagnosability of systems, modelled by Labelled Petri
cases. Thus, it will be the first to be explored in order Nets.
The approach proposed in this paper, takes on Automatic Control, pages 46(8), 1318–1321,
advantage from these two last approaches (i.e., 2001.
(Schumann et al. 2004) and (Liu et al. 2014a)) by
combining the symbolic representation of diagnoser T. S. Yoo and S. Lafortune. Polynomial-time
states and on-the-fly techniques for constructing the verification of diagnosability of partially observed
hybrid diagnoser and verifying diagnosability. We discrete-event systems. IEEE Transactions on
believe that this approach will improve efficiently Automatic Control, pages 47(9), 1491–1495,
analysis of diagnosability in terms of runtime 2002.
and memory resources. We still need to apply A. Cimatti, C. Pecheur, and R. Cavada. Formal
the approach on several benchmarks in order to verification of diagnosability via symbolic model
assess its efficiency. Indeed, determining analytical checking. Int. Joint Conference on Artificial
complexity while considering the worst case is not Intelligence, 2003.
appropriate for such an on-the-fly approach.
A. Boussif and M. Ghazel. Diagnosability analysis
of input/output discrete event system using model
7. CONCLUSION checking. The 5th International Workshop on
Dependable Control of Discrete Systems, 2015.
In this work, we have developed an on-the-fly
approach for diagnosability analysis, based on a J. Peterson. Petri Net Theory and the Modeling of
hybrid diagnoser. The approach is based on the Systems. Prentice Hall PTR, 1981.
symbolic observation graph (SOG), which is a
paradigm that combines symbolic and enumerative T. Ushio, I. Onishi, and K. Okuda. Fault detection
representations in order to build a deterministic based on Petri net models with faulty behaviors.
observer from a partially observed model. The Systems, Man, and Cybernetics, pages 113–118,
approach aims to improve the efficiently in terms 1998.
of runtime and memory resources when analysing Y. Wen and C. Li. A polynomial algorithm for
diagnosability. checking diagnosability of Petri nets. IEEE
International Conference on Systems, Man and
Several future directions are considered. First, Cybernetics, 3:2542–2547, 2005.
we wish to make experimentations over case-
studies in order to assess the efficiency and the M. P. Cabasino, A. Giua, S. Lafortune, and C. Seatzu.
scalability of our approach and also to compare Diagnosability analysis of bounded Petri nets.
the obtained results with those provided by other Proceedings of the 48th IEEE Conference on
existing approaches. Then, we will investigate Decision and Control (CDC) held jointly with 28th
some other practical versions of diagnosability, Chinese Control Conference, pages 1254–1260,
namely K-diagnosability and Kmin -diagnosability. 2009.
Finally, we intend to extend the proposed approach
for analysing diagnosability based on the verifier F. Basile, P. Chiacchio, and G. De Tommasi. On
approach by means of a non deterministic version k-diagnosability of Petri nets via integer linear
of the symbolic observation graph. programming. Automatica, 48(9):2047–2058,
2012.
REFERENCES M. P. Cabasino, A. Giua, and C. Seatzu. Diagnosabil-
ity of discrete-event systems using labeled Petri
J. Zaytoon and S. Lafortune. Overview of fault nets. IEEE Transactions on Automation Science
diagnosis methods for discrete event systems. and Engineering, 11(1):144–153, 2014.
Annual Reviews in Control, pages 308–320, 2013. B. Liu, M. Ghazel, and A. Toguyéni. Toward an
C. G. Cassandras and S. Lafortune. Introduction to efficient approach for diagnosability analysis of
discrete event systems. Second Edition, Springer, des modeled by labeled petri nets. Proceeding of
2007. the 13th European Control Conference, 2014a.
M. Sampath, R. Sengupta, and S. Lafortune. S. Haddad, J.-M. Ilié, K. Klai, and F. Wang. Design
Diagnosability of discrete-event systems. IEEE and Evaluation of a Symbolic and Abstraction-
Transactions on Automatic Control, pages 1555– based Model Checker. 2nd International Sympo-
1575, 40(9), 1995. sium on Automated Technology for Verification and
Analysis (ATVA’04), pages 198–210, 2004.
S. Jiang, Z. Huang, V. Chandra, and R. Kumar.
A polynomial algorithm for testing diagnosability R. E. Bryant. Symbolic boolean manipulation with
of discrete-event systems. IEEE Transactions ordered binary-decision diagrams. ACM Comput.
Surv., 24(3):293–318, 1992.
K. Klai and L. Petrucci. Modular construction of the
symbolic observation graph. The 8th International
Conference on Application of concurrency to
System Design, pages 23–27, 2008.
K. Klai and D. Poitrenaud. MC-SOG: An LTL model
checker based on symbolic observation graphs.
Proceedings of the 29th International Conference
on Application and Theory of Petri Nets, pages
23–27, 2008.
A. Rushton. A directed graph conainer. http://
www.andyrhshton.co.un/programming/stlplus-
library-collection, 2012.
S. H. Zad, R .H. Kwong, and W. M. Wonham. Fault
diagnosis in discrete-event systems: Framework
and model reduction. IEEE Transactions on
Automatic Control, 48(7):1199–1212, 2003.
A. Schumann, Y. Pencole, and S. Thiebaux.
Diagnosis of discrete event systems using ordered
binary decision diagrams. 15th International
Workshop on Principles of Diagnosis, 2004.
B. Liu, M. Ghazel, and A. Toguyéni. OF-PENDA:
A software tool for fault diagnosis of discrete
event systems modeled by labeled petri nets.
International Worshop Petri Nets for Adaptive
Discrete-Event Control Systems, 2014b.