Reachability Criterion with Sufficient Test Space for Ordinary Petri Net

Petri nets (PN) are widely recognized as a powerful tool for modelling and analyzing discrete event systems, especially systems are characterized by synchronization, concurrency, parallelism and resource sharing [1, 2]. One of the major advantages of using Petri net models is that the PN model can be used for the analysis of behaviour properties and performance evaluation, as well as for systematic construction of discrete-event simulators and controllers [3, 4]. The reachability from an initial marking to a destination marking is the most important issue for the analysis of Petri nets. Many other problems such as liveness and coverability can be deduced from this reachability problem [5, 6].


Introduction
Petri nets (PN) are widely recognized as a powerful tool for modelling and analyzing discrete event systems, especially systems are characterized by synchronization, concurrency, parallelism and resource sharing [1,2]. One of the major advantages of using Petri net models is that the PN model can be used for the analysis of behaviour properties and performance evaluation, as well as for systematic construction of discrete-event simulators and controllers [3,4]. The reachability from an initial marking to a destination marking is the most important issue for the analysis of Petri nets. Many other problems such as liveness and coverability can be deduced from this reachability problem [5,6].
Two basic approaches are usually applied to solve the reachability problem. One is the construction of reachability tree [7,8]. It can obtain all the reachable markings, but the computation complexity is exponentially increased with the size of a PN. The other is to solve the state equation [9]. The solution of the matrix equation provides a firing count vector that describes the relation between initial marking and reachable markings. Its major problem is the lack of information of firing sequences and the existence of spurious solutions.
Many researchers have investigated the reachability problem [10,11]. Iko Miyazawa et al. have utilized the state equation to solve the reachability problem of Petri nets with parallel structures [12]. Tadashi Matsumoto et al. have presented a formal necessary and sufficient condition on reachability of general Petri nets with known firing count vectors [13]. Tadao Murata's paper has concentrated on presenting and analyzing Petri nets as discrete time systems. Controllability and reachability are analyzed in terms of the matrix representation of a Petri net [14].
In most cases, it is not necessary to find all reachable markings. One of the most important things is to know whether a given marking is reachable or not. If the destination marking Md is reachable from the initial marking M0, it is significant to find a firing sequence, which is an ordered sequence of transitions that lead M0 to Md. The following method can be utilized to find a reachable marking [15]. However, this approach is theoretic rather than practical, because there are two problems: One is that the solution of the fundamental equation AX=Md-M0 is infinite in some cases. In that case, it is impossible to test all solution Xi. The other is that the computation complexity of testing Xi increases at least exponentially as the length of S(Xi) increases.
In this chapter, the above two problems will be solved as follows: First, we construct a sufficient test space to include at least one executable solution within set X. An approach is secondly proposed to test whether there is an executable solution within the sufficient test space or not. A systematic method to search an executable solution in a sufficient test space and to enumerate the associated firing sequence is presented.
The remainder of the chapter is arranged as follows: Definitions and notations required in this chapter are given in Section 2. Section 3 describes how to determine the sufficient test space for the reachability problem. In Section 4, an algorithm is developed to determine if Xi is a executable solution under M0 and gives the associated firing sequence S(Xi).
The illustrative examples are given in Section 3, Section 4, and Section 5.

Preliminaries
In this section, we present some definitions and notations to be necessary in the following sections.

Definition 1.
Let PN=(P, T, I, O, M0) be a marked Petri net. P={p1, p2, …, pn} is the finite set of places. T={t1, t2, …, tm} is the finite set of transitions. I is the input function. O is the output function. M0 is the initial marking.
A PN is an ordinary Petri net iff I(p, t)→{0, 1} and O(t, p)→{0, 1} for any p∈P and t∈T. A=O-I is the incidence matrix, where O and I are the output and input function matrices [16]. Let X=[x1 x2 … xm] T be a column vector. If X is the firing count vector of S(X), the sequence S(X) is called the transition sequence associated with X. The transition set T(X) is called the support of X if it is composed of transitions associated with positive elements of X, i.e. T(X)={ti|xi>0}. p is the set of output transitions of p, p is the set of input transitions of p, t is the set of output places of t, and t is the set of input places of t.

Definition 2.
Ci=<p, Tci> is called a conflict structure [17] if it satisfies the following condition: Tci={t|t∈p} and |Tci|≥2, where |Tci| is the cardinality of Tci. We note that C={C1, C2, …} is the set of all Ci and Tc=Tc1∪Tc2∪…. is the set of all conflict transitions.

Definition 3. For transition tj and X, the sub-vector H(tj|X) is defined as: H(tj|X)=e[tj]xj. e[tj]
is the unit m-vector which is zero everywhere except in the j-th element.

Definition 4.
For the conflict structure Ci=<p, Tci> and X, the sub-vector H(Ci|X) is defined as follows:

Determination of the sufficient test space
If all the solutions of the equation AX=Md-M0 are tested, It can be found whether Md is reachable or not. But in some case, the solutions are infinite. Therefore, the tested range is determined in order to keep the method practical. This range must be finite and include at least one executable solution if it exists. This section will discuss how to determine the tested range.

Definition 7.
Given the initial marking M0 and the destination marking Md of a PN, X is a solution of AX=Md-M0. If Md is reachable from M0 under X, then X is called an executable solution. Otherwise, X is called a spurious solution.
Definition 8. X={X1, X2, … } is the set of a solution X, the subset Xe={Xe1, Xe2, … } of X is called the sufficient test space if it satisfies following conditions: i. If Md is reachable from M0, there must exist at least one element in Xe which is executable solution; in other words, if all elements in Xe are not executable, then all the elements in X are not executable either. ii. Xe is a finite set.

Definition 9.
The vector X which is a solution of AX=0 is known as a T-invariant [18]. A solution X is called positive if every element of X is nonnegative.  (2) where Vi∈V, kj is nonnegative integer. If V= Ф, Md is not reachable, then end.
Otherwise, for every Vi, if T(Vi)T(Uj), then ViB. If T(Vi)T(Uj), then ViB.
Go to Step 4.
If T(Bi)∩T(Uj) ≠ Ф and T(Uj)  T(Bi), choose the next pair of (Bi, Uj).  When all pairs of (Bi, Uj) have been tested, go to Step 5.
Go to Step4 in Algorithm 1.
Go to Step 4 in Algorithm 1.
Go to Step 4 in Algorithm 1.
Second, calculate a firing sequence in order to test if M(d) is reachable from M(0) under some element in Xe The elements of the sufficient test space Xe are calculated separately as follows: Step 1. For X=V1=(0,2,1,0,2,2,0,0) The implementing process is shown in Figure 6.
As a result of calculating each element of the sufficient test space Xe={V1, V2, V3, V1+U, V1+2U, V3+U} individually, a firing sequence is finally found at the fourth element (V1+U) of Xe. Therefore, the elements V1+2U and V3+U don't need to be calculated. Consequently, the structure of the Petri net ( Figure 5) is shown to possess at least one reachable firing sequence.

Conclusions
In this chapter, a new general criterion has been created to solve the reachability problems for ordinary Petri nets. This criterion is based on two processes: (i) Calculating the sufficient test space. (ii) Testing whether or not the destination marking is reachable from the initial marking under the sufficient test space. The sufficient test space significantly reduces the quantity of computation needed to search for an executable solution in X. The firing path tree shows the firing sequence of an executable solution. Consequently, if the destination marking is reachable from the initial marking, this method gives at least one firing sequence that leads from the initial marking to the destination marking. Some examples are given to illustrate how to use this method to solve the reachability problem. This algorithm can be utilized in the following fields: Path searching, auto routing, and reachability between any places in a complicated network.

Author details
Gi Bum Lee Research Institute of Industrial Science & Technology, Pohang, Korea