<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Verification of Systems: Deadlock Analysis Based on Petri Nets</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author role="corresp">
							<persName><forename type="first">Štefan</forename><surname>Hudák</surname></persName>
							<email>stefan.hudak@tuke.sk</email>
							<affiliation key="aff0">
								<orgName type="department">Department of Computers and Informatics FEI TU</orgName>
								<address>
									<postCode>04011</postCode>
									<settlement>Košice, Letná 9</settlement>
									<country key="SK">Slovak Republic</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Verification of Systems: Deadlock Analysis Based on Petri Nets</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">787C2F5434C313B1922A210C13D5FE4E</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T01:36+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>Place/Transition Nets</term>
					<term>deadlock analysis</term>
					<term>reachability</term>
					<term>finite state representation of the state reachability set</term>
					<term>finite state automaton of the type Mw Mathematical Model</term>
					<term>Specification Process</term>
					<term>Verification Process</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>T he present work is devoted to the study of deadlock problem in Place/Transition (P/T) nets, particularly to the exploration of how a deadlocks' presence can be revealed solely on the basis of the P/T net N0 in question and a structure, here termed as the fsa of the type Mw, that represents the reachability set (N0) of N0. The structure can be obtained from N0 following the original algorithm for solving the reachability problem RP for Petri Nets in general case by the author. It turns out, that the structure of Mw bears some important properties with respect to the deadlock analysis. Deadlock analysis is an important part of system verification, so the results achieved can be of some value to that. It is demonstrated that results presented are quite significant, and cover some gap in both, theory and practice of the deadlock analysis of state-based systems, particularly those whose specification can be expressed via Petri Nets.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>In the development of (state-based) system, the design of a system in question, is the core of the process. The latter is actually a realization of the what requirement specification is about. There are two intrinsic activities of any development:validation and verification. The validation is the process of assurance that the design will produce the right system (according to requirements), while the verification assures that the design is carried on properly (according to a particular design principle) <ref type="bibr" target="#b20">[21]</ref>. Verifying the system designed on the presence (absence) of deadlock situations (deadlock analysis-DA) might be a part of verification process. In the paper we pay attention to the deadlock analysis.</p><p>The approach to deadlock analysis applied in the paper is based on the reachability analysis <ref type="bibr" target="#b5">[6]</ref> made on the representation (model) of the system designed in Petri Nets <ref type="bibr" target="#b7">[8]</ref>. In <ref type="bibr" target="#b5">[6]</ref> an original method (algorithm) to analyze and solve the reachability problem (RP) for Petri Nets in general case was introduced. The method is based on the structure, we have called it the finite state automaton of the type M w , that is created by the algoritm, and the analysis of the structure based on results of automata theory and the convex analysis of the state space represented by M w . Some authors in the field of Petri Nets used to use for representing state space of reachable states of Petri nets the structure termed as coverability graph. The two notions coincide to some extent, but differ in significant number of cases. The approach is founded on the information that was neglected and suppressed by the RP algorithm while creating M w , and thus hidden in it. The modification of M w construction, that is introduced in this paper, discloses the information previously hidden to serve the purpose mentioned. The paper consists of four parts. In the first part basic notions and results concerned Petri Nets, reachability and deadlock analysis are given. The second part deals with the algebraic properties of M w . It turns out that M w is finite state automaton, with some interpretations of its states via k -dimensional nonegative integer ω vectors. Each such ω vector represents a state subspace of PN in question, and can be thought of as a poset. That view on ω states allows us to establish relation among deadlocks and minimal or least elements of such the posets. In the third part we deal with the issue of disclosing the information previously hidden, and define more precisely the new notion and denotation of ωcoordinates. The fourth part consists of an application of the theory of ωcoordinates developed. The application is made to two PNs, which was introduced by T.Murata <ref type="bibr" target="#b0">[1]</ref> as manifestation of the fact, that using coverability graphs as the representation of state space of PN is weak and insufficient for disclosing deadlocks in PN. The same conclusion was jumped to in <ref type="bibr" target="#b1">[2]</ref>.</p><p>2 Some basic preliminaries to DA</p><p>In the paper we denote by IN the set of natural numbers {0, 1, 2, . . .}, by Z the set of all integers, Z k (IN k ) the set of k-dimensional (nonnegative)integer vectors. A notion of (k-dimensional) vector addition system (VAS) W k is a couple W k = (q 0 , W ) where q 0 ∈ IN k is the initial state of W k , W is a finite set of (k-dimensional integer) vectors. We call a reachable state vector of W k each q ∈ IN k such that 1. q = q 0 + w i1 + . . . + w in for some integer n ≥ 0, w ij ∈ W, j = 1, . . . , n and 2. for ∀j(1 ≤ j &lt; n) :</p><formula xml:id="formula_0">q j = q 0 + w i1 + . . . + w ij ∈ IN k</formula><p>Here by + we mean the operation of vector addition. We call the set of all such vectors the reachability set of VAS W k , and denote it as R(W k ). Given any VAS W k = (q 0 , W ) then or any q ∈ IN k a problem whether q ∈ R(W k ) is called the reachability problem of VAS (with respect to q). We will occasionally use the abbreviation RP (q, W k ) for it.</p><p>With any VAS W k = (q 0 , W ) we can associate a tree structure, which we call the vector state tree, V ST w , and we mean by that a double labelled oriented rooted tree V ST w = (T w , Lab(V ), Lab(E), q 0 ),</p><formula xml:id="formula_1">T w = (V, E, r 0 ) is an oriented rooted tree , V -a set of vertices, E ⊆ V × V -a set of edges, r 0 ∈ V -the root of T w , Lab(V ) ⊆ IN k -a set of vertex labels, Lab(E) ⊆ W -a set</formula><p>of edge labels that are defined as follows: there are two labelling mappings lab 1 : V → Lab(V ), lab 2 : E → Lab(E) such that lab 1 (r 1 ) = q 0 and any vertex of</p><formula xml:id="formula_2">T w v ∈ V with lab 1 (v) = q has a son u ∈ V with lab 1 (u) = q and lab(v, u) = a iff q = q+a.</formula><p>As a very consequence of the above definition we have that Lab(V ) = R(W k ) where W k = (q 0 , W ) is the VAS and we can alternatively write V ST w = (T w , R(W k ), Lab(E), q 0 ) 2.1 Place/Transition Nets (P/T Nets).</p><p>Place/Transition (P/T) Nets stand here for a class of Petri Nets in which multiple arcs are allowed and places have unlimited capacities. For more details on PN we refer the reader to the literature , e.g. <ref type="bibr" target="#b7">[8]</ref>. For any P/T net N 0 = (P, T, pre, post, m 0 ), where P is a finite set of places, T is a finite set of transitions, pre : P × T −→ IN -preset function, and post : P × T −→ INpostset function, that all define a structure on the set P ∪ T . It is very common to represent the P/T Net /<ref type="foot" target="#foot_0">1</ref> by the oriented bipartite graph (Fig. <ref type="figure">1</ref>). Here we have:</p><formula xml:id="formula_3">Fig. 1. Graph representation of Petri Net P = {p 1 , p 2 , p 3 , p 4 , p 5 } T = {t 1 , t 2 , t 3 , t 4 }</formula><p>pre and post functions are given in Table <ref type="table" target="#tab_0">1</ref> and Table <ref type="table">2</ref> respectively. In Fig. <ref type="figure" target="#fig_0">2</ref> there is a correspondence shown between the graph representation of PN N and pre and post functions. The following useful notations can be defined:</p><formula xml:id="formula_4">• t = {p | pre(p, t) = 0} the set of preconditions of t t • = {p | post(p, t) = 0} the set of postconditions of t p • = {t | pre(p, t) = 0} • p = {t | post(p, t) = 0}</formula><p>By the marking of PN N = (P, T, pre, post) we mean a totally defined function</p><formula xml:id="formula_5">m : P −→ IN (1)<label>(2)</label></formula><p>We use m to describe the situation or configuration in PN N . Namely we say the condition represented by the place p in PN N holds iff m(p) = 0. Without loss of generality we assume that P and T have k and m elements respectively.</p><p>i.e. P = {p 1 , p 2 , , ..., p k }, T = {t 1 , t 2 , , ..., t m } and we fix some ordering of both, places and transitions from now on. Using the ordering of places we can consider m to be the k-dimensional nonnegative integer vector, i.e. and m(p i ) is the value of m in p i , i = 1, 2, ..., k, according to (1). In our example (Fig. <ref type="figure">1</ref>) m(p i ) = 1 iff i = 1, or alternatively → m = (1, 0, 0, 0, 0). For the simplicity we will use the denotation m for either interpretations of the marking m when it doesn't cause any troubles. We say t is enabled in m, and denote it m t , iff for every p ∈ • t, m(p) ≥ pre(p, t). In Fig. <ref type="figure">1</ref> t 1 is enabled in m = (1, 0, 0, 0, 0) because • t 1 = {p 1 } and m(p 1 ) = 1, and pre(p 1 , t 1 ) = 1. In general, given PN N, a marking m of N, several transitions from T can be enabled in m. Once the transition t is enabled it can fire. The effect of the firing t in m is the creation of a new marking m that depends on m and t. We use a denotation m t m and m is defined in the following way:</p><formula xml:id="formula_6">m (p) =        m(p) − pre(p, t) p ∈ • t \ t • m(p) + post(p, t) p ∈ t • \ • t m(p) − pre(p, t) + post(p, t) p ∈ • t ∩ t • m(p) otherwise</formula><p>In PN N of Fig. <ref type="figure">1</ref> we can write m = (1, 0, 0, 0, 0) t 1 m = (0, 1, 1, 1, 0). Notice transitions t 3 ,t 4 will be enabled in m either. We say the sequence of transitions σ = t 1 t 2 ...t r is admissible firing sequence in PN N, provided a sequence of markings m 0 , m 1 , ..., m r exists and such that m i−1 t i m i , i = 1, 2, ..., r. In that case we write m 0 σ m r , or simply m 0 m r , when σ is immaterial. The marking m is to be called the reachable marking in N from m 0 (via σ). We fix the marking m 0 to be the initial marking of PN N = (P, T, pre, post) and we denote it N 0 = (N, m 0 ) or N 0 = (P, T, pre, post, m 0 ). Given PN N 0 = (P, T, pre, post, m 0 ) we define the set of reachable markings</p><formula xml:id="formula_7">R(N 0 ) = {m | m 0 σ m, },</formula><p>We can define the language of PN N 0</p><formula xml:id="formula_8">L(N 0 ) = {σ ∈ T * | m 0 σ m, σ ∈ T * }</formula><p>and we call it PN language.</p><p>Verification of Systems: Deadlock Analysis Based on Petri Nets 2.2 VAS and Petri Nets.</p><p>Let N 0 = (P, T, pre, post, m 0 ) be a Petri Net with the initial marking m 0 . Recall m 0 can be represented as a k-dimensional nonnegative integer vector, i.e. m 0 ∈ Z k and m 0 = (m 0 (p 1 ), . . . , m 0 (p k )). Let us fix an ordering of places in P and transitions in T, i.e. P = {p 1 , . . . , p k } and T = {t 1 , . . . , t m }.</p><p>In PN literature (e.g. <ref type="bibr" target="#b5">[6]</ref>, <ref type="bibr" target="#b7">[8]</ref>) we have the following characterization of the marking obtained (reached) in N 0 from initial marking m 0 under firing transition</p><formula xml:id="formula_9">sequence σ ∈ T * m 0 σ m ⇔ m = m 0 + (c • Ψ T (σ)) T</formula><p>and Ψ (σ) is the Parikh mapping over the (ordered) alphabet T, and Ψ T (σ) stands for the transposition of the row vector Ψ (σ). Any transition t ∈ T can be represented as a k-dimensional integer vector It can be easily seen that</p><formula xml:id="formula_10">m 0 t m ⇔ m = m 0 + t</formula><p>and we can construct for PN N 0 = (P, T, pre, post, m 0 ) the vector addition system W k = (q 0 , W ) an such that q 0 = m 0 , W = {t|t ∈ T } , and k = cardP . The following result holds</p><formula xml:id="formula_11">Theorem 1. [6]</formula><p>For any PN N 0 = (P, T, pre, post, m 0 ) there is an vector addition system W k = (q 0 , W ) and such that R(W k ) = R(N 0 ), and k = cardP . Proof:That follows from the above construction.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.3">Reachability Problem</head><p>Reachability problem for Petri nets attracted a lot of attention of experts in computer science community. It lasted pretty long time (almost 20 years) a solution to RP had been obtained <ref type="bibr" target="#b8">[9]</ref>, <ref type="bibr" target="#b9">[10]</ref>, <ref type="bibr" target="#b10">[11]</ref>, <ref type="bibr" target="#b11">[12]</ref>, <ref type="bibr" target="#b3">[4]</ref>. A full account of the solution of RP by the author, including the complexity issue of RP-the upper bound of the worst-case time complexity of the solution, can be found in <ref type="bibr" target="#b5">[6]</ref>.</p><p>We are going now to describe shortly main steps of the author's RP solution.</p><p>1. Any P/T net N 0 = (P, T, pre, post, m 0 ) can be assigned a vector adition system (VAS) W k = (q 0 , W ) via a representation of transitions of P/T net N 0 as vectors, where W = → t i |t i ∈ T , (q 0 = m 0 ) and</p><formula xml:id="formula_12">→ t i = (post(p 1 , t i ) − pre(p 1 , t i ), ..., post(p k , t i ) − pre(p k , t i )), provided P = {p 1 , ..., p k }.</formula><p>By that virtue the computations of P/T net N 0 are in 1-1 correspondence with computations of the VAS W k and R(W k ) = R(N 0 ) (see Theorem 1). The computations of the VAS W k can be represented via rooted labelled tree, termed as vector state tree -V ST w , whose vertices are labelled by reachable states and edges are labelled by vectorized transitions. 2. Given V ST w and its vertex with the label q, it can be characterized by two languages:X q , Y q , preffix and suffix language respectively / which denotes labelling of paths leading to or from the vertex with the label q. The paths on V ST w can be classified, based on the length of the paths: finite and infinite, on the one side, and also based on the finite or infinite set of vectorstates: vertex labellings on the other side. Any path on V ST w , outgoing from the root vertex r 0 , labelled by q 0 , can be assigned a sequence of its vertex labels (reachable) vector-states</p><formula xml:id="formula_13">s = {q 0 , q 1 , ..., q i , ...}<label>(3)</label></formula><p>The states in (3) are reachable states, that are vectors, i.e. q i ∈ N k (k=||P ||), so for any pair of states in ( <ref type="formula" target="#formula_13">3</ref>)-(q i , q j ), i &lt; j, we can test their comparability, w.r.t. the relation ≤ defined on vectors. (of the same dimension). The sequence (3) can be accompanied by the sequence of suffix(prefix) languages associated with the states of the sequence <ref type="bibr" target="#b2">(3)</ref> . By the nature and due to properties of VASs and their computations that is clear that</p><formula xml:id="formula_14">q i ≤ q j ⇒ Y qi ⊆ Y qj<label>(4)</label></formula><p>The necessary and sufficient conditions can be formulated for a path being infinite with finite or infinite set of reachable states. Based on that a theory of transformation of infinite paths (a graph morphism), that allows pruning infinite paths and replacing them by loop-like subgraphs and thus transforming the tree into a rooted graph (vector state graph-vsg). The transformation (T &lt; m A ) has a significant property that suffix language of the root of the original V ST w − Y q0 is included in the suffix language of the root of the resulting vsg</p><formula xml:id="formula_15">T &lt; m A (q 0 ), i.e. Y q0 ⊆ Y T &lt; m A (<label>q0</label></formula><p>) . In the case the strong inequality holds between the two states on the path (q ≤ q and q = q ), that causes introducing so-called ω-cordinates, that means replacing the cordinates of the both states in which the strong inequality (&lt;) holds, by the special value ω, and thus creating the ω-lized state ω A q and ω A q , that become identical, i.e. ω A q = ω A q (A is the set of coordinate indices on which the relation &lt; holds). By that virtue, due to the properties of ω (ω + a = ω − a = ω for any natural number a), any such the transformation has two-side effect: pruning the infinite path by replacing it by a finite (loop-like) subgraph, and lowering number of coordinates w.r.t. which a comparison satisfiability of reachable (macro) states should be checked. That guaranties that in a finite number of transformation steps a finite (rooted) vsg structure T ω f can be obtained. The significant property of the vsg T ω f is that Y T * (q0) ⊇ Y q0 , provided that T * (q 0 ) is the macrostate on which the initial state q 0 is mapped after the sequence of transformations denoted as T * . 3. Vsg T ω f can be thought of as a special kind of finite state automaton (fsa) with some interpretation of its states, and with the input alphabet W = → t i |t i ∈ T . The definition of the automaton (we used to call it finite state automaton (fsa) (of the type) M w ) can be given as</p><formula xml:id="formula_16">M w = (Q f , W, δ, ρ 0 ), provided the vsg T ω f = (Q f , T f ,</formula><p>ρ 0 and T f is the graph representation of state trasition funcion δ. To characterize the behaviour of fsa M w we introduce special regular expressions (wre-vector regular expressions(w stands here after the set W of vectors)). Any wre α is given two semantics: [α]-vector semantics; [[ α ]] -(ordinary) language semantics. Let L ρ0 be the wre that denotes the language of M w (i.e.L(M w )= [[ L ρ0 ]] ), and q 0 to be the initial state of VAS W k . Then [q 0 L ρ0 ] denotes all reachable states. To be more precise will differ depending on whether R(N 0 ) is finite or infinite. In the finite case RP (q, N 0 ) can be solved trivially by inspecting the state diagram of M w and checking whether there is a state with the label q or not. In the second case we have to do the following steps: 1) to find a state ρ of M w such that q ≤ ρ; if such a state does not exists, then RP (q, N 0 ) has negative solution (q / ∈ R(N 0 ) ).</p><formula xml:id="formula_17">[u] = [u] if u ∈ W [au] = a + [u] if a ∈ W and u ∈ W * ∀q ∈ N k , u ∈ W * [qu] = q + [u] and ∀i(1 ≤ i ≤ |u i |).q i = [qu i ] ∈ N k , [q 0 L ρ0 ] = q |q = [q 0 u] , u ∈ [[ L ρ0 ]]<label>(5) 4</label></formula><p>2) assume we found such the state ρ; now we have to construct a path leading from the root state ρ 0 that is the image of the initial state q 0 under chain of transformations (ρ = T * &lt; m A (q 0 ))(for more details see <ref type="bibr" target="#b5">[6]</ref>). By that way a wre u over the alphabet W L ∪ W (W L is the alphabet of (ρ 0 )-simple loops of scc, i.e. W L ⊆ W * ) can be constructed, yielding the equation</p><formula xml:id="formula_18">[q 0 uv] = q (6)</formula><p>Wre u (under assumption of one scc in M w , rooted in ρ 0 ) has the structure u = 1 2 ... p , where i ∈ W L , i = 1, 2, ..., p and v is a path leading from ρ 0 to ρ such that q ≤ ρ. -The equation ( <ref type="formula">6</ref>) yields integer linear programming problem (ILP)</p><formula xml:id="formula_19">AX = B(q), B(q) = q − q 0 − [v]<label>(7)</label></formula><formula xml:id="formula_20">A = ([ 1 ] T , [ 2 ] T • • • [ m0 ] T ) provided W L = { 1 , 2 , .</formula><p>.., m0 }. 5. ILP constructed does not express exactly conditions to hold for the reachability of the state q. The reason is that at building ILP <ref type="bibr" target="#b6">(7)</ref> based on (6) some information is lost. Particularly the information that is connected with an ordering of loops passed, that is prescribed by definition of [q 0 uv](all reachable states by wre uv ). To check the so called 'proper choice condition' property special test should be performed, that is expressed in the predicate con Wk (A, X 0 , B 0 ). So finally the RP algorithm is RP algorithm: Given: VAS W k = (q 0 , W ), q ∈ IN k -a state to be decided reachable or not;</p><p>Step 1 : Create fsa M w ;</p><p>Step 2 : Construct M ILP w (A, X 0 , B(q), r);</p><p>Step 3 : if M ILP w (A, X 0 , B(q), r) = true then go to Step 4 else go to Step 5 ; Step 4 : q ∈ R(W k ). Stop.</p><p>Step 5 : q ∈ R(W k ). Stop.</p><p>We use the abbreviation</p><formula xml:id="formula_21">M ILP Wk (A, X 0 , B(q)) ≡ ILP Wk (A, X 0 , B(q)) ∧ con Wk (A, X 0 , B 0 ) Finally RP (q, W k ) ≡ M ILP Wk (A, X, B(q))</formula><p>Since ILP is decidable, and also due to finiteness of X 0 establishing truth of con Wk (A, X 0 , B 0 ) is also decidable, so is the reachability problem.</p><p>3 Algebraic properties of M w automaton</p><p>Let us have one more look at fsa M w = (Q, W, δ, ρ 0 ). For simplicity let us assume that M w consists of single scc with its root state ρ 0 . Example of such M w is depicted in Fig.  Notice that all states of the state diagram are labelled with ωvectors, e.g. ρ 0 = (1, 0, ω, 0, ω, 0), ρ 1 = (0, 0, ω, 1, ω, 0), ρ 2 = (0, 1, ω, 0, ω, 0), ρ 3 = (0, 0, ω, 0, ω, 1). Important feature of labels of the states of the M w 's state diagram is that they are mutually incomparable as vectors. We can look at labels of the states of the M w 's state diagram as macrostates, that represent (cover) sets of reachable states. For that, we may call any macrostate ρ -a label of a state in M w 's state diagram, as the reachable macrostate. We will say that two macrostates ρ and ρ are comparable, and we write ρ ≤ ρ , provided that ρ covers at least those reachable states, that are covered by ρ.</p><p>To express it more formally, we introduce for the macrostate ρ the set of covered reachable states-denoted by S ρ i.e. S ρ = {q|q ∈ R(N 0 ), q ≤ ρ} S ρ is simply partially ordered set(poset). The notion is well-known <ref type="bibr" target="#b18">[19]</ref>. For any poset, particularly for S ρ , there can be found the set of minimal, or maximal elements (states) respectively. The notions the lower bound, or the upper bound of the states of S ρ are also well defined and used. The notion the greatest lower bound (glb), and the least upper bound (lub) are also used in that context. We only mention here, that while minimal (maximal) states belong to S ρ , that might not be true for glb or lub respectively. We will use the notation , to denote the binary operation of calculating lub(q, q ) = q q , or glb(q, q ) = q q respectively.</p><p>For the definition of poset, and further properties and other results reader can consult a specialized literature on the subject, e.g. see <ref type="bibr" target="#b17">[18]</ref>, <ref type="bibr" target="#b18">[19]</ref>.</p><p>For our purpose to use the information captured in fsa M w for deadlock analysis we have to modify the algorithm of creating M w . The information that is hidden in the state diagram of M w is the value of particular coordinate of the state q at the moment when the coordinate is being ω-lized. . To capture the information hidden (and lost) by the original algorithm to construct the fsa of the type M w , we have to distinguish three types of indexing ω coordinates:</p><p>-ω ∆ a -denotes an ω coordinate in a loop-root state ρ, with initial value of the coordinate a , with ∆ as a loop added value to the coordinate after each repetition of the loop; such the ω is called the independent root ω , -ω i,t,∆j b -denotes so-called dependent ω coordinate in a loop-root state ρ, that depends on i-th ω coordinate that should generate (via repetition of its loop) a minimal value v in i-th coordinate such that v ≥ pre(p i , t) for the transition t to be firable in corresponding state while the initial value of the coordinate the dependant ω belongs to is b; ∆ j is the increase of the dependent ω (in the j-th coordinate) caused by the repetition of the loop started by the transition t.</p><p>-ω c -denotes so-called overflowed ω coordinate with the minimal initial value of the coordinate at the time it was overflowed for the first time.</p><p>To get a flavour why we are introducing indexed ωs , we are now turning our attention to properties of the poset S ρ = (S ρ , ≤, , ) with respect to a deadlock state π, that can be eventually covered by a macrostate ρ, i.e. π ≤ ρ.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Properties of the poset S ρ with respect to the deadlock analysis</head><p>In the previous section we have discovered, that any macrostate ρ can be taken as the poset S ρ = (S ρ , ≤, , ) . For the discovering a deadlock state of P/T net N 0 we would like to make a use of information captured in the M w 's state diagram, specifically in macrostates by which the states are labelled with.</p><p>Assume that we are given ω-state ρ, and to be more specific, let's say that</p><formula xml:id="formula_22">ρ = ω A q = (ρ 1 , ρ 2 , ..., ρ k )<label>(8)</label></formula><p>where q = (q 1 , q 2 , ..., q k ) is a reachable state, A ⊆ {1, 2, ..., k} = K is the set of indices in which ρ has ω -coordinates. To put it in other words that means that</p><formula xml:id="formula_23">ρ j = if j ∈ A q j if j / ∈ A and ∈ ω ∆i a , ω i,t,∆j b</formula><p>, ω c .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Verification of Systems: Deadlock Analysis Based on Petri Nets</head><p>Now we are introducing some notions.</p><p>First we fix the macrostate ρ and its representation <ref type="bibr" target="#b7">(8)</ref>. We define</p><formula xml:id="formula_24">Baseρ = { q B ρ,i = q 1 , q 2 , ..., q k |i ∈ A, q = ρ if i = , ∈ K − {i} , (<label>9</label></formula><formula xml:id="formula_25">)</formula><formula xml:id="formula_26">q i = r if ρ i = }</formula><p>where ∈ ω ∆i r , ω j,t,∆i r</p><p>, ω r .</p><p>That is clear that every q B ρ,i ≤ ρ; in a case ρ has only one ω coordinate then q B ρ,i</p><p>is the glb(S ρ ). In the case that ||A|| &gt; 1 q B ρ,i is the macrostate covering a set of minimal elements of the poset S ρ .</p><p>We will call the macrostates labelling states of M w the reachable macrostates. Any macrostate π ≤ ρ we will call also the reachable macrostate. From that point of view we may consider elements of Baseρ as the collection of reachable macrostates.</p><p>Still another notion should be introduced; we define</p><formula xml:id="formula_27">q B ρ = q 1 , q 2 , ..., q k (<label>10</label></formula><formula xml:id="formula_28">)</formula><p>where</p><formula xml:id="formula_29">q j = r ⇔ ρ j = q j = ρ j ⇔ ρ j ∈ N and ∈ ω ∆j r , ω i,t,∆j r</formula><p>, ω r for some r ∈ N.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>It is clear that</head><p>q B ρ ≤ ρ The crucial problem is to decide whether q B ρ is reachable state or not. In the latter case it will be called spurious state <ref type="bibr" target="#b0">[1]</ref>. We will postpone answering that question later on.</p><p>Any deadlock state of P/T net N 0 = (P, T, pre, post, q 0 ) is such a state q, that is 1. reachable state, i.e. q ∈ R(N 0 ), and 2. for any transition t ∈ T and at least one p ∈ • t, pre(p, t) &gt; q(p)</p><p>In other words there are not enough tokens at least in one of pre-places • t of any t ∈ T . Assume we have a deadlock state d ∈ ρ; that means that any reachable state q ∈ ρ and such that q ≤ d will be a deadlock state either. From that we have immediately, that if q B ρ were reachable state, it would be a deadlock state of P/T net N 0 = (P, T, pre, post, q 0 ) since it would have been either the least or minimal element of the poset S ρ . We can summarize the properties described.</p><p>Assertion 1 Let S ρ = (S ρ , ≤, , ) be the poset formed by the macrostate ρ of the fsa M w representing the set of reachable states of a P/T net N 0 = (P, T, pre, post, q 0 ). Then if there exists a deadlock state d in ρ, then at least one of minimal elements or the least element of the poset S ρ -q min will be the deadlock state too and such that q min ≤ d.</p><p>So, it means that the least and minimal elements of the poset S ρ , if they exist, serve as a good indicator of presence and/or absence of deadlocks in the system represented by any P/T net.</p><p>In the algorithm of the construction of fsa M w <ref type="bibr" target="#b5">[6]</ref> we apply some transformations to the paths of the tree of computations of the VAS W k = (q 0 , W ), which results in introducing ω values into corresponding coordinates of a state vector. We have shown above there are three types of ω coordinates (ωcords in short):independent, dependent and overflowed ωcords.</p><p>The issue of creating independent ω coordinate is depicted in Fig. <ref type="figure">4</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Fig. 4. Path transformation creating independent ωs</head><p>There is a state q, having values a and b in its i-th and j-th coordinate respectively. There are also two transitions (vectors) say t a and t b that are firable (applicable) in q. An aplication of t a at q followed by other transitions leads to a state q = (q1, ...a , ..., b, ...q k ) , where a &lt; a is a new value of the i-th coordinate, and according to the algorithm which construts automaton M w the transformation T &lt;i applies, that creates a loop labelled with the string τ a = t a α, that replaces the path leading from q to q which is labelled with τ a = t a α as well. The effect of the transformation is that the state q collapses to q creating a new state ω {i} q = (q1, ..., ω, ..., b, ...q k ). Because we are interested in the data keeping information on the value of the i-th coordinate which has been replaced by ω, we suggest to keep the data as a part of the new 'value' of the coordinate. Another information which we are interested in is the value ∆ i = a − a which expresses the increase of the i-th coordinate after repetition of the loop τ a = t a α. After all we prefer to denote the new ω value of the i-th coordinate by ω ∆i a , and to call such the ωcoordinate to be independent ωcoordinate. Another independent ωcoordinate can be created due to firing the sequencce of transitions τ b = t b β starting at the state ω {i} q. Notice that in the intermediate state p in the i-th coordinate so called overflowed ω c cord apears. The case of creating dependent ωcords can be visualized in similar way. Due to space lack we have to skip that and we refer the reader to <ref type="bibr" target="#b6">[7]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Analysis of creating ωcoordinates</head><p>It was already mentioned the importance of the least and minimal states with respect to (wrt) deadlock analysis of P/T net (sect.3.1). Now we return back to the problem with an aim to analyze in the depth the issue of the role least or minimal states will play in the reachability and deadlok analysis. The main problem here is to decide in any particular case of least and/or minimal state q B ρ whether it is reachable or not.</p><p>Let us consider that q B ρ,i ∈ Baseρ; then q B ρ,i ⊆ (N 0 ) and thus q B ρ,i is a macrostate covering a set of reachable states which all have the same i-th coordinate, say a i . Moreover, the macrostate q B ρ,i is the macrostate consisting of minimal states wrt macrostate ρ. The nature of the fsa of the type M w <ref type="bibr" target="#b5">[6]</ref> guarantees nonemptiness of q B ρ,i . The latter guarantees an existence of at least one reachable minimal element belonging to the macrostate q B ρ,i . The state q B ρ can be considered to be the least element of the poset S ρ , provided it is a reachable state, otherwise it can serve as a lower bound for the reachable states-elements of S ρ . Very often such the state q B ρ will be just spurious reachable state, and there will be a need for q B ρ to be proved its reachability. To underpin that assertion some kind of analysis should be introduced first.</p><p>The case analysis of different types of n &gt; 1 ωcoordinates have been accomplished <ref type="bibr" target="#b6">[7]</ref>. In every case there that has been proven, that either Baseρ ⊆ (N 0 ), or q B ρ ∈ (N 0 ). The case of n=2 ωcoordinates is quite simple. The case of n ≥ 3 is more complicated. There is few typical situations in the case of n=3 ωcoordinates that shows the table below.</p><p>In the table the entry (1, 1 →, 1) stands for a dependence of ωcord dep on ow, and the entry (1, ← 1, 1) stands for a dependence of ωcord dep on ind. We illustrate that only for two cases:(3,0,0). The results on creating ωcoordinates for the case ||A|| ≤ 3 can be generalized to any n ∈ N. The conclusion we have come to is that ωcoordinates can assume one of the following forms. We propose to use a generalized form to represent ωcoordinates, and we will call it as form (f).</p><formula xml:id="formula_30">ω h 1 , • • • h k d 1 , • • • d k<label>(11)</label></formula><p>where</p><formula xml:id="formula_31">h 1 d 1 ∈ ∆ i a , A, t, ∆ i b h i d i i&gt;1 ∈ − a , λ c<label>(12)</label></formula><p>Here λ stands for empty symbol. Basically, in the case of overflowed ωcoordinates we will use just ω c instead of ω λ c or ω − c . In the case of independent and dependent ωcoordinates we will use instead of empty symbol '-' to visualize the correspondence of high and low indices.</p><p>In our consideration we will use shorthand notation for indexed ωcoordinates as</p><formula xml:id="formula_32">ω [I k ] where I k = h 1 , • • • , h k d 1 , • • • , d k</formula><p>The following results have been proven as far as the generalization of the process of indexed ωcoordinates is concerned:</p><p>1. the form (f) of ωcoordinates has been chosen correctly, and it will be preserved by any application of T &lt; ω A transformation, and 2. the procedure to obtain the set of minimal elements of the poset represented by a macrostate ρ-Baseρ, is determined by a choice of proper combination of low indices.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">A case study and further analysis of ωcoordinates</head><p>In his paper <ref type="bibr" target="#b0">[1]</ref> T.Murata studied two PNs (Fig. <ref type="figure" target="#fig_5">5</ref>) with respect to discovering liveness or deadlock, based on the coverability graphs of Petri Nets, the structure that is widely used to represent the state space of their reachable states. He showed that two PNs having the identical coverability graphs differ what concerns of liveness or deadlock properties. In this section we will use our method based on the finite automaton M w and the properties of ωcoordinates to demonstrate the power of the approach to discover safely the deadlock of Petri nets in general and it will be demonstrated by the example Petri nets by T. Murata. Let us have a closer look at the two PNs. Comparing coverabiity graphs of the two PNs we can see they are indeed identical. Now we are going to apply the aproach based on the methodology developed, that is backed by our algorithm of constructing fsa of the type M w (in some cases state diagrams of M w and coverability graph coincide, but in some cases they look quite different). Construction of fsas of the type M w fo the two nets can be seen in Fig. <ref type="figure">6</ref> and Fig. <ref type="figure" target="#fig_6">7</ref>. We can see that M w automata are isomorphic, but they differ in ωcords as far as their indices are concerned.</p><p>Let us have a closer look at the M w automata from that perspective. In M w automaton of PN N 1 we have two macrostates: ρ 1 = (1, 0, ω 1 0 ) and ρ 2 = (0, 1, ω 0,1 ). If we look at ρ 1 = (1, 0, ω 1 0 ) as at the poset, we can have the only minimal and thus the least (infimum) state q B ρ1 = (1, 0, 0) In the case of ρ 2 = (0, 1, ω 0,1 ) we have the basis of this poset Base(ρ 2 ) = {(0, 1, 0), (0, 1, 1)} There are actually 2 minimal states. Let us turn our atention to the net N 2 . In M w automaton of PN N 2 we have also two macrostates: ρ 1 = (1, 0, ω 2,− 0,1 ) and ρ 2 = (0, 1, ω 0,2 ). If we look at ρ 1 as at the poset, we can have here no infimum state, but we still have two minimal states that creates :</p><p>Base(ρ 1 ) = {(1, 0, 0), (1, 0, 1)} Fig. <ref type="figure">6</ref>. Mw construction for the live Petri Net N1 with inexed ωcords</p><p>If we look at ρ 2 as at the poset, we can have also here no infimum state, but we still have two minimal states that creates :</p><p>Base(ρ 2 ) = {(0, 1, 0), (0, 1, 2)}</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.1">Deadlock analysis</head><p>In <ref type="bibr" target="#b5">[6]</ref> the deadlock problem is dealt with, based on the use of original RP algorithm. We wil use of the notion 'deadlock candidates' states introduced there. The latter can be derived from the structure of PN in question.</p><p>Let us consider PN N = (P, T, pre, post) and let</p><formula xml:id="formula_33">→ t = − → pre(p, t) + → post(p, t).</formula><p>For any t ∈ T and p ∈ P we say</p><formula xml:id="formula_34">p covers t ⇔ df pre(p, t) = 0<label>(13)</label></formula><p>In other words we are saying by ( <ref type="formula" target="#formula_34">13</ref>) that</p><formula xml:id="formula_35">p covers t ⇔ df t ∈ p •<label>(14)</label></formula><p>The ( <ref type="formula" target="#formula_34">13</ref>) and ( <ref type="formula" target="#formula_35">14</ref>) simply mean that p is included in t's enabling. That is reasonable to define Obviously C(p) = p • . We are now looking for such a minimal subset C i of P, that the union of the covers of places form the subset that will give the whole set T. We propose to call such the subset C i the minimal cover of T. The notion minimal is connected with the number of places covering the set T. Notice, there can be more than one minimal cover of T.</p><formula xml:id="formula_36">C(p) = {t ∈ T |p covers t}</formula><p>We associate with each total cover of T -C i , the set of deadlock markings, denoted as -CanM i .</p><formula xml:id="formula_37">CanM i = { m ∈ IN k |m ≤ Ci m i , p ∈ C i ⇒ m i (p) ≤ r − 1, r = min ri {r i |pre(p, t i ) = r i , t i ∈ p • } } where m ≤ Ci m i ⇔ df ∀p ∈ C i : m(p) ≤ m i (p).</formula><p>We can define the notion</p><formula xml:id="formula_38">CovT = {C i |C i ⊆ P, C i is total cover of T}<label>(15)</label></formula><p>Based on the CovT we may define now the overall set of dead markings</p><formula xml:id="formula_39">CanM = m ∈ IN k |∃C i ∈ CovT : m ≤ Ci m i , p ∈ C i ⇒ m i (p) ≤ r − 1, r = min ri {r i |pre(p, t i ) = r i , t i ∈ p • }<label>(16)</label></formula><p>The algorithm DA(N 0 ) guarantees all MoL deadlocks will be found out and delivered as the set D(N 0 ). Actually that can be considered as solving the problem of discovering presence or absence of deadlock states in the PN N 0 .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.2">Case study continued</head><p>We can now continue to analyze state diagrams of the two PNs. We wil use the results of previous section and particularly the result of the Lemma ??. So according to that we have to calculate now total covers for the two PNs. In the tables below there are calculated both:the minimal total cover of T and pre-set for the net N 1 .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Total Cover of T for PN</head><formula xml:id="formula_40">N 1 t 1 t 2 t 3 t 4 Total Cover of T p 1 ∨ ∨ C 1 = {p 1 , p 2 } p 2 ∨ ∨ p 3 ∨ ∨ Function pre for PN N 1 pre p 1 p 2 p 3 t 1 1 t 2 1 t 3 1 t 4 1 Can M = Can M 1 = {0, 0, ω} inf (1, 0, ω 1 0 ) = (1, 0, 0) / ∈ CanM inf (0, 1, ω 0,1 )</formula><p>nejestvuje Base((0, 1, ω 0,1 )) = {(0, 1, 0), (0, 1, 1)} ∩ CanM = {(0, 0, ω)} = Φ So we jump to the conclusion that PN N 1 does not contain any deadlock! Now we are going to turn our attention to the PN N 2 . First we calculate minimal total cover of PN N 2 and pre-set for the PN N 2 . CanM 1 = {(0, 0, ω)} , CanM 2 = {(0, ω, 0)} CanM = {(0, 0, ω), (0, ω, 0)} Base((1, 0, ω 2,− 0,1 )) = {(1, 0, 0), (1, 0, 1)} Base((0, 1, ω 0,2 )) = {(0, 1, 0), (0, 1, 2)} Base((1, 0, ω 2,− 0,1 )) ∩ CanM = Φ Base(0, 1, ω 0,2 ) ∩ CanM = {(0, 1, 0), (0, 1, 2)} ∩ {(0, 0, ω), (0, ω, 0)} = {(0, 1, 0)} So we may jump to the conclusion that PN N 2 has indeed deadlock state {(0, 1, 0)}!</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Total</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">Conclusion</head><p>The issue of deadlock analysis is important for the development of discrete statebased systems. The method of discovering a presence, or an absence of deadlocks in the system coined and demonstrated in the paper is based on the study of the properties of the automaton M w . We should mention that the results presented in the paper manifest the depth and the vitality of the new method to deal with the issue of reachability in Petri Nets, particularly the part which was connected with the study of the algebraic properties of interpretations of the automaton of the type M w . In <ref type="bibr" target="#b5">[6]</ref> there are some results presented on the nature of that interpretation. The automaton M w bears some similarity with coverability graphs used in Petri Nets, but as it was proven, it is more powerful to deal with deadlock analysis. Beside of that, the structure of the automaton M w plays the central role in reachability analysis of the systems (represented via PN) with infinite state space <ref type="bibr" target="#b5">[6]</ref>. The most important property of M w is its reusability for reachability analysis of the PN in question wrt to any other state, not only wrt to that it was constructed for initially. On the other side it turns out that one automaton of the type M w , say M can serve in that role for whole class of PNs with the same number of places and some structure that induces corresponding set of transitions wich are consistent with the M structure. There is still another way how the M w structure can be used. The fsa M can be thought of as a couple M=(M,I), where M and I stand for basic fsa without interpreted states and interpretation respectively. For any k ∈ IN-the number of places and given structure of basic fsa M we can construct corresponding interpretation I consistent with M. By that virtue, the same applies wrt doing deadlock analysis.</p><p>Due to space we have not dealt with the issue of modification of the algorithm of M construction, and also many details and proofs have been skipped. There can be found in <ref type="bibr" target="#b6">[7]</ref>. At the workplace of the author there has been environment -termed as mFDTE <ref type="bibr" target="#b15">[16]</ref>, developed. The results will be implemented in the environment. The latter combines three formal descriptions of systems: Petri Nets, process algebra, and B AMN. The latter substantiate the acronym mFDTE-multi Formal Description Techniques Environment. More details can be found in <ref type="bibr" target="#b15">[16]</ref>.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Fig. 2 .</head><label>2</label><figDesc>Fig. 2. The correspondence between the graph representation of PN and the pre and post functions</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>→m∈</head><label></label><figDesc>IN k . More formally → m = (m(p 1 ), m(p 2 ), ..., m(p k ))</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>3</head><label>3</label><figDesc></figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Fig. 3 .</head><label>3</label><figDesc>Fig. 3. State diagram of fsa Mw with a single strongly connected component</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_5"><head>Fig. 5 .</head><label>5</label><figDesc>Fig. 5. Case study: Two Petri Nets with identical coverability graphs</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_6"><head>Fig. 7 .</head><label>7</label><figDesc>Fig. 7. Mw construction for the deadlock Petri Net N2 with inexed ωcords</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head>Table 1</head><label>1</label><figDesc></figDesc><table><row><cell>:</cell><cell></cell><cell>Table 2:</cell><cell></cell></row><row><cell cols="2">P T pre(p,t)</cell><cell cols="2">P T post(p,t)</cell></row><row><cell>p 1 t 1</cell><cell>1</cell><cell>p 1 t 2</cell><cell>1</cell></row><row><cell>p 2 t 2</cell><cell>1</cell><cell>p 2 t 1</cell><cell>1</cell></row><row><cell>p 5 t 2</cell><cell>1</cell><cell>p 3 t 1</cell><cell>1</cell></row><row><cell>p 3 t 3</cell><cell>1</cell><cell>p 4 t 1</cell><cell>1</cell></row><row><cell>p 4 t 4</cell><cell>1</cell><cell>p 4 t 3</cell><cell>1</cell></row><row><cell></cell><cell></cell><cell>p 5 t 4</cell><cell>1</cell></row><row><cell>otherwise</cell><cell>0</cell><cell>otherwise</cell><cell>0</cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_2"><head></head><label></label><figDesc>The way how to solve the reachability problem w.r.t. a state q ∈ N k</figDesc><table /><note>. Having constructed fsa M w it is worth to say few words about its structure w.r.t. how it can be useful in RP solving: -The structure of the state diagram of M w is, in almost all cases, consisting of n ≥ 1 strongly connected components (scc), due to transformations applied to V ST w initially and to vsg afterwards. The class of scclike M w s, can be divided into two subclasses. The first subclass contains M w s whose states are labelled by simple (k-dimensional) nonnegative integer vectors. Such M w manifests that P/T net in question N 0 (and corresponding VAS W k ) has finite set of reachable states. The second subclass consists of M w s whose states are labelled by ω (k-dimensional) nonnegative integer vectors (vectors having at least one ω coordinate). Such M w manifests that P/T net in question N 0 (and corresponding VAS W k ) has infinite set of reachable states. -</note></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_3"><head>Table :</head><label>:</label><figDesc>Case analysis for 3 ωcords</figDesc><table><row><cell cols="2">Type of ωcords</cell></row><row><cell>N 0 ind dep</cell><cell>ow</cell></row><row><cell>1 3 0</cell><cell>0</cell></row><row><cell>2 2 1</cell><cell>0</cell></row><row><cell>3 2 0</cell><cell>1</cell></row><row><cell>4 1 0</cell><cell>2</cell></row><row><cell>5 1 1→</cell><cell>1</cell></row><row><cell>6 1 ←1</cell><cell>1</cell></row><row><cell>7 1 ←2</cell><cell>0</cell></row><row><cell>8 0 2→</cell><cell>1</cell></row><row><cell>9 0 1→</cell><cell>2</cell></row><row><cell>10 0 0</cell><cell>3</cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_4"><head>Table 1 .</head><label>1</label><figDesc>Case analysis for 3 ωcords</figDesc><table /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_5"><head></head><label></label><figDesc>Cover of T for PNN 2 t 1 t 2 t 3 t 4 Total Cover of T p 1 ∨ ∨ C 1 = {p 1 , p 2 } p 2 ∨ ∨ C 2 = {p 1 , p 3 } p 3 ∨ ∨ ∨ Function pre for PN N 2 pre p 1 p 2 p 3</figDesc><table><row><cell>t 1 1</cell><cell></cell></row><row><cell>t 2 1</cell><cell>1</cell></row><row><cell>t 3</cell><cell>1 2</cell></row><row><cell>t 4</cell><cell>1 1</cell></row></table></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">We will use Petri Net (PN) occasionally instead of P/T Net, so we consider them as synonyms</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Acknowledgments. This work was supported by the Slovak Research and Development Agency grant on Modelling, simulation and implementation of GPGPU-enabled architectures of high-throughput network security tools,under the contract No. APVV-0008-10. Further it was also partially supported by the grants No. 1/3140/06 of the VEGA-The Scientific Grant Agency of Slovakia, NATO CLG982698 grant, APVV grants No.APVV-0073-07, and SK-UA-0026-07.</p></div>
			</div>

			<div type="annex">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Notice that notions CanM i and CanM are based only on the structure of PN in question and nothing is known about the reachability of the states contained there. That is why we have used to call them 'deadlock candidates', or potential deadlock states. Any of such the states becomes real deadlock provided it is reachable, the issue connected with dynamic aspect of the PN in question. Now we are prepared to formalize the procedure, based on the method developed so far, as far as deadlock analysis is concerned. We do it in the form of a procedure.</p><p>DA(N 0 ):Algorithm for doing the deadlock analysis of Nets (P/T nets).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Input:</head><p>Petri Net (P/T net) N 0 = (P, T.pre, post, m 0 ), of the type</p><p>Method is based on the results achieved in the analysis of nature of ωcoordinates, that occur in ω macrostates ρ = ω A q. Approach is based on interpretation of any such ω macrostate ρ = ω A q as a representaion of the poset of reachable states in PN N 0 , having minimal or the least elements (MoL states). The special procedure CanM(N 0 ) is used for creation of the set of potential deadlocks of PN N 0 . Body of the algorithm: </p></div>			</div>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Petri Nets: Properties, Analysis and Applications</title>
		<author>
			<persName><forename type="first">T</forename><surname>Murata</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the IEEE</title>
				<meeting>the IEEE</meeting>
		<imprint>
			<date type="published" when="1989">1989</date>
			<biblScope unit="volume">77</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">On Reachability Graphs of Petri Nets</title>
		<author>
			<persName><forename type="first">Y</forename><surname>Xinning</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Xiaoyu</forename><forename type="middle">S</forename><surname>Jiantaoz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Computers &amp; Electrical Engineering</title>
		<imprint>
			<biblScope unit="volume">29</biblScope>
			<biblScope unit="page" from="263" to="272" />
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<title level="m" type="main">Extensions to Petri Nets</title>
		<author>
			<persName><forename type="first">Š</forename><surname>Hudák</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1980">1980</date>
			<biblScope unit="page">107</biblScope>
			<pubPlace>TU Košice</pubPlace>
		</imprint>
	</monogr>
	<note type="report_type">Habilitation Thesis</note>
	<note>in Slovak</note>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">The Recursive Decidability of the Reachability Problem for Vector Addition Systems</title>
		<author>
			<persName><forename type="first">Š</forename><surname>Hudák</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ASMM/84</title>
				<meeting><address><addrLine>Tyne, England</addrLine></address></meeting>
		<imprint>
			<date type="published" when="1981">1981</date>
			<biblScope unit="page">78</biblScope>
		</imprint>
		<respStmt>
			<orgName>Computing Laboratory ; The University of Newcastle upon</orgName>
		</respStmt>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">On the Reachability Problem for Vector Addition Systems</title>
		<author>
			<persName><forename type="first">Š</forename><surname>Hudák</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of The Second European Workshop on Application and Theory of Petri Nets</title>
				<meeting>The Second European Workshop on Application and Theory of Petri Nets<address><addrLine>Bad Honnef, Germany</addrLine></address></meeting>
		<imprint>
			<date type="published" when="1981">1981</date>
			<biblScope unit="page">38</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Reachability Analysis of Systems Based on Petri Nets</title>
		<author>
			<persName><forename type="first">Š</forename><surname>Hudák</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">elfa s.r.o</title>
				<meeting><address><addrLine>Košice</addrLine></address></meeting>
		<imprint>
			<date type="published" when="1999">1999</date>
			<biblScope unit="page">272</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Deadlock Analysis of Place/Transition Nets</title>
		<author>
			<persName><forename type="first">Š</forename><surname>Hudák</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="s">Manuscript, DCI FEI TU</title>
		<imprint>
			<biblScope unit="volume">79</biblScope>
			<date type="published" when="2010">2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<monogr>
		<title level="m" type="main">Petri Nets: An Introduction</title>
		<author>
			<persName><forename type="first">W</forename><surname>Reisig</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1985">1985</date>
			<publisher>Springer Verlag</publisher>
			<pubPlace>Heidelberg</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">The Decidability of the Reachability Problem for Vector Addition Systems (preliminary version)</title>
		<author>
			<persName><forename type="first">G</forename><forename type="middle">S</forename><surname>Sacerdote</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Tenney</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 9th Ann. ACM Symposium on Theory of Computing</title>
				<meeting>the 9th Ann. ACM Symposium on Theory of Computing<address><addrLine>New York</addrLine></address></meeting>
		<imprint>
			<date type="published" when="1977">1977</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">On the Reachability Problem for Persistent Vector Replacement Systems</title>
		<author>
			<persName><forename type="first">H</forename><surname>Muller</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Parallel Processes and Related Automata</title>
				<editor>
			<persName><forename type="first">H</forename><surname>Knodel</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">H</forename><forename type="middle">J</forename><surname>Schneider</surname></persName>
		</editor>
		<imprint>
			<date type="published" when="1981">1981</date>
			<biblScope unit="volume">3</biblScope>
			<biblScope unit="page" from="89" to="104" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">An Algorithm for the General Reachability Problem in Petri Nets</title>
		<author>
			<persName><forename type="first">E</forename><forename type="middle">W</forename><surname>Mayr</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">SIAM J. of Computing</title>
		<imprint>
			<biblScope unit="volume">13</biblScope>
			<date type="published" when="1984">1984</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Decidability of Reachability in Vector Addition Systems</title>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">R</forename><surname>Kosaraju</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. 14th Annual ACM STOC</title>
				<meeting>14th Annual ACM STOC</meeting>
		<imprint>
			<date type="published" when="1982">1982</date>
			<biblScope unit="page" from="267" to="281" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Generalizations of Petri Nets</title>
		<author>
			<persName><forename type="first">R</forename><surname>Valk</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">MFCS 1981</title>
				<editor>
			<persName><forename type="first">J</forename><surname>Gruska</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">M</forename><surname>Chytil</surname></persName>
		</editor>
		<imprint>
			<date type="published" when="1981">1981</date>
			<biblScope unit="volume">118</biblScope>
			<biblScope unit="page" from="140" to="155" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">Parallel Program Schemata</title>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">M</forename><surname>Karp</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">E</forename><surname>Miller</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Computer and System Sciences</title>
		<imprint>
			<biblScope unit="volume">3</biblScope>
			<biblScope unit="page" from="147" to="195" />
			<date type="published" when="1969">1969</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<monogr>
		<title level="m" type="main">Vector Replacement Systems: A formaism for Modeling Asynhronous Problms</title>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">M</forename><surname>Keller</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1972">1972</date>
		</imprint>
		<respStmt>
			<orgName>Princeton University</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Technical Report 117</note>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">A Support Tool for the Reachability and Other Petri Nets-Related Problems and Formal Design and Analysis of Discrete Systems</title>
		<author>
			<persName><forename type="first">Š</forename><surname>Hudák</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Problems in Programming</title>
		<idno type="ISSN">1727-4907</idno>
		<imprint>
			<biblScope unit="volume">20</biblScope>
			<biblScope unit="page" from="613" to="621" />
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">De/compositional Reachability Analysis</title>
		<author>
			<persName><forename type="first">Š</forename><surname>Hudák</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Electrical Engineering</title>
		<idno type="ISSN">0013-578X</idno>
		<imprint>
			<biblScope unit="volume">45</biblScope>
			<biblScope unit="page" from="424" to="431" />
			<date type="published" when="1994">1994</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<monogr>
		<title level="m" type="main">Discrete Mathematical Structures and Their Applications</title>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">S</forename><surname>Stone</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1973">1973</date>
			<publisher>Science Research Associates Inc</publisher>
			<biblScope unit="page">402</biblScope>
			<pubPlace>Chicago</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<monogr>
		<title level="m" type="main">Semantics of Sequential and Parallel Programs</title>
		<author>
			<persName><forename type="first">E</forename><surname>Best</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1996">1996</date>
			<publisher>Prentice Hall Europe</publisher>
			<biblScope unit="page">352</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<monogr>
		<title level="m" type="main">Formal Languages and Their Relations to Automata</title>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">V</forename><surname>Aho</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">E</forename><surname>Hopcroft</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">D</forename><surname>Ullman</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1969">1969</date>
			<publisher>Addison Wesley</publisher>
			<pubPlace>Reading, Mass</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<monogr>
		<title level="m" type="main">The B Language and Method. A Guide to Practical Formal Development</title>
		<author>
			<persName><forename type="first">K</forename><surname>Lano</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1996">1996</date>
			<publisher>Springer-Verlag</publisher>
			<biblScope unit="page">232</biblScope>
			<pubPlace>London</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
