Journal of Control Science and Engineering
Volume 2019 (2019), Article ID 2895685, 11 pages
https://doi.org/10.1155/2019/2895685

Research Article

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

Guanghui Zhu,1,2 Ya Wang,¹ and Yajie Wang³

¹School of Information Engineering, Xuchang University, Xuchang 461000, China
²School of Electro-Mechanical Engineering, Xidian University, Xi’an 710071, China
³School of Mathematics and Statistics, North China University of Water Resources and Electric Power, Zhengzhou 450046, China

Correspondence should be addressed to Ya Wang; wangya302@xcu.edu.cn

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 as

which 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 as

where 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 .

Figure 1: A Petri net system.

3. Model Identification without Observable Places

3.1. Problem Statement

Assume that the observable subnet and the initial marking are known. We monitor the system evolution and record the occurred event. Upon the occurrence of an event, a transition is observed and it is appended to the tail of the observed sequence. If the observed transition sequence is , then two different situations are taken into account.

(i) holds, i.e., . In such a case the observable subnet is sufficient to describe the observed transition sequence.

(ii) does not hold. We infer that one or more unobservable transitions not included in occur.

We can infer a net with from the observed transition sequence such that it can describe the observable and unobservable system behavior. To correctly identify the unobservable subnet, we make the following assumptions.

(A1)The unobservable behavior of a system can be characterized by an acyclic subnet, denoted by .

Given an observable subnet that models the observable behavior of a system, Assumption (A1) means that we can always find a solution of an acyclic unobservable subnet such that the combined net describes the whole system. On the other hand, Assumption (A1) provides a necessary and sufficient condition for the reachability of the unobservable subnet .

To combine the known observable subnet and the identified unobservable subnet , the preincidence matrix of the whole net is computed by , and its postincidence matrix is represented by . Correspondingly, we have .

Problem 6. Assume that an observable subset and the initial marking are given and that the observed transition sequence is . Under Assumption (A1), the problem consists in finding a Petri net such that and .

The structure of a pure net can be represented by its incidence matrix. Thus, by Assumption (A1), we only need to compute the incidence matrix of the unobservable subnet to determine its structure. On the other hand, the observable subset is known, and thus we can obtain the net .

3.2. Main Results

Assume that the observable subnet and are given and that a sequence has been observed. A Petri net is identified such that and . Now a new transition is observed. We can decide whether holds thanks to the following theorem, where denotes the observed sequence after transition is recorded.

Theorem 7. Assume that Assumption (A1) is satisfied in a Petri net with . Let be the current observed sequence and be a corresponding firing vector of unobservable transitions. A new transition is observed. If (8) admits a solution, then .

Proof. Let be a marking of after sequence fires. Clearly, holds. If (8) admits a solution, then there exists an nonnegative integer vector such that . Let . By Assumption (A1) and Theorem 3, there exists an unobservable transition sequence such that and . Since , holds. Thus the transition can be observed after by firing , i.e., .

The solution to (8) is not unique, and we can choose a performance index to select a solution among the set of admissible ones such that it is most suitable for the current situation. In particular, we can consider the performance index which minimizes the sum of the firing times of unobservable transitions. We define the following ILPP:

where is a row vector of dimension with each element being 1.

Example 8. Consider the net system in Figure 2, where , , , and the dashed lines represent the arcs connected with unobservable transitions. Assume that the observed sequence is and that the corresponding firing vector of unobservable transitions is . If the transition is now observed, we find a solution by solving ILPP 1. According to Theorem 7, we have . In fact, there exists a firing sequence such that .

Figure 2: A Petri net with

If (8) has no feasible solution, we can only add a new unobservable transition to Petri net to obtain a new Petri net such that . Assume that is the considered unobservable transition. Let ; i.e., Petri nets and have the same observable subnet ; however the unobservable subnet is obtained by adding the unobservable transition to . By Assumption (A1), the structure of can be determined by its incidence matrix . Assume that is the column in the incidence matrix associated with and then the incidence matrix of is ; i.e., retains the structure of but includes an additional transition . The following proposition provides a method to compute the unobservable transition.

Proposition 9. Given a net system with , let be the current observed sequence and be a corresponding firing vector of unobservable transitions. Assume that a new transition is observed. If there exists a vector satisfying (10), then , where is a Petri net obtained by adding an unobservable transition with the corresponding incidence matrix column being to .

where is the set of integers.

Proof. Let be a marking of after firing sequence . Obviously, holds. If is a solution of (10), then holds. Let . Since , i.e., is the last column of incidence matrix , by Theorem 3, holds, where denotes the new unobservable transition whose incidence matrix column is . Thus holds, i.e., .

Let us consider (10) again. When the cardinality of set is zero, i.e., , the incidence matrix is a matrix and we can set . On the other hand, there may be more than one solution satisfying the linear constraint set represented by (10), and we can define a performance index to select a solution among those solutions. In particular, if is considered as a performance index which minimizes the sum of weights of the arcs connected with the unobservable transition , the following integer programming problem is formulated:

where is a constant that is large enough.

If the performance index is chosen, the solution of (11) is always ; namely, we can always obtain a source transition. In practical applications, because of the limited resources, a source transition that models unobservable behavior of a system is not common. In order to forbid the solution containing source transitions, we impose the additional constraints (a) on the unobservable transition to guarantee that at least one component of the solution is a negative integer; i.e., the solution cannot be a source transition. Here, that at least a component of a vector is less than or equal to zero can be characterized by the logical OR operator which can be easily converted into some linear constraints [23], such as constraints (a) in (11).

On the other hand, the optimization problem represented by (11) is nonlinear because of the absolute value in the objective function. We have shown in Section 2.3 that the absolute value in a programming problem can be removed by adding additional variables and constraints. Thus (11) can be rewritten as follows:

where and (b) are, respectively, the additional variables and constraints associated with in (11).

Example 10. Consider the net system in Figure 3(a), where and . Assume that the observed sequence is satisfying and that the corresponding firing vector is . Suppose that is now observed, but ILPP 1 has no feasible solution; i.e., we should add a new unobservable transition to such that . The solution is found by solving ILPP 2. Let and update the structure of by adding a new unobservable transition . Figure 3(b) shows the obtained Petri net.

(a)

(b)

(c)

Figure 3: (a) A net satisfying , (b) a net after is added, and (c) a net with a simpler structure than (b).

Note that the net system in Figure 3(c) is also a solution of Example 10. Moreover, it has a smaller sum of weights of the arcs connected with . In fact, we can make use of the previously obtained unobservable transitions when we compute the new unobservable transition to obtain a simpler solution. The following proposition provides a technique to make use of the previously identified unobservable transitions.

Proposition 11. Assume that the net system is given and is the current observed sequence with . A new transition is observed. If there exists a vector satisfying; (13a), (13b), (13c), and (13d), then , where is a Petri net obtained by adding to .

Proof. Let be the marking after firing sequence . holds. The constraint (13a) can be rewritten as

Since , (14) is rewritten as

Let . By Theorem 3, there exists an unobservable transition sequence such that . Since , holds, i.e., .

As shown in (10), the solution of (13a), (13b), (13c), and (13d) is neither unique. We still consider the performance index and convert the absolute value in objective function into linear constraints. The final integer linear programming problem is shown as follows:

Example 12. Consider again the net system in Figure 3(a) and assume that is the observed sequence and . Now the transition is observed and ILPP 1 has no feasible solution. We solve ILPP 3 to introduce a new unobservable transition. A solution is found. Let . The resulting net system is shown in Figure 3(c) such that .

3.3. Online Identification Algorithm

There may be different approaches that can provide a solution to Problem 6; however we propose an online identification algorithm that recursively determines the structure of the unobservable subnet. Upon each observed transition , we record and decide whether a new unobservable transition should be introduced by solving ILPP 1. If it is the case, we obtain the unobservable transition by solving ILPP 3 and update the structure of the unobservable subnet. The identification procedure is shown by Algorithm 1, which monitors the system evolution and waits until a transition is observed.

Input: A net system

Output: A Petri net with

(1) , , , , ;

(2) wait until transition is observed;

(3) if then

(4)if then

(5); goto 2;

(6) else

(7) goto 13;

(8) end if

(9) else

(10) if ILPP 1 admits a solution then

(11); ; goto 2;

(12) else

(13) if ILPP 3 admits a solution and then

(14); ; ;

(15); ;

(16);

(17)goto 2;

(18)else

(19) error: cannot find a solution satisfying ILPP 3

(20)return

(21) end if

(22) end if

(23) end if

Algorithm 1: Identification of an unobservable subnet.

The inputs of Algorithm 1 are the observable subnet and the initial marking , i.e., , , and , and its output is the unobservable subnet such that we can obtain the whole net .

In line (1), the algorithm initializes the variables. Initially, the unobservable subnet is null, i.e., , is a matrix, and the vector is also null. Note that the vector is maintained and updated by Algorithm 1 when a transition is observed. In addition, denotes the number of unobservable transitions, and it is the subscript when we name the newly identified transition .

In line (3), if equals zero, i.e., no unobservable transition is identified, it is not necessary to solve ILPP 1. Instead, the condition of line (4) is checked.

In line (10), ILPP 1 has a feasible solution; then we only update the firing vector and go back to line (2). In lines (14) and (15), a new unobservable transition is identified and we will update the corresponding variables. First, we add the solution to as the last column, and the corresponding unobservable transition is called . Note that increases by one when a new unobservable transition is identified such that the unobservable transitions are named , , ,... We also obtain the value of variable that represents the firing vector of the previously identified unobservable transitions to enable the observed transition . Hence we add by and add the dimension of by one, which means that the new identified unobservable transition fires once.

In line (19), it happens that ILPP 3 has no feasible solution, which probably stems from the necessity of a source transition or the inaccurate sensor reading.

Example 13. Consider the observable subnet in Figure 4(a), where , , and . Assume that the observed sequence is . Upon each observed transition, Algorithm 1 executes the identification procedure. We analyse the transitions in in sequence.
Initially, the observed sequence is an empty string, , both and are null, and .
Occurrence of : the relation holds, and thus we do not have to solve ILPP 3 to find an unobservable transition. The algorithm sets .
Occurrence of : holds. Thus the algorithm sets . Occurrence of the second : since , ILPP 3 is solved and the solution is found. Then the algorithm updates , , and with , and adds to . The Petri net is shown in Figure 4(b). Now .
Occurrence of : since , we solve ILPP 1 and obtain the solution , implying that is enabled at the current marking, and remains unchanged.
Occurrence of : ILPP 1 has no feasible solution, i.e., a new unobservable transition should be introduced. Solving ILPP 3 and obtaining the solution , we add to and update . Now the net is shown in Figure 4(c) with and .
Occurrence of the second : ILPP 1 has a solution . Thus we just need to increase the observed sequence, i.e., .
Occurrence of the second : A solution to ILPP 1 is , implying that is enabled after firing unobservable transition . The vector is updated with and let .
Occurrence of the third : ILPP 1 has no feasible solution and a solution is found by solving ILPP 3. We add to set and update the structure of unobservable subnet . The net is shown in Figure 4(d). Furthermore, we have and .

(a)

(b)

(c)

(d)

Figure 4: (a) The observable subnet , (b) the net identified after sequence , (c) the net identified after sequence , and (d) the net identified after sequence by applying Algorithm 1.

As shown in Example 13, an unobservable transition is introduced in some cases when a transition is observed. An unobservable subnet is recursively identified by Algorithm 1 and the Petri net is finally provided. The following theorem proves that the output of Algorithm 1 is a solution to Problem 6.

Theorem 14. Given the observable subnet and the initial marking , under Assumption (A1), the identified Petri net by Algorithm 1 is a solution to Problem 6.

Proof. The proof is made by induction.
Basic Step. In this case, the observed sequence is an empty string and incidence matrix is null. If transition is now observed, then we check the relation , i.e., the relation . If it holds, let , and trivially holds. Otherwise, the solution is obtained by solving ILPP 3 and is updated by adding an unobservable transition . Let and . By Proposition 11, is trivially verified, namely, .
Inductive Step. Assume that the observed sequence is and the corresponding firing vector of unobservable transitions is . If is now observed, two different situations are considered.

(1) equals , i.e., no unobservable transition is introduced during the period of observation . If is true, then is enabled at the current marking, i.e., . Otherwise, a solution is found by solving ILPP 3 and the structure of is updated by adding a new unobservable transition whose incidence matrix column is . Let . By Proposition 11, holds, where , namely, .(2) is greater than . In this situation, if ILPP 1 admits a solution, we update and the observed sequence with . By Theorem 7, holds. On the other hand, if ILPP 1 has no feasible solution, the solution including and is obtained by solving ILPP 3. We update the related variables with and and add a new unobservable transition to Petri net . Let , and then holds by Proposition 11.

Hence, we conclude that the Petri net identified by Algorithm 1 is a solution to Problem 6.

3.4. Complexity of the Identification Algorithm

Obviously, the primary determinants of the computational difficulty of this algorithm are two integer linear programming problems ILPP 1 and ILPP 3. It is well known that an integer linear programming problem is NP-hard, but it can be solved easily if the number of variables is small. In Algorithm 1, if necessary, ILPP 1 and ILPP 3 are solved serially. In addition, the number of variables in ILPP 3 is greater than that in ILPP 1. Thus we analyse the complexity of ILPP 3 only.

We observe that , , and are the integer variables in ILPP 3 and is a binary variable. Then the number of integer variables is , where denotes the number of unobservable transitions and denotes the sum of the dimensions of , , and .

In other words, the number of integer variables in ILPP 3 is linear (the coefficient is ) with respect to that of unobservable transitions. Thus ILPP 3 is a simple integer programming problem that can be solved efficiently. For example, the unobservable subnet with three unobservable transitions in Example 13 is identified using LPSOLVE (a mixed integer linear programming solver [24]) in 0.0541 seconds on a notebook computer with 2 GHz processor and 8 GB RAM. In addition, we test the presented algorithm on an observable subnet with 43 places, 40 transitions, 140 arcs. In this setting, 15 unobservable transitions are found by solving 25 integer programming problems in 0.3698 seconds on the same computer using LPSOLVE solver.

4. Model Identification with Partial Observable Places

4.1. Problem Statement

In Section 3, we assume that no place is observable. In such a setting, we may not be able to determine an unobservable transition that describes exactly the unknown behavior of a system by solving ILPP 3. The main reasons are the limited knowledge of system evolution and the possibility that there is more than one solution that satisfies the considered linear constraint set even if we choose a performance index. To determine a more authentic unobservable transition, more information on system evolution is needed. In this section, we consider that some of places are observable.

Let us consider a net system , where and . Assume that with is the set of observable places. For each , the restriction of to is called a partial marking denoted as , and denotes that the restriction of to is .

If some of places in a Petri net model are observable, the observed information during system evolution includes not only the observed transitions but also the corresponding partial markings. We denote the output of the system with observable places by with and the corresponding reached partial markings by , where and is the observed partial marking after transition for .

Example 15. Consider again the observable subnet shown in Figure 4(a). If the set of observable places is , for an observed sequence , the corresponding partial markings can be , , , ; i.e., the observed transition-partial-marking sequence is . It is clear that the sequence cannot be generated by the net in Figure 4(a) and thus some unobservable transitions must occur.

Problem 16. Assume that the observable subnet and the initial marking are given and with is the set of observable places. The observed output includes the transition sequence with and the corresponding reached partial markings , where and is the observed partial marking after transition for . The problem consists in determining a Petri net with such that and each marking after fires satisfies for .

4.2. The Solution to Problem 16

This subsection discusses whether an unobservable transition has to be introduced or not under the assumption that some of places are observable. Moreover, we present a technique to show how the unobservable transitions can be introduced.

Theorem 17. Consider net system . Assume that with is the set of observable places and the observed transition sequence is with being the corresponding firing vector. Assume that a transition and the corresponding partial markings are observed. If (17a), (17b), and (17c) admit a solution, then and the marking after fires satisfies .

where is an matrix such that for and 0 otherwise. The matrix A is dedicated to projecting a marking onto a partial marking based on the set of observable places .

Proof. If we do not consider the observable places and remove constraint (17b), then (17a), (17b), and (17c) are reduced to be (8). By Theorem 7, is trivially verified. However, if constraint (17b) is removed, there may be numerous solutions that satisfy but violate . When the set of observable places is taken into account, constraint (17b) guarantees that these solutions that satisfy are chosen only. Thus this theorem is verified.

The solution of (17a), (17b), and (17c) is also not a singleton. We again choose the performance index and obtain the following integer linear programming problem that minimizes the considered performance index:

Proposition 18. Consider net system . Assume that is the set of observable places and the observed transition sequence is with being the corresponding firing vector. A transition and the corresponding partial marking are observed. If there exists a vector satisfying (19a), (19b), (19c), (19d), and (19e), then and the marking after fires satisfies , where is a Petri net obtained by adding to .

Proof. If constraint (19b) is removed, then (19a), (19b), (19c), (19d), and (19e) are reduced to be (13a), (13b), (13c), and (13d). By Proposition 11, is trivially verified. On the other hand, constraint (19b) guarantees that the solutions satisfying are chosen only. Thus, this proposition is proved.

Although constraint (19b) is imposed to choose the solutions satisfying the observed partial markings, the solution of (19a), (19b), (19c), (19d), and (19e) is still not unique. As shown in ILPP 3, we choose as the performance index and obtain the following programming problem:

The solution to Problem 16 can be obtained by making slight changes to Algorithm 1, i.e., replacing ILPP 1 and ILPP 3 with ILPP 4 and ILPP 5, respectively.

5. Conclusion

The paper addresses the problem of model identification of unobservable system behavior by assuming that the observable subnet model is known. We consider two different cases: first, no place is observable; second, a subset of places is observable. Two problems are discussed in both cases and an online algorithm is proposed which computes the unobservable transitions recursively and provides solutions for these two problems. The computational complexity of the algorithm is analysed and it can be executed efficiently because of a small number of unknowns of the integer programming problem.

Further research will be twofold. First, we plan to develop an approach that provides a solution to the problem in this paper and minimizes the unobservable subset, e.g., minimizing the number of unobservable transitions or minimizing the sum of weights of the arcs connected with unobservable transitions. Second, we aim to explore the identification of unobservable transitions in the case that the given subnet includes unobservable transitions.

Data Availability

The authors confirm that the data used to support the findings of this study are included within the article.

Conflicts of Interest

The authors declare that they have no conflicts of interest.

Acknowledgments

This work was supported in part by Key Scientific Research Program of Higher Education of Henan Province of China (no. 19A520036) and in part by Key Technology R&D Program of Science and Technology Department of Henan Province of China (no. 182102210500).

References

C. G. Cassandras and S. Lafortune, Introduction to Discrete Event Systems, Springer, New York, NY, USA, 2nd edition, 2008.

Y. F. Chen and Z. W. Li, “On structural minimality of optimal supervisors for flexible manufacturing systems,” Automatica, vol. 48, no. 10, pp. 2647–2656, 2012.

Y. Chen, Z. Li, K. Barkaoui, and A. Giua, “On the enforcement of a class of nonlinear constraints on Petri nets,” Automatica, vol. 55, pp. 116–124, 2015.

F. Basile, P. Chiacchio, and G. de Tommasi, “An efficient approach for online diagnosis of discrete event systems,” IEEE Transactions on Automatic Control, vol. 54, no. 4, pp. 748–759, 2009.

M. P. Cabasino, A. Giua, and C. Seatzu, “Fault detection for discrete event systems using Petri nets with unobservable transitions,” Automatica, vol. 46, no. 9, pp. 1531–1539, 2010.

M. Dotoli, M. P. Fanti, A. M. Mangini, and W. Ukovich, “On-line fault detection in discrete event systems by Petri nets and integer linear programming,” Automatica, vol. 45, no. 11, pp. 2665–2672, 2009.

Y. Ru and C. N. Hadjicostis, “Fault diagnosis in discrete event systems modeled by partially observed petri nets,” Discrete Event Dynamic Systems, vol. 19, no. 4, pp. 551–575, 2009.

E. M. Gold, “Complexity of automaton identification from given data,” Information and Control, vol. 37, no. 3, pp. 302–320, 1978.

D. Angluin, “Inference of reversible languages,” Journal of the ACM, vol. 29, no. 3, pp. 741–765, 1982.

A. Giua and C. Seatzu, “Identification of free-labeled Petri nets via integer programming,” in Proceedings of the 44th IEEE Conference on Decision and Control, pp. 7639–7644, IEEE, Seville, Spain, December 2005.

M. P. Cabasino, A. Giua, and C. Seatzu, “Identification of Petri nets from knowledge of their language,” Discrete Event Dynamic Systems, vol. 17, no. 4, pp. 447–474, 2007.

M. P. Cabasino, A. Giua, C. N. Hadjicostis, and C. Seatzu, “Fault model identification and synthesis in Petri nets,” Discrete Event Dynamic Systems, vol. 25, no. 3, pp. 419–440, 2015.

M. Dotoli, M. P. Fanti, and A. M. Mangini, “An optimization approach for identification of Petri Nets,” in Proceedings of the 8th International Workshop on Discrete Event Systems, WODES '06, pp. 332–337, IEEE, Michigan, Mich, USA, July 2006.

M. Dotoli, M. P. Fanti, and A. Mangini, “Real time identification of discrete event systems using Petri nets,” Automatica, vol. 44, no. 5, pp. 1209–1219, 2008.

M. Dotoli, M. Pia Fanti, A. M. Mangini, and W. Ukovich, “Identification of the unobservable behaviour of industrial automation systems by Petri nets,” Control Engineering Practice, vol. 19, no. 9, pp. 958–966, 2011.

K. Hiraishi, “Construction of a class of safe Petri nets by presenting firing sequences,” in Proceedings of the International Conference on Application and Theory of Petri Nets, vol. 616, pp. 244–262, Sheffield, UK, 1992.

M. E. Meda, A. Ramirez, and A. Malo, “Identification in discrete event systems,” in Proceedings of IEEE International Conference on Systems, Man, and Cybernetics, pp. 740–745, IEEE, California, Calif, USA, October 1998.

M. Meda-Campaña and E. López-Mellado, “Identification of concurrent discrete event systems using Petri nets,” in Proceedings of the 17th IMACS World Congress on Computational and Applied Mathematics, pp. 11–15, Paris, France, 2005.

R. Bekrar, N. Messai, N. Essounbouli, A. Hamzaoui, and B. Riera, “Off-line identification for a class of discrete event systems using safe Petri nets,” IFAC Proceedings Volumes, vol. 39, no. 17, pp. 221–226, 2006.

M. Sampath, R. Sengupta, S. Lafortune, K. Sinnamohideen, and D. Teneketzis, “Diagnosability of discrete-event systems,” IEEE Transactions on Automatic Control, vol. 40, no. 9, pp. 1555–1575, 1995.

J. Zaytoon and S. Lafortune, “Overview of fault diagnosis methods for discrete event systems,” Annual Reviews in Control, vol. 37, no. 2, pp. 308–320, 2013.

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

A. Bemporad and M. Morari, “Control of systems integrating logic, dynamics, and constraints,” Automatica, vol. 35, no. 3, pp. 407–427, 1999.

LPSOLVE, https://sourceforge.net/projects/lpsolve/.