**1. Introduction**

16 Will-be-set-by-IN-TECH

[6] Hamaci, S., Benfekir, A. & Boimond, J.-L. [2011]. Dioid approach for performance evaluation of weighted t-systems, *16th IEEE International Conference on Emerging*

[7] Hamaci, S., Boimond, J.-L. & Lahaye, S. [2006]. On modeling and control of hybrid timed event graphs with multipiers using (min,+) algebra, *Journal of Discrete Event Dynamic*

[8] Hamaci, S., Boimond, J.-L., Lahaye, S. & Mostefaoui, M. [2004]. On the linearizability of discrete timed event graphs with multipliers using (min,+) algebra, *7th international*

[9] Hillion, H. [1989]. *Modélisation et analyse des systèmes de production discrets par les réseaux*

[10] Lahaye, S. [2000]. *Contribution à l'étude des systèmes linéaires non stationnaires dans l'algèbre*

[11] Merlin, P. [1979]. Methodology for the Design and Implementation of Communication

[12] Munier, A. [1993]. Régime asymptotique optimal d'un graphe d'événements temporisé généralisé: application à un problème d'assemblage, *APII* Vol.5(No.5): 487–513. [13] Murata, T. [1989]. Petri nets: Properties, analysis and applications, *IEEE Proceedings*

[14] Nakamura, M. & Silva, M. [1999]. Cycle time computation in deterministically timed weighted marked graphs, *IEEE-International Conference on Emerging Technologies and Factory Automation (ETFA)*, Universitat Politècnica de Catalunya, Barcelona, Spain,

[15] Petri, C. [1962]. *Kommunikation mit Automaten*, Phd thesis, Institut für Instrumentelle

[16] Sauer, N. [2003]. Marking optimization of weighted marked graphs, *Journal of Discrete*

[17] Trouillet, B., Benasser, A. & Gentina, J.-C. [2001]. Sur la modélisation du comportement dynamique des graphes d'événements pondérés, *in* G. Juanole & R. Valette (eds), *Conférence, Modélisation des Systèmes Réactifs (MSR),*, Hermès, Toulouse, France,

*Technologies and Factory Automation (ETFA)*, Toulouse, France, pp. 1–8.

*Workshop on Discrete Event Systems (WODES)*, Reims, France, pp. 367–372.

*de Petri temporisés*, Thèse, Université de Paris IV, France.

Protocole, *IEEE Transaction on Communication* Vol.24(No.6).

*des dioïdes*, Thèse, LISA - Université d'Angers.

*Systems* Vol.16(No.2): 241–256.

Vol.77(No.4): 541–580.

Mathematik, Bonn, Germany.

*Event Dynamic Systems* Vol.13: 245–262.

pp. 1037–1046.

pp. 447–462.

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

© 2012 Lee et al., licensee InTech. This is an open access chapter distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. © 2012 Lee et al., licensee InTech. This is a paper distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

**M**d is reachable from the initial marking **M**0, it is significant to find a firing sequence, which is an ordered sequence of transitions that lead **M**0 to **M**d. The following method can be utilized to find a reachable marking [15].

Reachability Criterion with Sufficient Test Space for Ordinary Petri Net 425

**HX X <sup>H</sup>** (1)

**Definition 3.** For transition tj and **X**, the sub-vector **H(**tj|**X**) is defined as: **H(**tj|**X**)=*e*[tj]xj. *e*[tj]

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

j <sup>j</sup> <sup>i</sup> t Tci (C | ) (t | ) 

**Definition 5.** Ci=<p, Tci> is in a spurious conflict state for **X** under **M** if there exists a firing

Otherwise, Ci is in an effective conflict state for **X** under **M**, and the transition in Tci is called

**Notation 2.** If q=min{**M**(pi), pi∈tj}, we call tj q-enabled under marking **M.** This q is denoted

**Definition 6. F**=[f1 f2 … fm]T is called an actual firing vector whose j-th element is fj=min{N(tj|S(**X**)), E(tj|**M**)}. **F** can be partitioned into two parts as follows: **F**=**F**o+**F**c, where **F**c=[fc1 fc2 … fcm]T is associated with effective conflict transitions, **F**o =[fo1 fo2 … fom]T is

If all the solutions of the equation **AX**=**M**d-**M**0 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 **M**0 and the destination marking **M**d of a PN, **X** is a solution of **AX**=**M**d-**M**0. If **M**d is reachable from **M**0 under **X**, then **X** is called an executable

**Definition 8.** X={**X**1, **X**2, … } is the set of a solution **X**, the subset Xe={**X**e1, **X**e2, … **}** of X is called

i. If **M**d is reachable from **M**0, 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

**Definition 9.** The vector **X** which is a solution of **AX**=0 is known as a T-invariant [18]. A

is the unit m-vector which is zero everywhere except in the j-th element.

sequence S(**H(**Ci|**X**)) under **M**, i.e. the mathematic criterion is **M**≥**IH(**Ci|**X**).

**Notation 1.** N(tj|S(**X**))=xj is the number of occurrence times of tj in S(**X**).

associated with the other transitions. **F**o and **F**c satisfy the following conditions:

a. If tj is an effective conflict transition for **X** under **M**, then foj=0 and fcj=fj.

**3. Determination of the sufficient test space** 

solution. Otherwise, **X** is called a spurious solution.

elements in X are not executable either.

ii. Xe is a finite set.

the sufficient test space if it satisfies following conditions:

solution **X** is called positive if every element of **X** is nonnegative.

the effective conflict transition for **X** under **M**.

as follows:

as E(tj|**M**).

b. Otherwise, fcj=0 and foj=fj.


However, this approach is theoretic rather than practical, because there are two problems: One is that the solution of the fundamental equation **AX**=**M**d-**M**0 is infinite in some cases. In that case, it is impossible to test all solution **X**i. The other is that the computation complexity of testing **X**i increases at least exponentially as the length of S(**X**i) 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 **X**<sup>i</sup> is a executable solution under **M**0 and gives the associated firing sequence S(**X**i). The illustrative examples are given in Section 3, Section 4, and Section 5.
