Journal of Control Science and Engineering

Volume 2019, Article ID 2895685, 11 pages

https://doi.org/10.1155/2019/2895685

## Model Identification of Unobservable Behavior of Discrete Event Systems Using Petri Nets

^{1}School of Information Engineering, Xuchang University, Xuchang 461000, China^{2}School of Electro-Mechanical Engineering, Xidian University, Xi’an 710071, China^{3}School of Mathematics and Statistics, North China University of Water Resources and Electric Power, Zhengzhou 450046, China

Correspondence should be addressed to Ya Wang; nc.ude.ucx@203aygnaw

Received 19 November 2018; Accepted 3 March 2019; Published 27 March 2019

Academic Editor: Paolo Mercorelli

Copyright © 2019 Guanghui Zhu et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

#### Abstract

This paper deals with the problem of identifying a Petri net that models the unobservable behavior of a system from the knowledge of its dynamical evolution. We assume that a partial Petri net model that represents the observable behavior of a system is given in which all the transitions are observable. An identifier monitors the system evolution and records the observed transition sequence (and possible corresponding markings). Some unobservable transitions modeling the unknown system behavior are identified from the transition sequence by formulating and solving integer linear programming problems. These identified unobservable transitions together with the given partial Petri net model characterize the whole system, including observable and unobservable behavior. Two different cases are considered. First, we assume that no place is observable. In such a case, a transition sequence is observed only during the evolution of the system. Second, we assume that a subset of places is observable; i.e., the observation contains not only the transition sequence but the corresponding markings as well. Hence an additional constraint should be imposed on the unobservable transition in the related programming problems according to the observed markings such that a more authentic unobservable transition can be found.

#### 1. Introduction

Dynamic systems can always be modeled as continuous time systems or discrete event systems (DESs) [1]. In the framework of DESs, the dynamic behavior of a system is usually characterized by its output in the form of numbers, symbols, text, etc. An interesting issue is to infer a system model from the knowledge of system’s output information such that its behavior can be verified, controlled [2, 3], or diagnosed [4–7]. The identification of a DES consists in determining a mathematical model from the data set of input-output signals of a system that describes all or part of the system behavior.

In the DES context, the model setting for the identification problem mainly includes automata and Petri nets. In the early work, Gold [8] shows that the problem of whether there exists an automaton that agrees with the given data is NP-complete. On the basis of an automaton model, Angluin [9] presents a family of efficient algorithms for inferring the* k*-reversible languages from finite positive samples.

Given some information on the evolution of a system, several studies discuss the identification problem of DES using Petri nets. Roughly speaking, the existing approaches can be divided into three categories: (a) given a finite language describing the system behavior, it consists in determining the structure and initial marking of a Petri net system whose language coincides with the given one [10–12], (b) given an event sequence (transition sequence) as well as the corresponding system states (markings), the goal is to determine a Petri net system such that the given event sequence is firable from its initial marking [13–15], and (c) assuming that the net to be identified has special structure (e.g., safe Petri nets) or properties (e.g., exhibiting cyclic behavior), the net is identified from finite data using the customized algorithm [16–19]. In general, an integer linear programming problem (ILPP) is defined to impose certain constraints on the structure of the net to be identified in cases (a) and (b). It may require heavy computational costs to solve an ILPP; however this technique is very general. On the other hand, a customized algorithm is designed based on the knowledge of the structure and property of the net in case (c), and the algorithm often has polynomial time complexity. Nevertheless, it can only be applied to a special class of Petri nets.

Giua and Seatzu [10] present an integer programming technique for the identification of a free-labeled net, i.e., a net without an associated labelling function, from a finite prefix-closed language with the length of its longest word less than or equal to a given positive integer. In their approach, both positive examples and counterexamples can be derived from the given language, and the constraint set of the programming problem allows the positive examples but forbids the counterexamples. The approach is general, but it has high computational complexity. Cabasino et al. [11] extend this approach to the identification of a* deterministic *-free-labeled Petri net, i.e., a net where two transitions can share the same label (cannot be an empty string).

Unlike the studies in [10, 11] in which no information about places is known, Dotoli et al. [13] assume that a transition sequence and the corresponding reached marking after transition fires are observed. A net system is identified by solving an ILPP such that the transition sequence is firable from its initial marking and each marking after firing a transition in the sequence equals the observed one.

Hiraishi [16] proposes an approach which constructs a safe Petri net from the knowledge of firing sequences. Firstly, a finite state automaton is identified from the given firing sequences, and then the structure of the Petri net is estimated. The approach has polynomial time complexity, but it can only be applied to safe Petri nets. Bekrar et al. [19] provide an algorithm that identifies a safe Petri net from the data set of I/O signals of a system. They assume that the considered system is cyclic and all its cycles start from the same initial state. Meda et al. in [17, 18] discuss the identification problem by using Interpreted Petri nets, i.e., a Petri net associated with an input function and an output function, assuming that the dependency between transitions is known. All studies in [16–19] fall into case (c). These approaches are not general and can only be applied to Petri nets with special structure or behavior.

The problems of fault diagnosis and diagnosability have received a lot of attention since the work by Sampath et al. [20]. In the context of Petri nets, it is usually assumed that the faulty model describing not only the fault-free but faulty behavior of a system is known and that the fault events are modeled by unobservable transitions [4–7]. In other words, when we build the Petri net model of a system for diagnosis, both fault-free system behavior and faulty behavior should be considered simultaneously. However, it is not realistic to figure out all possible faulty behavior when one models a system [21]. Thus an issue arises: how to identify faulty (unobservable) behavior to improve the accuracy of the faulty model. In this issue, the fault-free model is assumed to be known. We have to decide whether some unobservable behaviors occur according to the observed event sequence. To the best of our knowledge, there are few studies focusing on the identification of unobservable transitions using Petri nets.

Cabasino et al. [12] propose an approach based on the work in [10] to identify the faulty (unobservable) transitions by assuming that the fault-free model is known and that the system contains at most one unobservable loop-free transition. The main idea is to define and solve an integer programming problem according to the positive examples and counterexamples that can be computed by comparing the given language and the observed language. The main drawbacks of this approach are the computational complexity and the limitation that only one unobservable transition can be identified.

Dotoli et al. [15] also assume that the nominal model without unobservable transitions is known. An online approach is proposed to identify recursively an unobservable subnet from the knowledge of an observed transition sequence and the corresponding reached markings.

In this paper, we extend the work in [15], where all places are assumed to be observable, to the case of partial observable places. Our work is motivated by the fact that in the practical application it is difficult to associate each place with a sensor because of the technical or financial consideration.

This paper deals with the identification of unobservable transitions from the knowledge of an observed transition sequence. An identifier monitors the system and, upon the observation of a transition, an integer programming problem is solved to decide whether an unobservable transition should be introduced. If it is true, an unobservable transition is identified by solving another integer programming problem. An online algorithm is also presented to identify an unobservable subnet consisting of identified unobservable transitions.

In contrast to the work [15], the proposed approach is more general since only part of places need to be observable (all places are assumed to be observable in [15]), and they have the same computational complexity. More specifically, the number of observable places in our approach satisfies , where is the number of places in a net. For , i.e., no place is observable, the observed output is a transition sequence. For , i.e., a subset of places is observable, the observation is a transition-partial-marking sequence, where a* partial marking* is a marking of observable places. If , then the problem to solve is the same as [15].

This paper is organized as follows. Section 2 presents basic definitions about Petri nets as well as some preliminary results. In Section 3, we first present some results that are theoretical basis of the subsequent identification algorithm, and then an online algorithm and its computational complexity are discussed. In Section 4, we extend the algorithm to the case that some of places are observable. Finally, we conclude this paper with the further work in Section 5.

#### 2. Preliminary

This section recalls basic concepts of Petri nets and some preliminary results. In addition, several definitions used in this paper are given. For more details on Petri nets, the reader is referred to [1, 22].

##### 2.1. Basics of Petri Nets

A Petri net is a four-tuple , where is the set of places, is the set of transitions, , and are the pre- and postincidence matrices, respectively, which specify the structure of the Petri net. For , , and , if there exists an arc with weight from to , 0 otherwise; if an arc with weight goes from to , 0 otherwise. Here is the set of nonnegative integers. We denote by the number of places and that of transitions. The incidence matrix of a net is denoted as . For , its* preset* is defined as , and its* postset* is defined as . A transition is said to be a* source transition* if it satisfies . A marking of a Petri net is a vector , and indicates the number of tokens in place . A net system is a Petri net with an initial marking .

A transition is* enabled* at marking if , which is denoted by . An enabled transition at can fire yielding a new marking such that , which is denoted as . If holds, by the definition of incidence matrix , we have , which can be rewritten as , where is the -dimensional canonical basic vector and its -th entry is one.

Given a transition sequence and a marking , denotes that is enabled at marking and denotes that a new marking is* reachable* from after firing . All the markings reachable from comprise the* reachability set* of a Petri net and it is denoted as . The set of sequences enabled at the initial marking is denoted aswhich is called the* language* of a Petri net.

We define an -dimensional column vector (called* firing vector*) for the corresponding transition sequence such that if transition occurs times in . For an enabled transition sequence at such that , we have the following state equation:which is called the* state equation* of a Petri net system.

##### 2.2. Labeled Petri Net

Given a Petri net and the set of events , a labeling function assigns to each transition either a symbol from the event set or an empty string . A transition with label is called an* unobservable transition* and the set of unobservable transitions is denoted as with being the cardinality of set . All other transitions whose labels are not comprise the set of* observable transitions * and . Thus the set is divided into two disjoint subsets and with . We assume that each label can only be assigned to one transition, i.e., the set is isomorphic to the set of observable transitions , and thus without loss of generality we assume . A place is said to be* observable* if it is equipped with a sensor that allows observation of the number of its tokens.

For each , we define an -dimensional vector and if occurs times in . Analogously, for each , an -dimensional vector is defined and if occurs times in .

##### 2.3. Linear Reformulation

An optimization problem with an absolute value is nonlinear. Absolute value functions are not continuously differentiable, and it is difficult to perform standard optimization procedure on them. However, we can convert an absolute value function into several linear constraints such that the optimization can be solved using the standard linear programming technique. We here only consider this situation: there is an absolute value in the objective function. Let us consider the following optimization problem:where and are variables in and , respectively, and are constant vectors in and , respectively, denotes the absolute value of vector , and denotes the linear constraints in this programming problem. Note that is a column vector consisting of nonnegative real numbers.

Programming problem (3) can be rewritten in the form of a linear objective function aswhere is a variable in ; i.e., we add a variable and two additional constraints and .

In fact, for the real numbers and that are the first entries of vectors and , respectively, there are three different cases.(1). Constraint is always fulfilled. Because of the constraint , is necessarily at least as large as . On the other hand, is in the objective function such that it trends to be as small as possible. Thus will be equal to , i.e., .(2). In this case, constraints and are always verified because of . Moreover is in the objective function, and thus it trends to be zero, i.e., .(3). Being analogous to case (1), is trivially verified.

*Definition 1. *Given a Petri net with , can be partitioned into two components denoted by . Here is the* observable subnet*, where is the set of places, is the set of observable transitions, and and are the restrictions of and to , respectively; is the* unobservable subnet*, where is the set of unobservable transitions and and are the restrictions of and to , respectively.

*Definition 2 (see [5]). *Considering the net with , we define the following two projection operations: (i), which is defined as (i) ; (ii) for all and , if , and otherwise, where is the empty string.(ii), which is defined as (i) ; (ii) for all and , if , and otherwise.

In plain words, given a transition sequence , the operator computes the projection of on observable transition set and the operator computes the projection of on unobservable transition set . Note that denotes the inverse of projection .

Given a sequence , is the observed sequence. The set of all observed sequences can be represented by

A Petri net is said to be* acyclic* if it has no directed circuit. Equation (2) shows that there exists a nonnegative integer such that if is reachable from , which is a necessary but not sufficient condition. However, for an acyclic Petri net, it is necessary and sufficient, as shown by the following theorem.

Theorem 3 (see [22]). *In an acyclic Petri net, a marking is reachable from if and only if (iff) there exists a nonnegative integer solution satisfying .*

A net is* pure* if it has no self-loop; namely, , for each . Note that the structure of a pure net can be represented by its incidence matrix. Moreover, it is trivially verified that an acyclic net is pure.

*Definition 4. *Consider net system with . Let be an observed sequence. The sequences of unobservable transitions which enable the occurrence of are denoted by and the -dimensional firing vectors of sequences of unobservable transitions associated with are denoted by

*Example 5. *Figure 1 shows a net system with , , and . If an observed transition sequence is , by Definition 4, we observe . Thus and .