This paper presents the problem of identifying a one-place unbounded Petri net. Given an unlabelled graph that represents the modified coverability graph of a net, we establish a Petri net model whose modified coverability graph is isomorphic to the unlabelled graph, and that can identify the weight of the arcs that cannot be obtained from the coverability graph of the net. Based on the partition of the nodes in the unlabelled graph, we guess and decide the structure of a Petri net and the weight of the arcs by an integer linear programming problem. The unknowns to be determined are the elements of the pre- and post-incidence matrices and the initial marking of the net, which can be computed by solving an integer linear programming problem. Finally, an example is used to validate the rationality and effectiveness of the proposed approach.
The identification of discrete event systems (DES) aims to obtain a mathematical model, which can depict the dynamic behaviour of DES by observing the evolution of input–outputs as well as other knowledge about the system behaviour (Estrada-Vargas et al., 2010). There are three main approaches for identifying DES, namely progressive identification (Meda-Campaña, 2002), parametric automata construction (Klein, 2005) and integer linear programming (ILP; Dotoli et al., 2008). However, the main disadvantage of the ILP approach cannot be applied to identify large and complex DES, because the computational complexity of the algorithm grows exponentially and solution of ILP is computationally expensive. In general, the objective of the identification problem mainly involves two issues: one is whether there exists a DES (e.g. a given Petri net) to generate the corresponding behaviour for a given behavioural characteristic; the other is whether an available procedure or algorithm can be provided to determine such a DES (e.g. an automaton or a Petri net).
During the past decade, the interest in the identification of DES has grown rapidly. Hiraishi (1992) discussed the problem of how to identify a safe Petri net, and presented an algorithm to construct a Petri net model from a finite set of firing sequences. Firstly, the language of a finite-state unlabelled graph was identified with the given firing sequences. Then the structure of a Petri net was conjectured based on the dependency relation extracted from the language. An original net could be uniquely identified when the language was generated by a special class of nets and at the same time a sufficiently large set of firing sequences were given. Based on the theory of regions, Badouel and Darondeau (1998) proposed an approach by constructing an unlabelled net, whose reachability graph was isomorphic, to a given unlabelled graph.
Recently, some efficient algorithms have also been designed to synthesize a net with the knowledge of linear algebra (Giua and Seatzu, 2005; Giua et al., 2005). Later on, a general approach was presented by Giua and Seatzu et al. to identify a Petri net system through solving an ILP problem (Cabasino et al., 2006a, 2007; Dotoli et al., 2008; Giua and Seatzu, 2005). First, they presented a given finite language, which was generated by an unknown free-labelled Petri net system, and was allowed to contain positive examples (strings that belonged to the language) and counterexamples (strings that did not belong to the language). Second, some structural constraints such as conservativeness and consistency were added to the net to make the resulting Petri net closer to the target system. Finally, the above research results were extended to the case of labelled Petri net systems.
Based on the construction of a set of integer linear constraints, Dotoli et al. (2008) presented an approach to identify a labelled Petri net model by performing real time observation of its behaviour evolution. This approach did not require complete knowledge of the system evolution in the form of the reachability graph, or the positive examples and counterexamples of the DES language. For a given unlabelled graph, Cabasino et al. (2007) proposed a method to synthesize a bounded Petri net system whose reachability graph was isomorphic, and the net system was obtained by solving an ILP problem from a similar algebraic characterization of the set of feasible constraints.
For a given graph, Cabasino et al. (2006b) presented a method about the identification of an unbound Petri net from its coverability graph (CG) with the purpose of finding a net system whose coverability graph is isomorphic. The unknown parameters contain elements of the pre- and post-incidence matrices and the initial marking of the net. However, the limitation of the above method is that: first, it cannot identify accurately the weight of the arcs in the net; second, it cannot generate an exact or an approximate net model for a big target Petri net system, because little information is revealed in the CG of a net; and third, the statement of an ILP problem from a set of state space is exponential. Two motivating examples are considered, as shown in Figures 1(a) and (b). Their CGs are shown in Figures 1(c) and 1(d), respectively. Figure 1(e) represents the same unlabelled graph. If the method presented in the above literature is adopted (Cabasino et al., 2006b), these two models cannot be identified by the CG of the net, because the loss of information caused by the ω symbol prevents us obtaining the weight of the arcs from the unlabelled graph. However, if we use the expression to represent the value of the components of a marking, an optimization model can build on the modified coverability graph (MCG) or the modified unlabelled graph. That is, the weight of the arcs can be identified and obtained in the process of our approach. This is also the main motivation and contribution of our work. The computational complexity of our approach depends on the number of the nodes and transitions in the MCG.
Parts (a) and (b) are one-place-unbounded Petri nets, (c) and (d) are the coverability graphs of (a) and (b), respectively, and (e) is the same unlabelled coverability graph for the nets in (a) and (b).
In this paper, we focus our attention on how to identify a one-place unbounded Petri net and how to deal with system identification in instances when a Petri net model cannot be determined by its CG (Cabasino et al., 2006b; Karp and Miller, 1969). Thus, we explore the problem of identifying a Petri net model from its MCG.
The purpose of identifying a Petri net is to determine the initial marking and the structure of a Petri net, i.e. the pre- and post-matrices, and make its MCG isomorphic to a given finite unlabelled graph G, which is given and represents the MCG of a net. These unknown elements can be obtained by solving an ILP problem. Consequently, a Petri net model can be determined such that its MCG is isomorphic to the unlabelled graph. At the same time, we may identify and obtain the weight of the arcs, which cannot be obtained from the CG of the net.
The rest of the paper is organized as follows. Some basic concepts and notations about Petri net theory and ω-number are introduced in the next section. The MCG and the relevant properties will be discussed, followed by the classification and partition of nodes. The method to synthesize a Petri net system from its unlabelled graph is demonstrated and finally conclusions are given.
Preliminaries
Petri net
The basic concepts and notations of a Petri net used in this paper are mostly taken from Giralt and Valk (2003). Let , and denote the set of integers, non-negative integers and positive integers, respectively.
The structure of a Petri net is a four-tuple , where is a set of places represented by circles, is a set of transitions represented by bars, the pre-incidence function expresses the relation from the places to the transitions, and the post-incidence function expresses the relation from the transitions to the places. The matrix is called the incidence matrix of a Petri net. The pre-set and post-set of a node () are denoted by and , respectively. A node () is called the source node if it has no input arcs, i.e. ( is a null set). A node () is called a sink node if it has no output arcs, i.e. .
A mapping is a state (or marking) vector. The number is called the marking of the place . The vector is the initial marking of the net. Thus, a Petri net system is denoted by . A transition is enabled at a marking if and only if and may fire to yield a marking , denoted . A marking is reachable from by the firing of a transition sequence , denoted . can be computed by using the state equation: , where is denoted the firing vector(or -vector) of the sequence .
The set of all markings reachable from is defined as the reachability set of and is denoted . Define the free-language of a Petri net system as the set of its firing sequences:
Definition 1 (Cabasino et al., 2007). Given a Petri net , a -vector , with , is called:
T-invariant: if , i.e. the corresponding firing transition sequence does not change the number of tokens of the places;
T-increasing: if , i.e. the corresponding firing transition sequence increases the number of tokens of the places;
T-decreasing: if , i.e. the corresponding firing transition sequence decreases the number of tokens of the places.
ω-number and ω-vector
The ω-number and ω-vector to investigate in this research is the expression , which was first proposed by Peterson (1981). Some definitions related to this paper are given below.
Definition 2 (Wang et al., 2004). A set is called an ω-number, if there exists , , such that , which can also be expressed uniquely as:
where , , and are the base, the lower bound, the coefficient variable and the reminder of an ω-number, respectively. For the structure of the infiniteness, ω-numbers can exhibit more information than ω does.
Definition 3. A vector x is called an ω-vector if at least one of a vector’s coordinates is an ω-number. Any ordinary vector of an ω-vector is called an instance. For instance, an instance of the ω-vector is , which is also the least instance.
Definition 4.
Given two ω-numbers and , if .
Given two ω-vectors and , contains if , and they have the same non-ω-number coordinates.
For an integer , it is defined that where , , .
Note that subtraction is defined as that b is allowed to be negative in this definition.
Definition 5 (Ding et al., 2008). A transition t is called conditionally enabled at the ω-markings, i.e. represented by an ω-vector, if a transition t is not enabled at a specific marking M whose ω-number components are set to be the lower bound of the coefficient variables. For instance, transition is conditionally enabled at in Figure 2(c), but is not conditionally enabled at .
The schematic diagram of a Petri net. (a) An unbounded Petri net; (b) the modified reachability tree (MRT); (c) the modified coverability graph (MCG); (d) the unlabelled MCG.
Our identification approach is based on the construction of the modified reachability tree/graph of unbounded Petri nets (Ding et al., 2008; Wang et al., 2010).
Algorithm 1. Construction of the MRT for an unbounded Petri net
1) The initial marking is denoted a frontier node , i.e. a root node.
2) The frontier node will be processed if a frontier node exists. Otherwise, terminate.
2.1) If there exists another non-frontier node such that , i.e. it has the same marking with the node , then is an -duplicate node; goto 2.
2.2) If there exists another node covering node , i.e. , then is an -duplicate node; goto 2.
2.3) If each transition is not enabled at the marking , then is a terminal node; goto 2.
2.4) If there exists a transition which is enabled at , then it may fire at and yields . A new node is generated in the MRT, and the marking is created as following:
2.4.1) If there exists a node on the path from the root node to node such that for some places : , and for other places , , then , where , (the symbol means to divide to get the integer quotient) and (the symbol % means to divide to get the integer remainder.)
2.4.2) The base is recorded and stored.
2.4.3) Otherwise, for each : .
2.4.4) If is conditionally enabled at , then a dash arc is directed from to node in the MRT. Otherwise a solid arc is directed from to . Now, becomes a new frontier node.
2.5) Redefine node as an interior node; goto 2.
From the MRT, the MCG can be obtained by fusing the same or duplicate nodes in the tree. However, the label and the arc among the nodes do not change. Conversely, an MCG can be always converted into an MRT in an unlabelled graph. In step 2.4.1, the firing of a transition t leads to for the marking of some place s. Repeat the process, then the marking of the place grows unbounded, denoted , i.e. , where , which is recorded and stored. The tokens of the remaining places do not change.
Definition 6. In step 2.4.1 of the above algorithm, by the firing of a transition a node , which has no component, is changed to the node , which has one component . Otherwise, the coefficient variable or the lowest bound of the -number components of the node is increased.
The node is called an -increasing node and the corresponding marking is called an -increasing marking.
The production associated with the path on the graph
is called an -increasing production.
Any production of the form in the above graph defined as is the start node of the production, is the end node and is the corresponding transition sequence. The set of the nodes in a production is denoted .
is denoted the set of -increasing production, is the set of -increasing production that ends in , which is called an -increasing marking.
Remark 1. In this case, an -increasing production is different from -increasing production in Cabasino (2006b), which only means that the number of components of a node is increased. For instance, a node is changed to as shown in Figure 1(c), which is an -increasing production. However, a node is changed to , and a node is changed to , as shown in Figure 2(b), which are -increasing productions in this paper.
Similarly, we give definitions about the -decreasing and -stationary node from the Algorithm 1.
Definition 7. The production associated with the path on the graph
is called an -decreasing production, i.e. transition is conditionally enabled at the node . The node is called an -decreasing node and the corresponding marking is called an -decreasing marking.
is denoted the set of -decreasing production, is the set of -decreasing production that ends in , which is called an -decreasing marking.
Remark 2. In this case, -decreasing production only means that the coefficient variable or the lowest bound of the -number components of a node is decreased. For instance, a node is changed to , as shown in Figure 2(b), which is an -decreasing production.
Definition 8. The production associated with the path on the graph
is called an -stationary production. The node is called an -stationary node and the corresponding marking is called an -stationary marking.
is denoted the set of -stationary productions, is the set of -stationary productions that ends in , which is called an -stationary marking.
Remark 3. In this case, -stationary production only means that the coefficient variable or the lowest bound of the -number components of a node is not changed. For instance, a node is changed to as shown in Figure 2(b), which is an -stationary production.
Example 1. A net is given in Figure 2(a), whose MRT and MCG are shown in Figures 2(b) and (c), respectively. The unlabelled MCG is given in Figure 2(d).
Sequence is a repetitive sequence, which yields from and increases the marking of place . Hence in the MCG we easily identify that is an -increasing node and the corresponding -increasing production is , which leads to node from with label .
Sequence yields from and decreases the marking (i.e. the tokens) of place . Meanwhile, is conditionally enabled at . Hence in the MCG we have an -decreasing production , which leads to node from with label .
Sequence yields from and does not change the marking of place . Hence in the MCG we have an -stationary production , which leads to node from with label . From the unlabelled MCG in Figure 2(d), we obtain a proposition that can recognize the markings or paths associated with -increasing, -decreasing and -stationary markings, and the corresponding productions.
Proposition 1. Given the MCG of a Petri net, we consider a node and a production , then the following conclusions hold:
A node is -increasing and is the corresponding -increasing production if in the unlabelled graph there exists a node , which satisfies , , and there exists another production such that , (i.e. the transitions in the sequence are contained in the sequence ), and a solid arc is directed from z to z.
A node is -decreasing and is the corresponding -decreasing production, if in the unlabelled graph there exists a node , which satisfies , , and there exists another production such that , , and a dash arc is directed from z to z.
A node is -stationary and is the corresponding -stationary production if in the unlabelled graph there exists a node , which satisfies , , and a solid arc is directed from to , for .
Proof:
As explained in the construction of the MCT, a node is -increasing and is the corresponding -increasing production, if and only if there exists a node and a sequence such that and for all those places where and for . Since is enabled at , it is enabled at the greater marking . However, since a sequence contains fire and does not change the marking of a place such that , its firing from leads back to . Finally, is -increasing if and only if contains at least one -component with respect to all nodes in . This implies that .
A node is -decreasing and is the corresponding -decreasing production, if and only if there exists a node and a sequence such that and for all those places where and for . Since is enabled at , it is conditionally enabled at the less marking . However, since a sequence contains fire and does not change the marking of a place such that , its firing from leads back to . Finally, is -decreasing if and only if contains at least one -component with respect to all nodes in .
A sequence is -stationary with respect to an unbounded place if and only if it does not modify the token content of places that are not associated with -components if and only if .▪
Example 2.
In Figure 2(d), we observe two productions: and , and the transition sequence contains . Thus is an -increasing node and the corresponding -increasing production is .
Let us observe the following two productions as shown in Figure 2(d), and the transition sequence equals to ,
Thus is an -decreasing node and the corresponding -decreasing production is .
Definition 9. Given a node , a production is called the minimal production, if the production does not contain repetitive sequences, where is the associated sequence.
Definition 10. Two minimal productions and are called the equivalence production, if they end in the same node and , denoted .
Example 3. In Figure 2(d), we observe two productions: , . Apparently, they satisfy , and ; then these two productions are the equivalence production by the above definition.
For the sake of simplicity, we merely consider a one-place unbounded Petri net and the following assumptions will be satisfied:
A1) We only identify Petri nets that satisfy the necessary and sufficient conditions given in Proposition 1.
A2) The number of places is known.
A3) Only one place is unbounded.
Classification and partition of nodes
In this section, we will discuss the classification and partition of nodes, which is extremely useful for our identification problem.
Theorem 1 (Wang et al., 2004). The modified reachability tree of a Petri net is finite.
From the above theorem, we know that the nodes of an MRG or MCG are finite, denoted , i.e. , where is the set of the nodes that have no component and is the set of the nodes that have components. Thus we can determine an initial partition of the nodes in the form of components. An algorithm is proposed to partition the set of the nodes of an MCG according to the least instance of . Simultaneously, we refine the partition by two given rules.
Rule 1: Two subsets and can be merged if the following predications hold:
There exist two nodes and such that for some transitions .
There does not exist an -increasing production or -decreasing production such that and . That is, the -components of their corresponding -markings are the same, i.e. and ( represents the -component of a node), where , , .
Rule 2: For any two nodes and (), if the following predications hold:
The node is an -duplicate node with an -marking and is also contained by another node that appears previously in the tree along the same path.
There does not exist a node such that , where has the same potential enabled transitions with , then the nodes and will be merged, the label and the arc between the nodes do not change.
For example, the node is an -duplicate and there exist the same potential enabled transitions with node , so is merged with . Similarly, node is merged with , as shown in Figure 2(d).
Algorithm 2. Partition of an unlabelled MCG
Give an initial partition of the graph in terms of strongly connected components,
If there exist and , which satisfy the Rule 1, then we merge and .
If there exist and , which satisfy the Rule 2, then we merge and .
The final partition: , , is obtained, where represents the least instance of the component of the nodes in , .
The subsets are ordered in the light of the least instance of -number. Given two -numbers and , is defined because . Thus a partial order of the partition of the nodes is obtained:
Thus, according to Algorithm 2, the unlabelled MCG in Figure 2(d) can be changed into the following form.
Remark 4. In the beginning, the procedure of our identification is dependent on the partition of the nodes in the unlabelled graph or the MCG. If there exists a transition such that , for and , then the constant in the constraint (c1) or (d1).
Example 4. We observe the unlabelled MCG in Figure 5. The initial partition is and . By the above algorithm, we merge with , with and with , respectively. The node is merged with , and the node is merged with . Then the final partition is , , and . Thus .
The simplified modified coverability graph (MCG) in Figure 2(d).
Corollary 1.Given the MCG of a Petri net, the partial order of the partition of the nodes is obtained: . If there exists a transition such that , for , , then the following conclusions hold:
If, the transitionis T-increasing for the unbounded place and the corresponding production is-increasing production. Moreover, the constantof the constraint (c1) equals to.
If, the transitionis T-decreasing for the unbounded place and the corresponding production is-decreasing production. Moreover, the constantof the constraint (d1) equals to.
If, the transitionis T-invariant for the unbounded place and the corresponding production is-stationary production.
Proof. The proof is straightforward from the definitions of -increasing production, -decreasing production and -stationary production. ▪
Note that the above conclusions are incorrect, if transition is conditionally enabled.
Synthesis of a Petri net system from its unlabelled MCG
In this section we consider a problem of determining a net with the set of transition . Given a graph whose edges are labelled with the elements of , the MCG of the net is isomorphic to under the assumptions A1–A3.
Problem 1. Given a finite state graph with a set of places of cardinality , we want to identify the structure of one-place unbounded Petri net and an initial marking such that the MCG of the net system is isomorphic to . In fact, the unknown parameters are the elements of the two matrices , and the initial marking .
To find a solution to Problem 1, a set of linear algebraic constraints are given first. We prove that a net system , which satisfies the given set of constraints, is a solution to Problem 1 and vice versa. However, we only give the sketch of the proof and explain the meaning of each type of constraints. Let us first define two sets as follows:
, i.e. transition is enabled or conditionally enabled at the state .
, i.e. transition is not enabled at the state .
The following theorem characterizes the set of solutions to Problem 1.
Theorem 2.A net system is a solution to the identification Problem 1 if and only if it satisfies the following set of linear constraints:
where if ; otherwise, . and are the firing vectors associated with the generic productions and , respectively. is called the complement of , if the following equation holds: . is a very large constant ( must be larger than the maximum expected weight of pre- and post-arcs).
Proof.
(a) Constraint (a) is the enabling constraint, i.e. transition is enabled at if and only if , . That is, .
(b) Constraints (b1) and (b2) are disabling constraints: if transition is not enabled at , then at least for one place , the following inequality must hold: , i.e.
(c) We now define a vector such that
(d) Assume that each component of is less than or equal to , i.e. , then the component of relative to the place must satisfy the inequality
(e) so that must hold if , while the Equation (3) is trivially verified if . Because all the variables are integers, Equation (3) can be rewritten in the vector form as:
(f) If , one is null at least. Thus at least there exists one place that disables .
(c) If , the firing of the transition sequence associated with will not increase the token contents of , as imposed by the above constraints. If , must hold (here expresses the number of token increased in the place ), which is equivalent to imposing the first constraint, while the constraint (c2) is trivially verified.
(d) If , then , i.e. (here ), which means that the firing of the transition sequence associated with decreases the token contents of as imposed by the above constraints. If , then , so must hold. The constraint (d2) is trivially verified.
(e) By the Definition 8, the production should not change the marking of all the places for any . In fact, if , then , while if , the constraints are trivially verified.
(f) If , by Definition 9 the following equation holds for . If , the constraints can be trivially obtained.▪
In general, there exist more than one Petri net system (i.e. the solution to the sets (1) is not unique) such that the MCG of the net system is isomorphic to . Thus a performance index can be introduced to determine a Petri net system by minimizing the considered performance index. In particular, the objective function can be chosen to minimize the number of initial markings and the number of arcs in the net, i.e.
Consequently, an identification problem can be formally presented as follows.
Problem 2. Given a performance index and the identification problem 1 is considered, the solution to the problem 1 that minimizes can be computed by solving the following ILP problem:
If some additional structural properties are known about the Petri net system, the corresponding constraints can be added to the above ILL problem in terms of the definition of the pre- and post-incidence matrices of the net. For example, if the Petri net does not contain any source place, i.e. , , the following constraint must be added: . Analogously, if the Petri net does not contain any sink place, i.e. , , the following constraint must hold: . If the Petri net does not contain any source transition, i.e. , , the following constraint must hold: . If the Petri net does not contain any sink transition, i.e. , , the following constraint must hold: .
Example 5. The modified unlabelled graph is considered in Figure 5. We want to determine a net system with and , whose reachability graph is isomorphic to . In particular, we want to minimize the tokens in the initial marking and the arc weights. Moreover, we suppose that the target net system has no any source and sink node. The set of nodes is . By Algorithm 2 and Example 4, we know that the final partition of the nodes is: , , and . The set of -increasing production that ends in is , with . The set of -decreasing production that ends in is , with . The set of -stationary production that ends in is , with . The two productions, and , are the equivalence productions.
The enabling set and the disabling set are shown as follows:
We identify the net system in Figure 2(a) by solving the resulting ILP problem (Wolsey, 1998) with the file LINDO.
Conclusions
In this paper, we considered the problem of identifying a one-place unbounded Petri net system from its unlabelled modified coverability graph. The structure of an unbound Petri net model and the weight of the arcs cannot be identified from the coverability graph due to the loss of the information of symbol. According to the modified coverability graph and the partition of the nodes in the corresponding unlabelled graph, a solution is provided to the problem of identifying a Petri net model whose modified coverability graph is isomorphic to the given unlabelled graph based on the solution of ILP problem.
Footnotes
Acknowledgements
The authors would like to thank the anonymous referees for their helpful comments and suggestions.
Funding
This work was supported by the National Nature Science Foundation of China (grant number 61273207).
References
1.
BadouelEDarondeauP (1998) Theory of regions. Lecture Notes in Computer Science: Lectures on Petri Nets I: Basic Models. Berlin: Springer-Verlag, Vol. 1491, pp. 529–586.
2.
CabasinoMPGiuaASeatzuC (2006a) Identification of deterministic Petri nets. 8th International Workshop on Discrete Event Systems, Ann Arbor, MI, USA.
3.
CabasinoMPGiuaASeatzuC (2006b) Identification of unbounded Petri nets from their coverability graph. 45th IEEE International Conference on Decision and Control, San Diego, CA, USA.
4.
CabasinoMPGiuaASeatzuC (2007) Identification of Petri nets from knowledge of their language. Discrete Event Dynamical Systems: Theory and Application17: 447–474.
5.
DingZJJiangCJZhouMC (2008) Deadlock checking for one-place unbounded Petri nets Based on modified reachability trees. IEEE Transactions on Systems, Man, and Cybernetics, Part B: Cybernetics38(3): 881–883.
6.
DotoliMFantiMPManginiAM (2008) Real time identification of discrete event systems using Petri nets. Automatica44(5): 1209–1219.
7.
Estrada-VargasAPLópez-MelladoELesageJJ (2010) A comparative analysis of recent identification approaches for discrete event systems. Mathematical Problems in Engineering, 1–21.
8.
GiuaASeatzuC (2005) Identification of free-labeled Petri nets via integer programming. 44th IEEE International Conference on Decision and Control and European Control Conference, Seville, Spain.
9.
GiuaACoronaDSeatzuC (2005) State estimation of free labeled Petri nets with contact-free nondeterministic transitions. Journal of Discrete Event Dynamic Systems15(1): 85–108.
10.
GiraltCValkR (2003) Petri Nets for System Engineering: A Guide to Modeling, Verification, and Applications. Berlin: Springer, pp. 41–68.
11.
HiraishiK (1992) Construction of a class of safe Petri nets by presenting firing sequences. Lecture Notes in Computer Science; 13th International Conference on Application and Theory of Petri Nets, Sheffield, UK. Berlin: Springer-Verlag, Vol. 616, pp. 244–262.
12.
KarpRMMillerRE (1969) Parallel program schemata. Journal Computer and System Sciences3(2): 147–195.
13.
KleinS (2005) Identification of discrete event systems for fault detection purposes. Ph.D. thesis, Ecole Normale Superieure de Cachan, Paris, France.
14.
Meda-CampañaME (2002) On-line identification of discrete event systems: fundamentals and algorithms for the synthesis of Petri net model. Ph.D. thesis, Centro de Investigación y de Estudios Avanzados del Instituto Politécnico Nacional, Unidad Guadalajara, Mexico.
15.
PetersonJL (1981) Petri Net Theory and the Modeling of Systems. Englewood Cliffs, NJ: Prentice-Hall.
16.
WangFYGaoYQZhouMC (2004) A modified reachability tree approach to analysis of unbounded Petri nets. IEEE Transactions on Systems, Man, and Cybernetics—Part B: Cybernetics34(1): 303–308.
17.
WangYJiangBJiaoL (2010) Property checking for 1-place-unbounded Petri nets. 2010 Fourth International Symposium on Theoretical Aspects of Software Engineering.
18.
WolseyLA (1998) Integer Programming. New York: John Wiley & Son.