<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Combining Enumerative and Symbolic Techniques for Diagnosis of Discrete-Event Systems</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Abderraouf</forename><surname>Boussif</surname></persName>
							<email>abderraouf.boussif@ifsttar.fr</email>
						</author>
						<author>
							<persName><forename type="first">Mohamed</forename><surname>Ghazel</surname></persName>
							<email>mohamed.ghazel@ifsttar.fr</email>
						</author>
						<author>
							<persName><forename type="first">Kais</forename><surname>Klai</surname></persName>
							<email>kais.klai@lipn.univ-paris13.fr</email>
						</author>
						<author>
							<affiliation key="aff0">
								<orgName type="institution">Univ. Lille Nord de France</orgName>
								<address>
									<postCode>F-59000</postCode>
									<settlement>Lille</settlement>
									<country key="FR">France</country>
								</address>
							</affiliation>
						</author>
						<author>
							<affiliation key="aff1">
								<orgName type="institution">IFSTTAR</orgName>
								<address>
									<addrLine>Cosys/Estas</addrLine>
									<postCode>F-59650</postCode>
									<settlement>Villenveuve d&apos;Ascq</settlement>
									<country>France FR</country>
								</address>
							</affiliation>
						</author>
						<author>
							<affiliation key="aff2">
								<orgName type="institution">Univ. Lille Nord de France</orgName>
								<address>
									<postCode>F-59000</postCode>
									<settlement>Lille</settlement>
									<country key="FR">France</country>
								</address>
							</affiliation>
						</author>
						<author>
							<affiliation key="aff3">
								<orgName type="institution">IFSTTAR</orgName>
								<address>
									<addrLine>Cosys/Estas</addrLine>
									<postCode>F-59650</postCode>
									<settlement>Villenveuve d&apos;Ascq</settlement>
									<country>France FR</country>
								</address>
							</affiliation>
						</author>
						<author>
							<affiliation key="aff4">
								<orgName type="laboratory" key="lab1">LIPN</orgName>
								<orgName type="laboratory" key="lab2">CNRS UMR 7030</orgName>
								<orgName type="institution" key="instit1">Univ. Paris 13</orgName>
								<orgName type="institution" key="instit2">Sorbonne Paris Cit é</orgName>
							</affiliation>
						</author>
						<title level="a" type="main">Combining Enumerative and Symbolic Techniques for Diagnosis of Discrete-Event Systems</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">93E6F7A168DC6427C561F179534E788A</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-25T02:28+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>Discrete-Event Systems</term>
					<term>Diagnosability Analysis</term>
					<term>Symbolic Observer Graph</term>
					<term>On-the-Fly Verification</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>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.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.">INTRODUCTION</head><p>In automated monitoring and fault diagnosis of complex dynamic systems, one of the central tasks is to detect and identify the occurrence of failures as early as possible. This task has become an active research area in recent years <ref type="bibr" target="#b0">(Zaytoon and Lafortune 2013)</ref>. From the theoretical point of view and at a high level of abstraction, Discrete-Event Systems (DESs) are more suitable for performing diagnosis analysis on complex systems <ref type="bibr" target="#b1">(Cassandras and Lafortune 2007)</ref>.</p><p>One of the main issues in diagnosis activity that must be addressed is diagnosability investigation. Analysing diagnosability of a system intends to determine accurately whether any predetermined failure or class of failures can be detected and identified within a finite delay following its occurrence <ref type="bibr" target="#b2">(Sampath et al. 1995)</ref>.</p><p>Diagnosability verification has received considerable attention since the seminal paper by <ref type="bibr" target="#b2">(Sampath et al. 1995)</ref>, which provides a basic concept and a formal definition of diagnosability analysis and fault diagnosis of DESs that were adopted and further developed later. In this paper, <ref type="bibr" target="#b2">(Sampath et al. 1995)</ref>, the original definition of diagnosability was introduced in the language context. A systematic method to check diagnosability based on a dedicated deterministic version of the model derived from the original system, a so-called diagnoser, was also provided. It consists of a specific observer of the system associated with a labelling function that attributes to each state (or macro-state), in this observer, a label indicating whether the state is reached by a faulty execution or not, i.e. an execution where some particular unobservable events, called faults, have occurred or not.</p><p>Other automata-based approaches <ref type="bibr" target="#b3">(Jiang et al. 2001;</ref><ref type="bibr" target="#b4">Yoo and Lafortune 2002)</ref>, aiming to reduce computational complexity have been then proposed. In <ref type="bibr" target="#b4">(Yoo and Lafortune 2002)</ref>, a polynomial-time algorithm for checking diagnosability based on a structure called verifier is adopted. In <ref type="bibr" target="#b3">(Jiang et al. 2001)</ref>, an algorithm based on the twin plant structure (a parallel composition of the investigated automaton with itself) is proposed. Reformulations of these works in model-checking framework were first proposed in <ref type="bibr" target="#b5">(Cimatti et al. 2003)</ref> and extended in <ref type="bibr" target="#b6">(Boussif and Ghazel 2015)</ref>. The goal is to check diagnosability property in the same way as to check any safety property. Furthermore, some works on diagnosability of DESs turned to Petri nets (PNs) formalism, benefiting from the mathematical and graphical representations capability and the well-developed theory underlying PNs <ref type="bibr" target="#b7">(Peterson 1981)</ref>. <ref type="bibr" target="#b8">(Ushio et al. 1998</ref>) extended Sampath's study to systems modelled by PNs with the assumption that some places are observables whereas all of the transitions are unobservable. A diagnoser is constructed from the reachability graph. In <ref type="bibr" target="#b9">(Wen and Li 2005)</ref>, the authors proposed a sufficient condition for testing diagnosability by checking the structure of T -invariants of a PN. In <ref type="bibr" target="#b10">(Cabasino et al. 2009</ref>) the modified basis reachability graph (MBRG) and basis reachability diagnoser (BRD), which provide a compact representation of the reachability graph, were developed. In <ref type="bibr" target="#b11">(Basile et al. 2012)</ref>, an approach for checking diagnosability by quantifying the finite delay of diagnosability (the so-called Kdiagnosability) was proposed by using the integer linear programming (ILP) technique. A structure called verifier net (VN) was introduced in <ref type="bibr" target="#b12">(Cabasino et al. 2014)</ref> to deal with diagnosability for both bounded and unbounded PNs. Recently, <ref type="bibr">(Liu et al. 2014a)</ref> has proposed an on-the-fly and incremental diagnosis technique to construct a diagnoser from a bounded PN in order to verify diagnosability and Kdiagnosability properties.</p><p>To get a general overview on the literature pertaining to diagnosis of DESs, the reader can refer to the recent survey in <ref type="bibr" target="#b0">(Zaytoon and Lafortune 2013)</ref>, where theoretical and practical issues, tools and other issues in relation with diagnosis are discussed.</p><p>The challenge of analysing diagnosability is the combinatorial explosion problem that appears during the building of the intermediate models <ref type="bibr">(diagnoser, verifier, twin plant, MBRG, etc.)</ref>. This is due to the high complexity of these constructed models and to the generation of the whole state-space which may have considerable time and memory cost.</p><p>To partially overcome this problem, we propose, in this paper, an efficient approach to construct a hybrid diagnoser on-the-fly, in the sense of combining enumerative and symbolic techniques. The contributions of this paper are twofold:</p><p>1. We provide a behavioural diagnoser based on the Symbolic Observation Graph <ref type="bibr" target="#b14">(Haddad et al. 2004</ref>) which is an efficient binary decision diagram (BDD) based abstraction of the model state space. Thus, macro-states of the diagnoser will be compacted using BDDs while transitions between macro-states are represented by enumerate observable events.</p><p>2. We design an appropriate algorithm, for simultaneously constructing the diagnoser and checking diagnosability on-the-fly. Actually, the verification process is stopped (only a part of the diagnoser is built) as soon as the diagnosability is proven to be unsatisfied, which can considerably reduce the generated state space of the diagnoser. Furthermore, the proposed algorithm is endowed with a heuristic strategy in order to converge fast into the necessary part of the diagnoser for diagnosability analysis.</p><p>The paper is structured as follows. In Section 2, we introduce the basic background needed to deal with diagnosability and to develop our approach. In Section 3, we recall the notion of diagnosability as well as the original diagnoser approach. Section 4 is devoted to discuss the Symbolic Observation Graph adapted to the context of this paper. In Section 5, the verification approach is sketched out then an onthe-fly algorithm based on the SOG is presented. Section 6 discusses the pertinent existing work in relation with the present work. Finally, conclusion remarks and future research directions are given in Section 7.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">PRELIMINARIES</head><p>We first recall some standard notations that will be used in the sequel. Let Σ be a finite alphabet of events (actions). A string is a finite sequence of events in Σ. denotes the empty string. Given a string s, the length of s is denoted by |s|. The set of all strings formed by events in Σ is denoted by Σ * . Any subset of Σ * is called a language. Given a string s ∈ L, L/s {t ∈ Σ * |s.t ∈ L} is called the postlanguage of L after s and defined as L/s. L is said to be extension-closed when L.Σ * = L.</p><p>The approach introduced in this paper applies to discrete-events systems modelled by Labelled Transitions Systems (LTSs for short). The formal definition of LTS is as follows.</p><p>Definition 1 (LTS): An LTS over Σ is defined by a 4-tuple Q, Σ, →, q 0 , where:</p><p>• Q is a finite set of states;</p><p>• Σ is a finite set of events;</p><formula xml:id="formula_0">• →⊆ Q × Σ × Q is the transition relation; • q 0 ∈ Q is the initial state.</formula><p>In the remainder of this section, we consider a given LTS G = Q, Σ, →, q 0 . For q, q ∈ Q and σ ∈ Σ, we denote q σ − → q (q, σ, q ) ∈→. q → means that ∃q ∈ Q : q σ − → q . If s = σ 1 , σ 2 , . . . , σ n is a string (sequence of events), s denotes the set of actions occurring in s. Moreover, q s − → q denotes that ∃q 1 , q 2 , . . . , q n−1 ∈ Q such that, q σ1 −→ q 1 σ2 −→ . . . q n−1 σn − − → q . q * − → q denotes that q is reachable from q (i.e. q s − → q for some s ∈ Σ * ), and q * − → E q holds if s ⊆ E.</p><p>We denote by Enable(q) the set of events σ s.t. q σ − →, for a set of states Q ⊆ Q, Enable E (Q ) denote the set of enabled events from the set of states Q , i.e. Enable(Q ) denotes q∈Q Enable(q).</p><p>An execution from the initial state q 0 of an LTS G is a finite sequence of transitions π = q 0 σ1 −→ q 1 . . . σn − − → q n . The event-trace of π, denoted by T r(π), is the sequence of events σ 1 , . . . , σ n , π[i] stands for the prefix of π truncated at state q i , i.e., π[i] = q 0 σ1 −→ q 1 . . . σi − → q i and last(π) represents the last state of π. The set of finite executions of LTS G from the initial state q 0 is denoted by Runs(G). The behaviour of G is described by its language L(G) = {s ∈ Σ * |q 0 s − →}.</p><p>As we are interested in diagnosis issues, partial observation plays a central role. In this regard, some events in Σ are observable, i.e. their occurrence can be observed, while the rest are unobservable. Thus, the event set Σ can be partitioned as Σ = Σ o Σ u , where Σ o denotes the set of observable events and Σ u the set of unobservable events. To reflect the limitation on observation, we define the projection function P : Σ * → Σ * o . In the usual manner, P (σ) = σ for σ ∈ Σ o ; P (σ) = for σ ∈ Σ u , and P (sσ) = P (s)P (σ), where s ∈ Σ * , σ ∈ Σ. Thus, P simply erases the unobservable events in any event-trace. The inverse projection operation P −1 L is defined by P −1 L (y) = {s ∈ L(G) : P (s) = y}. Any two executions π and π are called indistinguishable with respect to the projection function P if they can generate the same observed event-trace. With a slight abuse of notation, we write P (π) = P (π ) if π and π are indistinguishable.</p><p>In the context of fault diagnosis, let Σ f ⊆ Σ u denote the set of failure events. They are usually represented using unobservable events, since their detection and diagnosis would be trivial if they were observable. We partition the set of failure events into disjoint failure classes</p><formula xml:id="formula_1">Σ f = Σ f1 Σ f2 • • • Σ fm , with Σ fi denotes the failure class f i .</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">DIAGNOSABILITY ANALYSIS</head><p>In this work, only diagnosability analysis of permanent faults is considered. Once a fault has occurred, the system remains irreparably faulty. We assume that the LTS G under consideration satisfies the following two assumptions:</p><p>1. The language generated by G is live, i.e. there is an executable transition from any state of the system.</p><p>2. The LTS G is finite, in term of the state space, and does not contain cycles formed only by unobservable events.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1.">Definition of diagnosability</head><p>Diagnosability is an important property in the monitoring and fault diagnosis activities. In simple terms, it refers to the ability to infer accurately, from a partially observed execution, about the faulty behaviour within a finite delay after possible occurrences of faults. The original definition of diagnosability, introduced in the seminal work of <ref type="bibr" target="#b2">(Sampath et al. 1995)</ref> is recalled in the following.</p><p>Definition 2 (diagnosability <ref type="bibr" target="#b2">(Sampath et al. 1995</ref>))</p><p>A prefix-closed and live language L is said to be diagnosable with respect to the projection function P and with respect to a failure class of faults Σ f if the following holds</p><formula xml:id="formula_2">(∃n i ∈ N) [∀s ∈ Ψ(Σ f )] (∀t ∈ L/s) [|t| ≥ n i ⇒ D]</formula><p>where the diagnosability condition D is</p><formula xml:id="formula_3">ω ∈ P −1 [P (s.t)] ⇒ Σ f ∈ ω.</formula><p>with Ψ(Σ f ) is the set of finite sequences that terminate with a faulty event from Σ f .</p><p>The above definition means the following. Let s be any sequence generated by the LTS G that ends with a failure event from Σ f , and let t be any sufficiently long continuation of s. Condition D then requires that every sequence ω belonging to the language that produces the same observable trace as sequence s.t (P (ω) = P (s.t)) must hold a failure event from Σ f . In other terms, diagnosability requires that every failure event leads to observations distinct enough to identify the failure type within a finite delay.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2.">Verification of diagnosability</head><p>In order to analyse diagnosability, <ref type="bibr" target="#b2">(Sampath et al. 1995)</ref> has proposed a systematic approach that consists in building a specific model called diagnoser. It is a deterministic automaton whose transitions correspond to the observable events of the system and whose states are estimation system state associated with labels to indicate if a state is reached by an observable trace containing a faulty event or not.</p><p>Definition 3 (Diagnoser <ref type="bibr" target="#b2">(Sampath et al. 1995)</ref>) Each diagnoser state x has the form x = {(q 1 , l 1 ), . . . , (q n , l n )}, with q i ∈ Q and l i ∈ . If ∀i = 1, . . . , n, we have l i = N (resp. l i = F ), the diagnoser state x is said to be N -certain (resp. Fcertain), otherwise F -uncertain state.</p><formula xml:id="formula_4">Let G = Q, Σ, →, q 0 be an LTS to be diagnosed. A diagnoser of G is a deterministic LTS G d = X , Σ o , → d , X</formula><p>For more details about the formal framework and algorithmic procedure of constructing the diagnoser, we refer the reader to the original paper <ref type="bibr" target="#b2">(Sampath et al. 1995)</ref>.</p><p>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 of two cycling traces, in the system, that sharing the same observable events, such that the faulty event f from the class Σ f occurs in the 1 st trace but not in the 2 nd . The notion of f -indeterminate cycle is very important, since it helps to give a necessary and sufficient condition for diagnosability analysis.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Theorem 1 ((Sampath et al. 1995))</head><p>A system modelled by an LTS G is diagnosable if and only if there are no f -indeterminate cycles in its diagnoser G d for any class of faults Σ f .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.3.">Example</head><p>Let us consider the LTS G in Figure <ref type="figure" target="#fig_1">1</ref> (adapted from <ref type="bibr" target="#b2">(Sampath et al. 1995)</ref>). The set of observable events is Σ o = {a, b, d, t} and the set of unobservable events is Σ u = {u, f } with f a faulty event in Σ f .  </p><formula xml:id="formula_5">{1N } start {3F, 7N } {5F, 10F, 12N } {6F } a b d t t Figure 2: Diagnoser G d of the LTS G</formula><p>It is worth noticing that the diagnoser can be used either off-line to check diagnosability or on-the-fly by connecting it to the system in order to provide on-line diagnosis upon the occurrence of observable events.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">SYMBOLIC OBSERVATION GRAPH (SOG)</head><p>In this section, we present the so-called symbolic observation graph <ref type="bibr" target="#b14">(Haddad et al. 2004</ref>) and we show how it is used to abstract LTS behaviour. In <ref type="bibr" target="#b14">(Haddad et al. 2004</ref>), the authors have introduced the SOG as an abstraction of the reachability graph of concurrent systems and showed that the verification of an event-based formula of LTL/X on the SOG is equivalent to the verification on the original reachability graph. The construction of the SOG is guided by the set of observable events. The SOG is defined as a graph where each node is a set of states linked by unobserved events and each arc is labelled with an observable event. The SOG nodes are called aggregates and may be represented and handled efficiently using decision diagram techniques (BDDs, see for instance <ref type="bibr" target="#b15">(Bryant 1992)</ref>). 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 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 <ref type="bibr" target="#b14">(Haddad et al. 2004;</ref><ref type="bibr" target="#b16">Klai and Petrucci 2008)</ref>; <ref type="bibr" target="#b17">(Klai and Poitrenaud 2008)</ref> for experimental results).</p><p>In the following, we first define what an aggregate is formally, before providing a formal definition of a SOG associated with an LTS.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Definition 4 (aggregate)</head><p>Consider the LTS G = Q, Σ, →, q 0 with Σ = Σ o Σ u . An aggregate a is a non empty set of states satisfying: q ∈ a ⇔ Saturate Σu (q) ⊆ a; where Saturate Σu (q) = {q ∈ Q|q * − → Σu q }.</p><p>In the following, Saturate Σu is extended to sets of states as follows: Saturate Σu (Q ) = q∈Q Saturate Σu (q).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Definition 5 (symbolic observation graph)</head><p>The deterministic symbolic observation graph SOG(G) associated with an LTS G is an LTS A, Σ o , → Σo , a 0 where: 1. A is a finite set of aggregates such that: a) There is an aggregate a The SOG can be constructed by starting with the initial aggregate a 0 and iteratively adding new aggregates as long as the condition of 1.b) holds (see <ref type="bibr" target="#b14">(Haddad et al. 2004</ref>) for a construction algorithm).</p><formula xml:id="formula_6">0 ∈ A s.t. a 0 = Saturate Σu (q 0 ); b) For each a ∈ A and for each σ ∈ Σ o , if ∃q ∈ a, q / ∈ a: q σ − → q then Saturate({q / ∈ a|∃q ∈ a, q σ − → q })</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.">USING SOGS TO ANALYSE DIAGNOSABILITY</head><p>In this section, we discuss how the SOG is used in order to build a hybrid diagnoser and we provide an on-the-fly algorithm to construct the hybrid diagnoser and to verify diagnosability simultaneously.</p><p>The underlying idea behind using SOG for diagnosability analysis is basically to tackle the state explosion phenomenon raised when building the diagnoser. It is worth recalling here that the Sampath's diagnoser is computed with an exponential complexity regarding the state space of the model <ref type="bibr" target="#b2">(Sampath et al. 1995)</ref>. Obviously, this represents a serious limit of the diagnoser based approach when large models are handled.</p><p>Using the results of Section 4, we would use the SOG to perform a hybrid diagnoser construction.</p><p>In order to capture the feature of analysing diagnosability which is tracking the ambiguous behaviour of the system, i.e. normal and faulty executions which share the same observable events, we modify the structure of the aggregate, introduced in Definition 4, by splitting the set of states (managed using BDDs) into tow sets of states in the same aggregate: one set contains normal states, i.e. states reachable by fault-free sequences, and the other contains faulty states, i.e. states reachable by sequences containing one (or more) faulty events. Both of sets are represented and managed using BDDs.</p><p>Figure <ref type="figure" target="#fig_3">3</ref>  The dashed arrows show the different possibilities that a transition from a diagnoser aggregate can produce. For instance, observable event b enabled by the diagnoser aggregate can be enabled from both normal and faulty sets or from only one set. This feature will be considered during the on-the-fly 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 of an aggregate. Moreover, this information will be used to establish some heuristics that prioritizing the branches to be followed while building the hybrid diagnoser. Consider an LTS G = Q, Σ, →, q 0 with Σ = Σ o Σ u and Σ f ⊂ Σ u . A diagnoser aggregate a = Q n , Q f is a non empty set of states satisfying:</p><p>1. ∀q ∈ Q s.t. q 0 * f * − − → q (i.e. q is reachable by a faulty sequence): q ∈ a ⇔ Saturate Σu (q) ⊆ a.Q f ; 2. ∀q ∈ Q s.t. q 0 * − → Σ\Σ f q (i.e. q is reachable by a fault-free sequence):</p><formula xml:id="formula_7">q ∈ a ⇔ Q = Saturate Σu\Σ f (q) ⊆ a.Q n ∧ Saturate Σu (Img(Q , f ) ⊆ a.Q f .</formula><p>3. ∀q, q ∈ a, ∃s, s ∈ Σ * , s.t. q 0 s − → q, q 0 s − → q , and P (s) = P (s ) with Saturate Σu\Σ f (q)={q ∈ Q|q → Σu\Σ f q }, and</p><formula xml:id="formula_8">Img(Q , f )={q |q ∈ Q : q f − → q }, i.e.</formula><p>it returns the set of immediate successors of states in Q through the occurrence of event f .</p><p>To simplify the notation, we denote by a.Q n (resp. a.Q f ) the set of normal (resp. faulty) states in an aggregate a.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.1.">Constructing the hybrid diagnoser</head><p>We now introduce the hybrid diagnoser which is a modified SOG built from the LTS model G.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Definition 7 (hybrid diagnoser)</head><p>The hybrid diagnoser D SOG (G) associated with an LTS G is a modified SOG Γ, Σ o , → SOG , Γ 0 .</p><p>1. Γ is a finite set of diagnoser aggregates.</p><p>2. Γ 0 is the initial diagnoser aggregate with;</p><formula xml:id="formula_9">a) Γ 0 .Q n = Saturate Σu\Σ f (q 0 ); b) Γ 0 .Q f =Saturate Σu (Img(Γ 0 .Q n , f )). 3. → SOG ⊆ Γ × Σ o × Γ is the transition relation, defined as below, ∀a, a ∈ Γ, σ ∈ Σ o s.t. σ ∈ Enable(a.Q n ∪a.Q f ): a σ − → SOG a ⇔ a .Q n = Saturate Σu\Σ f (Img(a.Q n , σ)) ∧ a .Q f =Saturate Σu (Img(a .Q n , f ) ∪ Img(a.Qf, σ))</formula><p>To summarize, the hybrid diagnoser D SOG (G) is constructed as follows: let the current aggregate of the diagnoser be a, and the next observed event be σ. The target diagnoser aggregate a of the hybrid diagnoser is computed following these rules:</p><formula xml:id="formula_10">1. If σ ∈ Enable(a.Q n ) ∩ Enable(a.Q f ) then: a. a .Q n = Saturate Σu\Σ f (Img(a.Q n , σ)). b. a .Q f = Saturate Σu (Img(a .Q n , f ) ∪ Img(a.Qf, σ)). 2. If σ ∈ Enable(a.Q n )\Enable(a.Q f ) then: a. a .Q n = Saturate Σu\Σ f (Img(a.Q n , σ)). b. a .Q f = Saturate Σu (Img(a .Q n , f )). 3. If σ ∈ Enable(a.Q f )\Enable(a.Q n ) then: a. a .Q n = ∅. b. a .Q f = Saturate Σu (Img(a.Q f , σ)).</formula><p>These rules preserve a specific fault propagation.</p><p>From an F -uncertain diagnoser aggregate, we can reach either another F -uncertain, an F -normal or an F -certain diagnoser aggregate, from an Ncertain diagnoser aggregate, we can reach either another N -certain diagnoser aggregate or an Funcertain one, and finally from an F -certian diagnoser aggregate, we can reach only another Fcertain diagnoser aggregate, which depicts exactly the hypothesis of permanent failures. Figure <ref type="figure" target="#fig_4">4</ref> illustrates these points. The initial aggregate composed of the initial state of the LTS and the state 2 reachable from state 1 by the occurrence of faulty event f . Both of the diagnoser aggregates (2) and (3) contain two sets of states (each one is represented by a BDD).</p><formula xml:id="formula_11">N -certain F -uncertain F -certain</formula><p>After the occurrence of event d we reach diagnoser aggregate (4), which is the same as diagnoser aggregate (2) thus, there exists a cycle on the hybrid diagnoser composed of aggregates ( <ref type="formula">2</ref>) and</p><p>(3) by executing the observable event sequence (bd) * . Diagnoser aggregate ( <ref type="formula">5</ref>) is reached after the occurrence of event t and it contains only the set of faulty states thus, it is an F -certain diagnoser aggregate. As F -certain diagnoser aggregates are not necessary to analyse diagnosability, in on-thefly constructing of the hybrid diagnoser, we do not construct them. Indeed, one knows that all the subsequent aggregates will be F -certain as well. Besides, computing such aggregates is not necessary for online diagnosis. We recall that our goal is to avoid the state-explosion problem, not only by providing this compact form (SOGs) to build the hybrid diagnoser but also by constructing the hybrid diagnoser on-the-fly and verifying diagnosability simultaneously. Constructing the hybrid diagnoser on-the-fly serves to avoid generating the whole state space of the diagnoser even if the system is diagnosable, i.e. as we deal with permanent faults, we do not need to construct the part, of the hybrid diagnoser, containing only Fcertain diagnoser aggregates since such a part is not necessary for analysing diagnosability (see <ref type="bibr">(Liu et al. 2014a</ref>) for more details).</p><p>Hereafter, we provide the SOG-based algorithm needed for on-the-fly construction of the hybrid diagnoser. The following function and data structures are used:</p><p>• Img(S, t), as described previously, returns the set of immediate successors of the states of a set S through the occurrence of event t.</p><p>• OBDDs (Ordered Binary Decision Diagram) are used to represent the sets of states belonging to an aggregate, i.e. the set of normal states and the set of faulty states in an aggregate. This task is performed by the function Reduce().</p><p>• The hybrid diagnoser is represented by a standard graph representation with a set of vertices, namely V , and a set of edges, namely E, connecting these aggregates and labelled with observable events.</p><p>• EnableObs(S) returns the set of observed events that are enabled by at least one of the states in set S.</p><p>• Saturate Σi (), as defined before, computes the various states reached through events from set Σ i .</p><p>• Stack is an ordered set of 5-uplet, which contains two sets of states (S n , S f ) and three sets of events (Evt f , Evt n , Evt) with Evt = (Evt n ∪ Evt f )\(Evt n ∩ Evt f ).</p><p>• 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).</p><p>• IsIndeterminate(): is a function that returns Boolean value (true if the existing cycle is an findeterminate cycle and f aulse otherwise. This function will be discussed later.</p><p>• RemoveLast(S) is an operation that removes, then returns, the last event of a set S.</p><p>• For the sake of simplicity, we consider that Σ f contains only one faulty event, generalization to a set of faulty events is straightforward.</p><p>The initialization step (lines 1-11) serves to compute the initial diagnoser aggregate, handle it efficiently using OBDD (function Reduce()), and push it, associated with its enabled observable events, into the stack. The construction of the hybrid diagnoser is performed using a depth first exploration: As long as the stack in not empty, a new observable event t, enabled by the diagnoser aggregate a at the top of the stack, is removed from the set of enabled events (Evt) and then processed. If such an event does not exist, the corresponding aggregate is poped from the stack (lines 13-15). Otherwise, if the set Evt n of events enabled by the set of normal states S n of the diagnoser aggregate a, is empty then the aggregate a is poped from the stack (lines 16 and 18). This step serves to avoid the construction of the subsequent F -certain diagnoser aggregates, i.e. since this part of the hybrid diagnoser is not necessary to analyse diagnosability.</p><p>The computation of the new aggregate a , reachable through an observable event from aggregate a, is completed by saturation on the unobservable events (lines 20-26). If a has already been encountered (i.e. existence of a cycle) then the hybrid diagnoser is updated by adding a new edge (lines 27-28) and if the cycle is uncertain (i.e., contains only f -uncertain diagnoser aggregates), the function IsIndeterminate() is launched in order to detect whether there exists an f -indeterminate cycle or not (line 29-32). If the cycle is an f -indeterminate one then we output that the model is undiagnosable and we stop the diagnoser construction. Otherwise, construction is continued, a with its enabled observable events are pushed into the stack, and so on. When the stack is empty, then the necessary part of the diagnoser, for analysing diagnosability, is completely built, we output that the model is diagnosable.</p><p>As mentioned in Section 3, diagnosability analysis is performed by searching two infinite executions that share the same observed event-sequences such that one sequence contains a faulty event and not the other one. That means to search an f -indeterminate cycle in the diagnoser <ref type="bibr" target="#b2">(Sampath et al. 1995)</ref>. The same procedure is used in our case, i.e. searching f -indeterminate cycles in the hybrid diagnoser. Two steps are needed to check the existence of f -indeterminate cycles when a cycle of F -uncertain diagnoser aggregate is found in the hybrid diagnoser:</p><p>1. Extract the observed event-sequence that leads to this cycle (of F -uncertain diagnoser aggregates).</p><p>2. Check if this observed event-sequence corresponds to two cycle in the LTS model. One cycle is reached by a fault-free event-sequence and the other one is reached by a faulty eventsequence.</p><p>This task is performed by function IsIndeterminate() in the Algorithm 1 (line 28) which calls a specific function (path exists()) from the digraph library <ref type="bibr" target="#b18">(Rushton 2012)</ref>. (digraph is a library dedicated for searching cycles from the system model).</p><p>We emphasize that verification of the existence of f -indeterminate cycles is performed on-the-fly in parallel to the process of constructing the hybrid diagnoser, i.e. the process of constructing the hybrid diagnoser runs and when a cycle of F -uncertain diagnoser aggregates is found, we check whether this cycle corresponds to an f -indeterminate cycle or not. If it is the case (i.e. the cycle is an findeterminate cycle), then the whole process is stopped and a negative verdict is emitted regarding diagnosability, else the building process is continued.</p><p>1. The faulty sequence f a(bud) * that leads to a cycle composed of states 3, 4, and 5.</p><p>2. The fault-free sequence a(bud) * that leads to a cycle composed of states 7, 11, 12.</p><p>Thus, we can infer that the cycle, in the hybrid diagnoser, composed of diagnoser aggregates (2) and ( <ref type="formula">3</ref>) is an f -indeterminate cycle. Thus, we stop constructing the hybrid diagnoser and we output that LTS G is non diagnosable with respect the fault f .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.2.">A heuristic strategy to improve the building algorithm</head><p>Our algorithm for constructing the hybrid diagnoser is based on a depth-first search (DFS) to investigate the state space (diagnoser aggregate in the developed tree-like structures) execution by execution. Generally, no rules are defined to select the execution to be investigated first, i.e. the order of execution exploring is arbitrary. However, as we deal with diagnosability analysis, in our case, the diagnoser aggregate structure provides some information that can be exploited to direct the search in such a way as to increase the chances of quickly obtaining a diagnosability verdict by exploring the most promising executions at first.</p><p>When we deal with diagnosability analysis, the interesting executions of the system are those which share the same observed event-sequence such that some of them contain a faulty event and the others are fault-free. This is reduced to track the observed event-sequences, in the hybrid diagnoser, leading to F -uncertain aggregates. Generally, there exists three types of enabled transitions from any aggregate, as depicted in Figure <ref type="figure" target="#fig_6">6</ref>.</p><p>1. Transitions enabled only by states from the faulty set (Figure <ref type="figure" target="#fig_6">6</ref>.(a)). As said before, this type of branches will not be explored.</p><p>2. Transitions enabled only by states from the normal set (Figure <ref type="figure" target="#fig_6">6</ref>.(b)). In this case, we need to continue the construction since other faults may occur in the future.</p><p>3. Transitions enabled from both normal and faulty sets (Figure <ref type="figure" target="#fig_6">6</ref>.(c)). In this case, the reached diagnoser aggregate will be certainly F -uncertain.</p><p>This last type of transitions is the most-promising to find an f -indeterminate cycle since we know, a priori, that the new diagnoser aggregate will be certainly an f -uncertain aggregate, contrary to the other above cases. Thus, it will be the first to be explored in order to direct the construction of the hybrid diagnoser and to potentially speed up the verification process. We note that in the actual version of the algorithm, this heuristic strategy is not implemented.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.">RELATED WORKS</head><p>In the literature, there are several diagnoser-based approaches for analysing diagnosability inspired from the seminal work of <ref type="bibr" target="#b2">(Sampath et al. 1995)</ref>. In <ref type="bibr" target="#b19">(Zad et al. 2003</ref>) a state-based approach for on-line passive fault diagnosis was introduced. In the statebased approach, it is assumed that the set of states of the system model can be partitioned according to the faulty or normal condition of the system. In this work, a specific diagnoser is constructed as a finite state machine that takes information from the system (i.e. sequences of inputs/outputs) and generates an estimate of the condition of the system (i.e., faulty or normal). Establishing of this diagnoser has exponential time complexity. However, a model reduction scheme with polynomial time complexity is proposed to reduce the computational complexity of the procedure. <ref type="bibr" target="#b20">(Schumann et al. 2004</ref>) propose a symbolic framework based on binary decision diagrams for the diagnosis of DESs. A symbolic version of Sampath's diagnoser was proposed, while requiring considerably lower space and time than the enumerative approach of <ref type="bibr" target="#b2">(Sampath et al. 1995)</ref>. Recently, <ref type="bibr">(Liu et al. 2014a</ref>) propose an on-the-fly algorithm for constructing and checking diagnosability of discrete-event systems modelled by LPNs using an enumerative approach. The goal is to avoid the construction of the whole state-space of the diagnoser especially when the system is not diagnosable. The approach was experimented over a Petri net benchmark and the obtained results were promising compared to those of Sampath's approach. A tool, called OF-PENDA <ref type="bibr">(Liu et al. 2014b)</ref>, was developed based on this approach to analyse diagnosability, K-diagnosability and K mindiagnosability of systems, modelled by Labelled Petri Nets.</p><p>The approach proposed in this paper, takes advantage from these two last approaches (i.e., <ref type="bibr" target="#b20">(Schumann et al. 2004</ref>) and <ref type="bibr">(Liu et al. 2014a</ref>)) by combining the symbolic representation of diagnoser states and on-the-fly techniques for constructing the hybrid diagnoser and verifying diagnosability. We believe that this approach will improve efficiently analysis of diagnosability in terms of runtime and memory resources. We still need to apply the approach on several benchmarks in order to assess its efficiency. Indeed, determining analytical complexity while considering the worst case is not appropriate for such an on-the-fly approach.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="7.">CONCLUSION</head><p>In this work, we have developed an on-the-fly approach for diagnosability analysis, based on a hybrid diagnoser. The approach is based on the symbolic observation graph (SOG), which is a paradigm that combines symbolic and enumerative representations in order to build a deterministic observer from a partially observed model. The approach aims to improve the efficiently in terms of runtime and memory resources when analysing diagnosability.</p><p>Several future directions are considered. First, we wish to make experimentations over casestudies in order to assess the efficiency and the scalability of our approach and also to compare the obtained results with those provided by other existing approaches. Then, we will investigate some other practical versions of diagnosability, namely K-diagnosability and K min -diagnosability. Finally, we intend to extend the proposed approach for analysing diagnosability based on the verifier approach by means of a non deterministic version of the symbolic observation graph.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head></head><label></label><figDesc>0 associated with a tagging function Diag : X → 2 , with = {N, F } (for only one class of failures). with N means normal and F means faulty.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Figure 1 :</head><label>1</label><figDesc>Figure 1: The LTS G</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head></head><label></label><figDesc>equals a for some aggregate a and (a, σ, a ) ∈→ Σo ; 2. → Σo ⊆ A × Σ o × A is the transition relation, obtained by applying 1.b).</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Figure 3 :</head><label>3</label><figDesc>Figure 3: A diagnoser aggregate</figDesc><graphic coords="5,358.58,623.89,141.73,86.45" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>Figure 4 :</head><label>4</label><figDesc>Figure 4: Fault propagation on the hybrid diagnoser</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_5"><head>Figure 5 :</head><label>5</label><figDesc>Figure 5: Hybrid diagnoser of the LTS in Figure 1.</figDesc><graphic coords="7,66.61,147.81,198.42,179.86" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_6"><head>Figure 6 :</head><label>6</label><figDesc>Figure 6: Types of enabled transitions from an aggregate</figDesc><graphic coords="9,330.24,64.76,198.43,101.72" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head></head><label></label><figDesc>The diagnoser G d corresponding to the LTS G is depicted in Figure2. There exists a cycle of f -uncertain states composed of {3F, 7N } and {5F, 10F, 12N } w.r.t. the observable sequence (bd) * . This cycle corresponds to two cycles in the LTS G. The 1 st one, which is composed of states {3}, {4}, {5} w.r.t. the sequence (bud) * , which is reachable from the faulty sequence f a. The 2 nd cycle, which is composed of states {7}, {11}, {12} and reached by the fault-free sequence a. Thus we can infer, according to Theorem 1, that there exists an f -indeterminate cycle in the diagnoser and consequently the LTS G is not diagnosable w.r.t. to faulty class Σ f and the projection function P .</figDesc><table /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head></head><label></label><figDesc>depicts the general form of a diagnoser aggregate where two BDDs represent two sets of states; BDD n represents the set of normal states, while BDD f represents the set of faulty ones. The set of faulty states may be reached from the set of normal states by the occurrence of a faulty event, and thus a faulty transition form BDD n to BDD</figDesc><table /><note>f may exist in any diagnoser aggregate. Depending on the executed behaviour, i.e. the executed sequence, the diagnoser aggregate may contain the two sets of states (BDDs) or only one set. If a diagnoser aggregate contains only BDD n (resp. BDD f ), it is called an N -certain (resp. F -certain) diagnoser aggregate, else it is an F -uncertain diagnoser aggregate in the same way as in the classic diagnoser (Definition 3).</note></figure>
		</body>
		<back>
			<div type="annex">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Example 2 Let us take again LTS G of Figure <ref type="figure">1</ref> and its hybrid diagnoser (Figure <ref type="figure">5</ref>). We have a cycle, in the hybrid diagnoser, composed of only F -uncertain diagnoser aggregates (2)</p><p>(3). Once the algorithm of construction arrives at this cycle, we check if this cycle is an f -indeterminate one or not, before continuing the construction process.   </p></div>			</div>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Overview of fault diagnosis methods for discrete event systems</title>
		<author>
			<persName><forename type="first">J</forename><surname>Zaytoon</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Lafortune</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Annual Reviews in Control</title>
				<imprint>
			<date type="published" when="2013">2013</date>
			<biblScope unit="page" from="308" to="320" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<title level="m" type="main">Introduction to discrete event systems</title>
		<author>
			<persName><forename type="first">C</forename><forename type="middle">G</forename><surname>Cassandras</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Lafortune</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2007">2007</date>
			<publisher>Springer</publisher>
		</imprint>
	</monogr>
	<note>Second Edition</note>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Diagnosability of discrete-event systems</title>
		<author>
			<persName><forename type="first">M</forename><surname>Sampath</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Sengupta</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Lafortune</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Transactions on Automatic Control</title>
		<imprint>
			<biblScope unit="volume">40</biblScope>
			<biblScope unit="issue">9</biblScope>
			<biblScope unit="page" from="1555" to="1575" />
			<date type="published" when="1995">1995</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">A polynomial algorithm for testing diagnosability of discrete-event systems</title>
		<author>
			<persName><forename type="first">S</forename><surname>Jiang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Z</forename><surname>Huang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Chandra</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Kumar</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Transactions on Automatic Control</title>
		<imprint>
			<biblScope unit="volume">46</biblScope>
			<biblScope unit="issue">8</biblScope>
			<biblScope unit="page" from="1318" to="1321" />
			<date type="published" when="2001">2001</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Polynomial-time verification of diagnosability of partially observed discrete-event systems</title>
		<author>
			<persName><forename type="first">T</forename><forename type="middle">S</forename><surname>Yoo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Lafortune</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Transactions on Automatic Control</title>
		<imprint>
			<biblScope unit="volume">47</biblScope>
			<biblScope unit="issue">9</biblScope>
			<biblScope unit="page" from="1491" to="1495" />
			<date type="published" when="2002">2002</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Formal verification of diagnosability via symbolic model checking</title>
		<author>
			<persName><forename type="first">A</forename><surname>Cimatti</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Pecheur</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Cavada</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Int. Joint Conference on Artificial Intelligence</title>
				<imprint>
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Diagnosability analysis of input/output discrete event system using model checking</title>
		<author>
			<persName><forename type="first">A</forename><surname>Boussif</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Ghazel</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">The 5 th International Workshop on Dependable Control of Discrete Systems</title>
				<imprint>
			<date type="published" when="2015">2015</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<monogr>
		<title level="m" type="main">Petri Net Theory and the Modeling of Systems</title>
		<author>
			<persName><forename type="first">J</forename><surname>Peterson</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1981">1981</date>
			<publisher>Prentice Hall PTR</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Fault detection based on Petri net models with faulty behaviors</title>
		<author>
			<persName><forename type="first">T</forename><surname>Ushio</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Onishi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Okuda</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Systems, Man, and Cybernetics</title>
		<imprint>
			<biblScope unit="page" from="113" to="118" />
			<date type="published" when="1998">1998</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">A polynomial algorithm for checking diagnosability of Petri nets</title>
		<author>
			<persName><forename type="first">Y</forename><surname>Wen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Li</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE International Conference on Systems, Man and Cybernetics</title>
		<imprint>
			<biblScope unit="volume">3</biblScope>
			<biblScope unit="page" from="2542" to="2547" />
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Diagnosability analysis of bounded Petri nets</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">P</forename><surname>Cabasino</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Giua</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Lafortune</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Seatzu</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 48 th IEEE Conference on Decision and Control (CDC) held jointly with 28th Chinese Control Conference</title>
				<meeting>the 48 th IEEE Conference on Decision and Control (CDC) held jointly with 28th Chinese Control Conference</meeting>
		<imprint>
			<date type="published" when="2009">2009</date>
			<biblScope unit="page" from="1254" to="1260" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">On k-diagnosability of Petri nets via integer linear programming</title>
		<author>
			<persName><forename type="first">F</forename><surname>Basile</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Chiacchio</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><forename type="middle">De</forename><surname>Tommasi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Automatica</title>
		<imprint>
			<biblScope unit="volume">48</biblScope>
			<biblScope unit="issue">9</biblScope>
			<biblScope unit="page" from="2047" to="2058" />
			<date type="published" when="2012">2012</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Diagnosability of discrete-event systems using labeled Petri nets</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">P</forename><surname>Cabasino</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Giua</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Seatzu</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Transactions on Automation Science and Engineering</title>
		<imprint>
			<biblScope unit="volume">11</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="144" to="153" />
			<date type="published" when="2014">2014</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">Toward an efficient approach for diagnosability analysis of des modeled by labeled petri nets</title>
		<author>
			<persName><forename type="first">B</forename><surname>Liu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Ghazel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Toguy Éni</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceeding of the 13 th European Control Conference</title>
				<meeting>eeding of the 13 th European Control Conference</meeting>
		<imprint>
			<biblScope unit="page">2014</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">Design and Evaluation of a Symbolic and Abstractionbased Model Checker</title>
		<author>
			<persName><forename type="first">S</forename><surname>Haddad</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J.-M</forename><surname>Ili É</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Klai</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Wang</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">2 nd International Symposium on Automated Technology for Verification and Analysis (ATVA&apos;04)</title>
				<imprint>
			<date type="published" when="2004">2004</date>
			<biblScope unit="page" from="198" to="210" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">Symbolic boolean manipulation with ordered binary-decision diagrams</title>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">E</forename><surname>Bryant</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM Comput. Surv</title>
		<imprint>
			<biblScope unit="volume">24</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="293" to="318" />
			<date type="published" when="1992">1992</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">Modular construction of the symbolic observation graph</title>
		<author>
			<persName><forename type="first">K</forename><surname>Klai</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Petrucci</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">The 8 th International Conference on Application of concurrency to System Design</title>
				<imprint>
			<date type="published" when="2008">2008</date>
			<biblScope unit="page" from="23" to="27" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">MC-SOG: An LTL model checker based on symbolic observation graphs</title>
		<author>
			<persName><forename type="first">K</forename><surname>Klai</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Poitrenaud</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 29 th International Conference on Application and Theory of Petri Nets</title>
				<meeting>the 29 th International Conference on Application and Theory of Petri Nets</meeting>
		<imprint>
			<date type="published" when="2008">2008</date>
			<biblScope unit="page" from="23" to="27" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<monogr>
		<author>
			<persName><forename type="first">A</forename><surname>Rushton</surname></persName>
		</author>
		<ptr target="http://www.andyrhshton.co.un/programming/stlplus-library-collection" />
		<title level="m">A directed graph conainer</title>
				<imprint>
			<date type="published" when="2012">2012</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">Fault diagnosis in discrete-event systems: Framework and model reduction</title>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">H</forename><surname>Zad</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">H</forename><surname>Kwong</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><forename type="middle">M</forename><surname>Wonham</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Transactions on Automatic Control</title>
		<imprint>
			<biblScope unit="volume">48</biblScope>
			<biblScope unit="issue">7</biblScope>
			<biblScope unit="page" from="1199" to="1212" />
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<analytic>
		<title level="a" type="main">Diagnosis of discrete event systems using ordered binary decision diagrams</title>
		<author>
			<persName><forename type="first">A</forename><surname>Schumann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Pencole</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Thiebaux</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">15 th International Workshop on Principles of Diagnosis</title>
				<imprint>
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<analytic>
		<title level="a" type="main">OF-PENDA: A software tool for fault diagnosis discrete event systems modeled by labeled petri nets</title>
		<author>
			<persName><forename type="first">B</forename><surname>Liu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Ghazel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Toguy Éni</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Worshop Petri Nets for Adaptive Discrete-Event Control Systems</title>
				<imprint>
			<biblScope unit="page">2014</biblScope>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
