Next Article in Journal
Fractional-Order MFAC with Application to DC Motor Speed Control System
Previous Article in Journal
A Unified Control System with Autonomous Collision-Free and Trajectory-Tracking Abilities for Unmanned Surface Vessels Under Effects of Modeling Certainties and Ocean Environmental Disturbances
Previous Article in Special Issue
Study on Single-Machine Common/Slack Due-Window Assignment Scheduling with Delivery Times, Variable Processing Times and Outsourcing
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Control Law for Two-Process Flexible Manufacturing Systems Modeled Using Petri Nets

1
School of Electro-Mechanical Engineering, Xidian University, Xi’an 710071, China
2
School of Automation and Electrical Engineering, Lanzhou Jiaotong University, Lanzhou 730070, China
3
Department of Electronic and Optical Engineering, Aerospace Engineering University, Beijing 101416, China
*
Author to whom correspondence should be addressed.
Mathematics 2025, 13(4), 611; https://doi.org/10.3390/math13040611
Submission received: 5 August 2024 / Revised: 4 November 2024 / Accepted: 29 January 2025 / Published: 13 February 2025
(This article belongs to the Special Issue Systems Engineering, Control, and Automation, 2nd Edition)

Abstract

:
The deadlock control problem in flexible manufacturing systems (FMSs) has received much attention in recent years. The formalism of the Petri net is employed to effectively model, analyze, and control deadlocks in an FMS case study. There are many kinds of deadlock prevention strategies based on the Petri net approach, where computational complexity is a major problem that needs to be considered. Based on the Petri net theory, this paper focuses on the two special subclasses in the S 3 PR net, namely the dual-process S 3 PR and the dual-process US 3 PR, in a bid to prevent deadlocks in an FMS. The relationship between the net structural characteristics and the deadlocks reached was analyzed, and then a regular method of adding controllers for these two models was proposed to reduce computational complexity.

1. Introduction

In flexible manufacturing systems (FMSs) [1,2], a resource is usually shared by different processes. If the resource allocation is not appropriate, the system may move to deadlocks [3], where any deadlock makes the whole system or part of the system unable to be operated, and indirectly causes incalculable economic losses or other catastrophic consequences. Therefore, a deadlock is a situation that FMSs should avoid. The description, analysis, solution, and control of deadlocks in FMSs are undoubtedly of vital importance to ensure the normal operation of the system.
The Petri net theory [4,5] has a strict mathematical expression and intuitive graphical expression, and is often used for the modeling, deadlock analysis, and control of FMSs. In the Petri net theory, there mainly exist three approaches for solving the deadlock problem: deadlock detection and recovery [6], deadlock avoidance [7,8], and deadlock prevention [9,10,11]. The reachability graph analysis method [12,13,14] is a fundamental technique for deadlock prevention, which provides complete and detailed information about the dynamic behavior of Petri nets since all-state place enumeration is considered. Moreover, the structural analysis method [15,16,17,18] is marking-independent and only depends on the place–transition relationship of the underlying net by the flow relation. Uzam and Zhou [19] proposed an active controller design method using the iterative method. The proposed method simplifies the calculation of the control places, but it cannot guarantee optimal controllability and solves the reachability graph repeatedly. In addition, Chen et al. [20] propose another iterative controller design method, which has higher computational efficiency and achieves optimal control. In the proposed method, first, the minimum cover sets of legal and first-time damaged identifiers are obtained by vector coverage. Second, by solving an integer linear programming problem, a P-invariant is designed to prevent the system from reaching the first-time damaged identifier, and then the illegal identifier is forbidden. Finally, the optimal controller of the system is obtained.
Siphons are closely related to deadlock on structural analysis [21]. Once a siphon is emptied, all transitions related to the siphon in the net become dead, and then the system is blocked. Therefore, siphon control is a typical deadlock prevention strategy based on structure analysis. Ezpeleta et al. [22] define the system of simple sequential processes with resources ( S 3 PR), and propose a controller design method for adding control places to all strict minimal siphons to avoid the result that siphons become emptied. The proposed method realizes the active control of the net but, for the large-scale net, a large number of control places need to be added, which makes the net structure extremely complex. Huang et al. [23] propose an iterative deadlock control strategy based on S 3 PR, where the strategy is divided into two stages. One is siphon control, and the other is control-induced siphon control. To reduce the complexity of the model structure, Li et al. [24] propose the concepts of the basic siphon and subordinate siphon, proving that the controllability of the subordinate siphon can be guaranteed by the controllability of the basic siphon if the basic siphon is controlled under certain conditions. Additionally, they propose the method of adding controllers to basic siphons as controlled places, which reduces the scope of controlled places, the computational complexity, and structural complexity, and is more suitable for large-scale Petri nets, compared with the method proposed in [22]. In addition to adding control places from the siphon point of view, Xing et al. [25] utilize the resource transition (RT) circuits of S 3 PR to describe the deadlock of the system, where a deadlock state occurs if a maximal perfect RT-circuit (MPRTC) is saturated, and a controller is designed to retain the maximally permissive behavior of S 3 PR without ξ resources. However, the method has to face the problems of computational complexity and structural complexity. Liu et al. [26] put forward the concept of transition coverage, and prove that an active Petri net controller can be obtained only by controlling the maximal perfect RT-circuit under change coverage. As a result, the proposed method reduces the computational complexity of controlling and structural complexity of the net.
This paper studies dual-process S 3 PR and dual-process US 3 PR and analyzes the relationship between their structural characteristics and deadlock, where the control places are added to form the P-invariant with the activity places in the original net to realize deadlock prevention. The relationship between the control places and the net size is that the two special subclasses have fixed control laws. For a given dual-process S 3 PR and a dual-process US 3 PR, there is no need for the complex calculation of siphons or RTC, since control places can be directly added to the net to ensure that the system is alive.
The contributions of the paper are twofold as follows.
  • This study introduces the concept of encounter place pair and encounter state in the dual-process S 3 PR, and the relationship between the encounter state and deadlock is analyzed. When the initial marking of the resource place is 1, the addition of control places prevents the occurrence of encounter states, progressive encounter states, and blocked states, ensuring that the net is live and maximally permissive. Moreover, the control law of dual-process S 3 PR is summarized.
  • This paper utilizes the concept of US 3 PR and analyzes the relationship between a saturated pair of encounter paths and deadlock in dual-process US 3 PR. As a result, the optimal active-controlled system is obtained by adding control places. The mathematical relationship between the number of independent resource holder loops and the number of control places in the dual-process US 3 PR is analyzed, and the control law of the dual-process US 3 PR is obtained indirectly.

2. Preliminaries

2.1. Petri Nets

A Petri net (PN) is a four-tuple N = ( P , T , F , W ) , where P and T are non-empty and finite sets of elements named places and transitions, and P T = . F is a flow relation set of a PN, where F ( P × T ) ( T × P ) is represented by directed arcs pointing from transitions to places (or places to transitions). Let N denote the set of non-negative integers. W: F N represents a map that assigns a non-negative integer number (weight) to each arc in F, i.e., W ( i , j ) > 0 if ( i , j ) F , else W ( i , j ) = 0 . A PN N = ( P , T , F , W ) is ordinary, if, for all ( i , j ) F , W ( i , j ) = 1 .
M is a marking of a PN, which is a map: P N . For a place p P , M ( p ) represents the quantity of tokens in it. A place p is marked, if M ( p ) > 0 . A subset P s P is marked if there exists at least one place p P s marked by M. M ( P s ) = p S M ( p ) . ( N , M 0 ) is said to be a marked net with M 0 being called an initial marking.
Let i P T be an element of a PN N = ( P , T , F , W ) . i = { j P T ( j , i ) F } is the preset of i; i = { j P T ( i , j ) F } is the the postset of i. The previous notation is extended to sets of nodes; if I P T , I = i I i , then I = i I i . If, for all x { 1 , 2 , , n 1 } : i x + 1 i x , a path i 1 i n of N is defined as a string i 1 , , i n , where i { i 1 , , i n } , i P T . A path i 1 i n is an elementary path, if all nodes of it are different (except, perhaps, i 1 and i n ). A path i 1 i n is a circuit if it is an elementary path and i 1 = i n .
A transition t T is enabled at a marking M if, for all p t , M ( p ) W ( p , t ) , which is denoted by M [ t . Firing t to a new marking M such that for all p P , M ( p ) = M ( p ) W ( p , t ) + W ( t , p ) , denoted by M [ t M . If there is a sequence of transitions σ = t 0 t 1 t n as well as markings M 1 , M 2 M n , such that M [ t 0 M 1 [ t 1 M 2 M n [ t n M holds, we can say M is reachable from marking M. R ( N , M ) is called the reachability set which denotes all the markings reachable from M in ( N , M ) . A reachability graph of a net is denoted as R G . A PN N = ( P , T , F , W ) is called a state machine if, for all t T , | t | = | t | = 1 .
A net N = ( P , T , F , W ) is pure if, for all x , y P T , W ( x , y ) > 0 implies W ( y , x ) = 0 . It can be noticed that a pure PN N = ( P , T , F , W ) is able to be represented by an incidence matrix [ N ] , where [ N ] ( p , t ) = W ( t , p ) W ( p , t ) . This incidence matrix [ N ] can be divided into two parts: [ N ] = Post−Pre, where Post ( p , t ) = W ( t , p ) and Pre ( p , t ) = W ( p , t ) are called the output matrix and input matrix, respectively.
Given a PN ( N , M 0 ), t T is live under M 0 if M R ( N , M 0 ) , M R ( N , M ) ,   M [ t . ( N , M 0 ) is live if t T , t is live under M 0 . ( N , M 0 ) is dead under M 0 if t T , M 0 [ t .
A P-vector is a column vector I : P Z indexed by P, where Z is the set of integers. The P-vector I is called a P-invariant (place invariant) if I 0 and I T [ N ] = 0 T . The P-invariant I is a P-semiflow if every element of I is non-negative. I = { p P | I ( p ) 0 } is called the support of I.
Let S be a non-empty subset of places. S is called a siphon (trap) if S S ( S S ) holds. A siphon is said to be minimal if there is no siphon contained in it as a proper set. A minimal siphon is said to be strict if it does not contain a trap. A strict minimal siphon is denoted as SMS for short. Π denotes the set of SMSs in a PN.

2.2. S 3 PR

The system considered can be modeled as a system of simple sequential processes with resources ( S 3 PR) if there is no unreliable resource. The definition of S 3 PR is briefly introduced as follows.
Definition 1
([22]). Let ( N 1 , M 1 ) and ( N 2 , M 2 ) be PNs with N 1 = ( P 1 , T 1 , F 1 , W 1 ) and N 2 = ( P 2 , T 2 , F 2 , W 2 ) , where P 1 P 2 = P C and T 1 T 2 = . The net ( N , M ) with N = ( P , T , F , W ) is said to be the resultant of composing ( N 1 , M 1 ) and ( N 2 , M 2 ) via the set of shared places P C if (1) P = P 1 P 2 , T = T 1 T 2 , F = F 1 F 2 , and W ( x , y ) = W i ( x , y ) if ( x , y ) F i , i = 1 , 2 ; and (2) p P 1 P C , M ( p ) = M 1 ( p ) , p P 2 P C , M ( p ) = M 2 ( p ) , and p P C , M ( p ) = m a x { M 1 ( p ) , M 2 ( p ) } . The composition of N 1 and N 2 is denoted by N 1 N 2 .
Definition 2
([22]). A system of simple sequential processes with resources ( S 3 PR) is the PN N = i = 1 n N i = ( P A , { p 0 } , P R , T , F ) defined as the union of a set of nets N i = ( P A i , { p i 0 } , P R i ; T i ; F i ) sharing common places, where the following statements are true:
  • p i 0 is called the process idle place of N i . Elements in P A i and P R i are called activity or operation and resource places, respectively. A resource place is called a resource for short in case of no confusion.
  • P R i ; P A i ; { p i 0 } P A i ; ( P A i { p i 0 } ) P R i = ; p P A i , t p , t p , r p P R i , t P R i = t P R i = { r p } ; r P R i , r P A i = r P A i ; r P R i , r r = ; and { p i 0 } P R i = .
  • N ¯ i is a strongly connected state machine, where N i ¯ = ( P A i , { p i 0 } , P R i ; T i ; F i ) is the resulting net after the places in P R i and related arcs are removed from N i and F i = F i { [ ( P A i { p i 0 } ) × T i ] [ T i × ( P A i { p i 0 } ) ] } .
  • Every circuit of N i ¯ contains place p i 0 .
  • Any two N i ¯ s are composable when they share a set of common places. Every shared place must be a resource.
  • Transitions in { p i 0 } and { p i 0 } are called the source and sink transitions of an S 3 PR, respectively.
Definition 3
([22]). A PN N = ( P A { p 0 } P R , T , F ) is an S 3 PR and let S be an SMS in N. S R = S P R and S A = S S R represent the set of resource places and the set of activity places in S, respectively. For r P R , H ( r ) = r P A is called the set of holders of r, which means that these activity places in H ( r ) need resource r. Let [ S ] = r S R H ( r ) S and it is called the complementary set of siphon S.
Figure 1 is an S 3 PR that has eleven places and eight transitions, where { p 1 0 } = { p 1 } , { p 2 0 } = { p 5 } , P A 1 = { p 2 , p 3 , p 4 } P A 2 = { p 6 , p 7 , p 8 } , and P R = { p 9 , p 10 , p 11 } . The sets S 1 = { p 3 , p 8 , p 9 , p 10 } , S 2 = { p 4 , p 7 , p 10 , p 11 } , and S 3 = { p 4 , p 8 , p 9 , p 10 , p 11 } are three SMSs for the PN. According to Definition 3, we have H ( r 1 ) = { p 2 , p 8 } , H ( r 2 ) = { p 3 , p 7 } , and H ( r 3 ) = { p 4 , p 6 } , which means that places p 2 and p 8 can use resources in r 1 , p 3 and p 7 can use resources in r 2 , and resources in r 3 can be used by places p 4 and p 6 . Their complementary sets are [ S 1 ] = { p 2 , p 7 } , [ S 2 ] = { p 3 , p 6 } , and [ S 3 ] = { p 2 , p 3 , p 6 , p 7 } , respectively.
Definition 4
([22]). Let N = ( P A { p 0 } P R , T , F ) be an S 3 PR, and x and y are two different nodes in P A T . (1) A path in N that merely contains activity places in P A and transitions in T is called an operation path. (2) If there exists an operation path in N from x to y, it is said that x is previous to y in N, which is denoted as x < N y . (3) Let A ( P A T ) . If there is a node y A with x < N y , we can obtain x < N A . If there exists a node y A such that y < x N , then A < x N .
Let us consider the net shown in Figure 1, where p 1 t 1 p 2 t 2 p 3 t 3 p 4 t 4 p 1 is a circuit and p 2 t 2 p 3 t 3 is a path in this circuit. Clearly, we have p 2 < p 3 N .

3. Control Law for Dual-Process S 3 PR

In the Petri net-based deadlock prevention strategy, computational complexity is a problem that needs to be faced. This section proposes a regular method by adding control places for the dual-process S 3 PR model, which avoids the calculation of siphons or reachable graphs. First, the concept of the dual-process S 3 PR and its encounter state are introduced. Then, the activity analysis of this special model is carried out, and the activity of the model is guaranteed by adding the control places, and then the control law of such model is obtained.

3.1. Dual-Process S 3 PR and Encounter State

Definition 5.
Let N = ( P A P 0 P R , T , F ) be a normal S 3 PR; it is called a dual-process S 3 PR if
  • | P 0 | = 2 ;
  • | P A 1 | = | P A 2 | = | P R | ;
  • p P A P 0 , | p | = | p | = 1 ;
  • (a) p 1 0 P A = { p } , p 2 0 P A = { p } , p P R = p P R ; (b) p 1 P A 1 , p 2 P A 2 , p 1 P A = { p 1 } , p 2 P A = { p 2 } ; if p 1 P R = p 2 P R , so p 1 P R = p 2 P R .
Given a dual-process S 3 PR net, the subscripts of places and transitions are arbitrary but, for the convenience of description, they need to be initialized in this chapter. Based on the definition in the previous section, Algorithm 1 is proposed to formalize the subscript initialization method for a dual-process S 3 PR, where Line 1 defines the output N = ( P A P 0 P R , T , F ) . According to the rules, all places p and transitions t are numbered in Lines 2–24. The flow relations f remain unchanged in Lines 25–27. When the number of the resource places is n ( n N + ) : P 0 = { p 1 } { p n + 2 } , P A 1 = { p 2 , p 3 , , p n + 1 } , P A 2 = { p n + 3 , p n + 4 , , p 2 n + 2 } , P R = { r 1 , r 2 , , r n } , T = { t 1 , t 2 , , t 2 n + 2 } . In addition, p 1 0 corresponds to circuit C 1 = p 1 t 1 p 2 t 2 p 3 · · · t n p n + 1 t n + 1 p 1 and p 2 0 corresponds to circuit C 2 = p n + 2 t n + 2 p n + 3 t n + 3 p n + 3 · · · t 2 n + 1 p 2 n + 2 t 2 n + 2 p n + 2 , where C 1 and C 2 represent process 1 and process 2, respectively. When a token is fired from the idle place and then returns to the idle place through the circuit C 1 or C 2 , the process ends normally. For instance, Figure 2 displays a subscript-initialized dual-process S 3 PR.
Definition 6.
Let x 1 x 2 · · · x n be an elementary process path in a dual-process S 3 PR; T x 1 x n = { y | y { x 1 , x 2 , · · · , x n } T } is said to be the transition set from x 1 to x n ; P x 1 x n = { y | y { x 1 , x 2 , · · · , x n } P } is said to be the place set from x 1 to x n .
Algorithm 1: The subscript initialization method for a dual-process S 3 PR
Mathematics 13 00611 i001
Definition 7.
Let N = ( P A P 0 P R , T , F ) be a dual-process S 3 PR; { r , r } P R , { t , t } T ; ordered pair ϕ r = ( r , r ) is said to be an adjacent resource place pair and ordered pair ϕ m t = ( t , t ) is said to be an encounter transition pair if ( r r ) T 1 = { t } and ( r r ) T 2 = { t } ; ordered pair ϕ m p = ( p , p ) is said to be an encounter place pair if t P A = { p } and t P A = { p } .
According to Definitions 2 and 5, in a dual-process S 3 PR net, for t T , firing t will consume one token of r P R and, if t T 1 { p 1 0 p 1 0 } and t T 2 { p 2 0 p 2 0 } , firing t will consume one token of r and release one token of r. So, the intersections ( r r ) T 1 = { t } and ( r r ) T 2 = { t } are not empty.
Definition 8.
Let ( N , M 0 ) = ( P A P 0 P R , T , F , M 0 ) be a marked dual-process S 3 PR, ϕ r be an adjacent resource place pair in N, ϕ m p be an encounter place pair associated with ϕ r , and M R ( N , M 0 ) ; M is said to be an encounter state marking if M ( ϕ m p ) = M 0 ( ϕ r ) , noted as M e .
A dual-process S 3 PR net removes the idle places and the associated directed arcs; the subnet shown in Figure 3, ( r 1 r 2 ) T 1 = { t 2 } , ( r 1 r 2 ) T 2 = { t 5 } . ϕ r = ( r 1 , r 2 ) is the adjacent resource place pair; ϕ m t = ( t 2 , t 5 ) is the encounter transition pair. t 2 P A = { p 1 } , t 5 P A = { p 3 } , so the encounter place pair is ϕ m p = ( p 1 , p 3 ) .
Figure 3a shows the subnet with non-encounter state marking, where M ( ϕ m p ) = M ( p 1 ) + M ( p 3 ) = 0 , M ( ϕ m p ) M 0 ( ϕ r ) ; the encounter place pair does not occupy the token in the associated adjacent resource place pair. Figure 3b shows the subnet with encounter state marking, where M ( ϕ m p ) = M ( p 1 ) + M ( p 3 ) = M 0 ( r 1 ) + M 0 ( r 2 ) = M 0 ( ϕ r ) ; the encounter place pair occupies all the tokens in the adjacent resource place pair associated with it.
Theorem 1.
Given a marked dual-process S 3 PR ( N , M 0 ) , if M e R ( N , M 0 ) , then deadlocks will occur in it.
Proof. 
According to Definition 5, in the case of ϕ m t = ( t , t ) , firing t will consume one token of r and release one token of r. Similarly, firing t will consume one token of r and release one token of r . If M is an encounter state marking, M ( ϕ m p ) = M 0 ( ϕ r ) , M ( r ) = M ( r ) = 0 , the places of the encounter place pair occupy all tokens in the adjacent resource place pair associated with it. Thus, both t and t cannot fire, and deadlocks occur in the dual-process S 3 PR.    □
Figure 4a shows a dual-process S 3 PR with encounter state marking M e . For adjacent resource place pair ϕ r = ( r 2 , r 3 ) , ϕ m p = ( p 3 , p 8 ) is the encounter place pair associated with it; M ( p 3 ) = M 0 ( r 2 ) = 1 , M ( p 8 ) = M 0 ( r 3 ) = 1 , and M ( r 2 ) = M ( r 3 ) = 0 , ϕ m p = ( p 3 , p 8 ) occupy all tokens in ϕ r = ( r 2 , r 3 ) , so t 5 and t 8 cannot be fired; thus, r 2 and r 3 cannot obtain the tokens again, and t 2 and t 7 cannot be fired similarly, forming a circular wait. In other words, a deadlocks occur in this net. But t 1 is enabled in circuit C 1 , and t 6 is enabled in circuit C 2 , so the net is not dead. If t 1 and t 6 are fired, all resource places in the net have no tokens, all transitions cannot be fired, and it means the net is dead, as shown in Figure 4b.

3.2. Control Law for Dual-Process S 3 PR with M 0 ( r ) Equals to 1

Definition 9.
Given a marked dual-process S 3 PR ( N , M 0 ) = ( P A P 0 P R , T , F , M 0 ) , where ( r P R ) M 0 ( r ) = 1 , let ϕ m p = ( p i , p j ) be an encounter place pair of N. The order pair ϕ l p = ( p , p ) is said to be a progressive encounter place pair if ϕ l p ϕ m p , where p P p 2 p i , p P p n + 3 p j , and Φ l p denotes the set of all progressive encounter place pairs of N.
Definition 10.
Let ( N , M 0 ) = ( P A P 0 P R , T , F , M 0 ) be a marked dual-process S 3 PR, where ( r P R ) M 0 ( r ) = 1 . Assume that ϕ l p = ( p , p ) is a progressive encounter place pair; then, M R ( N , M 0 ) is a progressive encounter state marking if M ( p ) = M ( p ) = 1 , noted as M p e .
Theorem 2.
Given a marked dual-process S 3 PR ( N , M 0 ) = ( P A P 0 P R , T , F , M 0 ) , where ( r P R ) M 0 ( r ) = 1 , and M p e R ( N , M 0 ) , then there is a sequence of transitions σ, satisfying M p e [ σ M e .
Proof. 
In the marked dual-process S 3 PR ( N , M 0 ) , if M 0 [ σ M p e , it means that both processes 1 and 2 have artifacts entering the system. Since the initial marking of every resource place is 1, and the order of use of resources by processes 1 and 2 is reversed, if there are workpieces in both processes, then, after a certain transition sequence is transmitted, the two workpieces will inevitably enter the encounter places, denoted by M p e [ σ M e .    □
As shown in Figure 5a, the place pair ( r 1 , r 2 ) is an adjacent resource place pair and ( p 2 , p 9 ) is an encounter place pair associated with it, ( p 2 , p 8 ) is a progressive encounter place pair according to Definition 9, and M ( p 2 ) = M ( p 8 ) = 1 is a progressive encounter state marking according to Definition 10. The transitions t 2 , t 6 , t 8 can be fired at this moment. When t 8 is fired, M ( p 2 ) = M ( p 9 ) = 1 is an encounter state marking, which is shown in Figure 5b. The transitions t 1 , t 2 , t 3 , t 4 , t 5 , t 7 , t 8 , t 9 , t 10 cannot be fired; only t 6 can be fired at this moment. Then, firing a sequence of transitions σ = t 6 t 7 t 6 , the whole net is dead; all the transitions cannot be fired.
Definition 11.
Let ( N , M 0 ) = ( P A P 0 P R , T , F , M 0 ) be a marked dual-process S 3 PR, where ( r P R ) M 0 ( r ) = 1 . Let Φ p = Φ m p Φ l p denote the set of all encounter place pairs and progressive encounter place pairs, where ϕ p i Φ p ( i N + ) . ( N V , M V 0 ) = ( P A P 0 P R P V , T , F F V , M V 0 ) is defined as a marked controlled net of ( N , M 0 ) , where
  • P V = { V ϕ p i | ϕ p i Φ p } ;
  • F V = F V ϕ p 1 F V ϕ p 2 · · · F V ϕ p n , where F V ϕ p i = { ( V ϕ p i , t ) | t p , p ϕ p i } { ( t , V ϕ p i ) | t p , p ϕ p i } ;
  • (a) p P A P 0 P R , M 0 V ( p ) = M 0 ( p ) ; (b) V P V , M 0 V ( V ) = 1 .
Theorem 3.
Let ( N , M 0 ) be a marked dual-process S 3 PR, where ( r P R ) M 0 ( r ) = 1 ; according to Definition 11, the marked controlled net ( N V , M 0 V ) obtained by adding control places to ( N , M 0 ) is live and maximally permissive.
Proof. 
In a marked dual-process S 3 PR ( N , M 0 ) where ( r P R ) M 0 ( V ) = 1 , the marked controlled net ( N V , M 0 V ) is obtained by adding control places to ( N , M 0 ) . For every reachable marking M R ( N , M 0 ) , the control place and the encounter place pair or progressive encounter place pair constitute the P-invariant. With M 0 ( V ) = 1 , for all p P A 1 and p P A 2 , the condition is satisfied: M ( p ) + M ( p ) 1 . Consequently, when the workpiece enters a process, it prevents another process from having a workpiece. At this point, the operation of the entire system is equivalent to a simple sequential process with resources S 2 PR. The circular wait condition can never be met, ensuring that ( N V , M 0 V ) is live.
Because V P V , M 0 V ( V ) = 1 , when comparing the marked controlled net ( N V , M 0 V ) to the marked dual-process S 3 PR ( N , M 0 ) , in the reachable graph, only the encounter state marking and the progressive encounter state marking are eliminated, preserving all markings except the two special markings. Simultaneously, the encounter state marking and the progressive encounter state marking can lead to system deadlock or inevitably generate deadlock, corresponding to the dead marking and the bad marking in the reachable graph of ( N , M 0 ) . The marked controlled net ( N V , M 0 V ) removes only the dead marking and the bad marking compared to the marked dual-process S 3 PR ( N , M 0 ) , retaining all legal markings, making ( N V , M 0 V ) maximally permissive.    □
Referring to Definition 11, Algorithm 2 outlines the controller design for a marked dual-process S 3 PR ( N , M 0 ) where ( r P R ) M 0 ( V ) = 1 . The procedure begins with initializing the dual-process S 3 PR to obtain ( N , M 0 ) in Line 1. Subsequently, it calculates the sets of all encounter place pairs Φ m p and progressive encounter place pairs Φ l p for N in Lines 2–3. The set of controlled places, P V , is determined as the union of Φ m p and Φ l p in Line 4. Following Definition 11, controlled places are systematically added to N in Lines 5–8. The resulting controlled net ( N V , M 0 V ) is then generated in Lines 9–10. According to Theorem 3, the controlled net ( N V , M 0 V ) , established by introducing control places to ( N , M 0 ) , ensures both liveness and maximal permissiveness.
Algorithm 2: A controller of a marked dual-process S 3 PR ( N , M 0 ) where ( r P R ) M 0 ( V ) = 1
Mathematics 13 00611 i002
Theorem 4.
In a marked dual-process S 3 PR ( N , M 0 ) where ( r P R ) M 0 ( V ) = 1 , | P R | = n ( n N + ) , the control law is outlined in Table 1. According to this law, the optimal controller can be derived without the need to calculate siphons and reachable graphs of the dual-process S 3 PR. The number of control places, denoted as x, is related to the number of resource places n:
x = n ( n 1 ) 2 .
Proof. 
In a marked dual-process S 3 PR ( N , M 0 ) where ( r P R ) M 0 ( V ) = 1 , | P R | = n ( n N + ) , we determine the encounter state marking and the progressive encounter state marking of the net. For the operation place p 2 , it forms an encounter place pair ϕ m p = ( p 2 , p 2 n + 1 ) with p 2 n + 1 and ( n 2 ) progressive encounter place pairs with p P p n + 3 p 2 n + 1 , where ϕ l p 1 = ( p 2 , p 2 n ) , ϕ l p 2 = ( p 2 , p 2 n 1 ) , ϕ l p ( n 2 ) = ( p 1 , p n + 3 ) . To prevent encounter state markings and progressive encounter state markings, ( n 1 ) control places need to be added. Similarly, for the operation place p 3 , it forms an encounter place pair ϕ m p = ( p 3 , p 2 n ) with p 2 n and ( n 3 ) progressive encounter place pairs with p P p n + 3 p 2 n , requiring ( n 2 ) control places to be added. This pattern continues and, for the operation place p n , it only forms an encounter place pair ϕ m p = ( p n , p n + 3 ) with p n + 3 , necessitating the addition of one control place. In summary, the number of control places is
x = ( n 1 ) + ( n 2 ) + + 1 = n ( n 1 ) 2 .
Example 1.
In Figure 6, a marked dual-process S 3 PR ( N , M 0 ) is depicted, where ( r P R ) M 0 ( V ) = 1 , | P R | = 5 , and there are four pairs of adjacent resource places denoted as Φ r = { ( r 1 , r 2 ) , ( r 2 , r 3 ) , ( r 3 , r 4 ) , ( r 4 , r 5 ) } . The net comprises 112 reachable states, with 63 being good states; for example, M = p 2 + p 3 + p 4 + p 5 + p 6 + 5 p 7 is a good state, but M = 4 p 1 + p 2 + p 7 + p 8 + p 9 + p 10 + p 11 is a dead state. If not controlled, the net will inevitably enter a dead state. By substituting n = 5 into Table 1, 10 control places are obtained, as illustrated in Table 2. The controlled net is live, with the number of reachable states being 63, and it is maximally permissive. To further test the control law shown in Table 1, control places are added to some large dual-process S 3 PR, and the results are displayed in Table 3.

4. Control Law for Dual-Process US 3 PR

Dual-process S 3 PR net is a special subclass of S 3 PR net, where every resource place is held by two processes and the two processes use the resource in reverse order. However, for a manufacturing system with resources that are only employed by one process, the dual-process S 3 PR net cannot model and analyze it. This section studies the activity analysis and control laws of another special S 3 PR subclass: the dual-process unitary S 3 PR ( US 3 PR) net.
Definition 12
([18]). Let θ be a circuit in an S 3 P R ( N , M 0 ) ; it is called a resource–transition circuit (RT-circuit) if it contains resource places and transitions only.
Definition 13
([18]). In an S 3 P R ( N , M 0 ) , assuming that there exist two RT-circuits θ 1 and θ 2 , then r = R ( θ 1 ) R ( θ 2 ) is called a ξ-resource if M 0 ( r ) = 1 .
Definition 14
([17]). In the context of an S 3 P R ( N , M 0 ) , a resource r P R is termed independent if there is no strict minimal siphon S such that H ( r ) S A ; otherwise, if such a siphon exists, r is considered dependent. The set of independent resources in P R is denoted by S in R .
Definition 15
([18]). Given a resource r P R in an S 3 PR, an associated holder–resource circuit (HR-circuit), denoted by H ( r ) , is a simple circuit consisting of r as the unique resource place, an activity place p H ( r ) , and the connecting transitions. An HR-circuit, H ( r ) , is termed monoploid if r S i n R .
Definition 16
([18]). An S 3 PR ( N , M 0 ) is said to be unitary if there is only one ξ-resource and, for all r P R , there exists an RT-circuit θ, such that r R ( θ ) , where P R is a set of resource places in N.
Definition 17.
Let ( N , M 0 ) = ( P A P 0 P R , T , F , M 0 ) be a marked S 3 PR and unitary; ( N , M 0 ) is a marked dual-process US 3 PR if
  • | P 0 | = 2 ;
  • P A = P A 1 P A 2 , P A 1 P A 2 = ;
  • p P A P 0 , | p | = | p | = 1 ;
  • p P R , M 0 ( p ) = 1 .
Figure 7 illustrates an S 3 PR net, featuring three distinct strict minimal siphons: S 1 = { p 3 , p 10 , r 1 , r 2 , r 4 , r 5 } , S 2 = { p 5 , p 8 , r 2 , r 3 , r 6 , r 7 } , and S 3 = { p 5 , p 10 , r 1 , r 2 , r 3 , r 4 , r 5 , r 6 , r 7 } . Two non-inclusive resource transition circuits, θ 1 = r 1 t 11 r 5 t 10 r 2 t 3 r 4 t 2 r 1 and θ 2 = r 2 t 9 r 7 t 8 r 3 t 5 r 6 t 4 r 2 , are discerned.
It is noteworthy that ( θ 1 θ 2 ) P R = { r 2 } , M 0 ( r 2 ) = 1 , designating r 2 as the exclusive ξ resource in N. Furthermore, { r 1 , r 2 , r 4 , r 5 } R ( θ 1 ) and { r 2 , r 3 , r 6 , r 7 } R ( θ 2 ) , affirming the net’s classification as a US 3 PR net.
Defining sets as P 0 = { p 11 } { p 12 } , P A 1 = { p 1 , p 2 , p 3 , p 4 , p 5 } , P A 2 = { p 6 , p 7 , p 8 , p 9 , p 10 } , and P R = { r 1 , r 2 , r 4 , r 5 , r 6 , r 7 } , we observe a consistent pattern with | p i | = | p i | = 1 for i = 1 , 2 , , 10 .
Definition 18.
Consider a dual-process US 3 PR net denoted by N = ( P A P 0 P R , T , F ) . For any r P R , if H ( r ) = { p , p } with p P A 1 and p P A 2 , we designate r as a shared repository, denoted as r d e . The set of all shared repositories in N is represented by R d e .
If N is a dual-process US 3 PR, it must exclusively feature three shared repositories, denoted by R d e = { r d e 1 , r d e 2 , r d e 2 } , with r d e 2 representing a ξ resource place.
An RT-circuit θ necessitates a minimum of two shared resource repositories. Without this, the path formed by the resource places and transitions cannot constitute a circuit, as per Definition 17. Furthermore, as articulated in Definition 17, each process within a dual-process US3PR net lacks a branch structure. Consequently, any two adjacent shared resource repositories exclusively correspond to an RT-circuit.
Suppose there are only two shared resource repositories in N; in that scenario, only one RT-circuit θ exists, but no ξ resource is present in N, leading to a contradiction with Definition 17. Conversely, assuming N contains four or more shared resource repositories would result in the formation of two or more ξ resources, contradicting Definition 17. In summary, a dual-process US 3 PR net must invariably consist of precisely three shared resource places.
Definition 19.
If there exists a basic path x 1 , , x n , where, for all x { x 1 , , x n } , x P A T , and { x 1 , x n } T , then x 1 , , x n is considered the basic process path from x 1 to x n , denoted as l ( x 1 , x n ) .
Definition 20.
Let l ( t i , t o ) be a basic process path for the marked dual-process US 3 PR ( N , M 0 ) , and P t i t o be the set of operation places in l ( t i , t o ) . If, for all r R l , and all p P t i t o , there exists r = p P R , then R l is referred to as a set of resource places held by P t i t o . If M ( P t i t o ) = M 0 ( R l ) , l ( t i , t o ) is said to be saturated; if M ( P t i t o ) = M 0 ( R l ) 1 , l ( t i , t o ) is said to be progressively saturated.
Definition 21.
Let R d e be the set of shared resources for the marked dual-process US 3 PR ( N , M 0 ) ; if r R d e , r R d e , r T 1 = { t r 1 } , r T 2 = { t r 2 } , r T 1 = { t r 1 } , and r T 2 = { t r 2 } , then the basic process path l ( t r 1 , t r 1 ) and l ( t r 2 , t r 2 ) are a pair of encounter paths.
Theorem 5.
Let l ( t r 1 , t r 1 ) and l ( t r 2 , t r 2 ) be a pair of encounter paths in a marked dual-process US 3 PR ( N , M 0 ) ; if l ( t r 1 , t r 1 ) and l ( t r 2 , t r 2 ) are saturated, then a deadlock occurs in N.
Proof. 
Consider a pair of encounter paths in a marked dual-process US 3 PR ( N , M 0 ) , denoted as l ( t r 1 , t r 1 ) and l ( t r 2 , t r 2 ) . According to Definition 21, t r 1 P R = { r } and t r 2 P R = { r } , implying that firing t r 1 or t r 2 requires tokens in r and r respectively.
As both l ( t r 1 , t r 1 ) and l ( t r 2 , t r 2 ) are saturated, the operation places in l ( t r 1 , t r 1 ) have occupied all tokens in the associated resource places. Firing the output transition t r 1 to release tokens in r allows subsequent transitions to be fired, releasing other occupied resources. Similarly, the operation places in l ( t r 2 , t r 2 ) have occupied all tokens in the associated resource places. Firing the output transition t r 2 to release tokens in r enables subsequent transitions to release other occupied resources.
Therefore, both l ( t r 1 , t r 1 ) and l ( t r 2 , t r 2 ) depend on the other path to release resources first, leading to a circular wait condition. Consequently, all transitions in l ( t r 1 , t r 1 ) and l ( t r 2 , t r 2 ) become inactive. □
Definition 22.
In a marked dual-process US 3 PR ( N , M 0 ) , let R d e = { r 1 , r 2 , r 3 } be a set of shared resources, with r 2 identified as a ξ resource. Consider two pairs of encounter paths: l ( t r 1 1 , t r 2 1 ) and l ( t r 2 2 , t r 1 2 ) , as well as l ( t r 2 1 , t r 3 1 ) and l ( t r 3 2 , t r 2 2 ) . For any marking M in R ( N , M 0 ) , M is termed a progressive encounter state if the following conditions hold: (1) l ( t r 1 1 , t r 2 1 ) and l ( t r 3 2 , t r 2 2 ) are saturated. (2) l ( t r 2 1 , t r 3 1 ) and l ( t r 2 2 , t r 1 2 ) are progressively saturated.
Theorem 6.
Given a marked dual-process US 3 PR net ( N , M 0 ) , if a progressive encounter state occurs, a deadlock occurs inevitably in N.
Proof. 
Let l ( t r 1 1 , t r 2 1 ) and l ( t r 3 2 , t r 2 2 ) be a pair of encounter paths of ( N , M 0 ) . Referring to Definition 22, l ( t r 1 1 , t r 2 1 ) and l ( t r 3 2 , t r 2 2 ) are saturated, while l ( t r 2 1 , t r 3 1 ) and l ( t r 2 2 , t r 1 2 ) are progressively saturated. Under these circumstances, the paths have no opportunity to reach saturation, and deadlock is unlikely.
Since both r 1 and r 3 are occupied, transitions t r 3 1 and t r 1 2 cannot be fired, preventing a decrease in tokens in l ( t r 2 1 , t r 3 1 ) and l ( t r 2 2 , t r 1 2 ) . The output transition of l ( t r 1 1 , t r 2 1 ) serves as the input transition of l ( t r 2 1 , t r 3 1 ) , implying that firing t r 2 1 would increase tokens in l ( t r 2 1 , t r 3 1 ) and result in saturation. Similarly, firing t r 2 2 would saturate l ( t r 2 2 , t r 1 2 ) . Given that r 2 is a ξ resource with M 0 ( r 2 ) = 1 , simultaneous saturation of l ( t r 2 1 , t r 3 1 ) and l ( t r 3 2 , t r 2 2 ) is impossible. Therefore, a progressive encounter state inevitably leads to an encounter state, causing deadlocks. □
Definition 23.
Consider a dual-process US 3 PR net N = ( P A P 0 P R , T , F ) , where R d e = { r 1 , r 2 , r 3 } represents a set of shared resource places and r 2 is designated as the ξ resource. Let H ( r 2 ) = { p ξ 1 , p ξ 2 } . Two pairs of encounter paths corresponding to the resource pairs r 1 , r 2 and r 2 , r 3 , are denoted as l ( t r 1 1 , t r 2 1 ) , l ( t r 2 2 , t r 1 2 ) and l ( t r 2 1 , t r 3 1 ) , l ( t r 3 2 , t r 2 2 ) , respectively. A set of controlled places P L = { P L 1 , P L 2 , P L 3 , P L 4 , P L 5 } P A of N is defined as follows:
  • P L 1 = P t r 1 1 t r 2 1 P t r 2 2 t r 1 2 ;
  • P L 2 = P t r 2 1 t r 3 1 P t r 3 2 t r 2 2 ;
  • P L 3 = P t r 1 1 t r 2 1 P t r 3 2 t r 2 2 ( P t r 2 1 t r 3 1 { p ξ 1 } ) ( P t r 2 2 t r 1 2 { p ξ 2 } ) ;
  • P L 4 = P t r 1 1 t r 2 1 P t r 2 2 t r 3 2 ( P t r 2 1 t r 3 1 { p ξ 1 } ) ( P t r 2 2 t r 1 2 { p } ) , p P t r 2 2 t r 1 2 { p ξ 2 } ;
  • P L 5 = P t r 1 1 t r 2 1 P t r 2 2 t r 3 2 ( P t r 2 1 t r 3 1 { p } ) ( P t r 2 1 t r 3 1 { p ξ 2 } ) , p P t r 2 1 t r 3 1 { p ξ 1 } .
Definition 24.
Let P L denote the set of controlled places in a dual-process US 3 PR net N. A set R L is defined as the collection of resource places held by P L if R L = P L P R .
Definition 25.
Let ( N , M 0 ) be a marked dual-process US 3 PR net, where P L is a set of controlled places of N. Add the control place V L to ( N , M 0 ) , such that g L = P L + V L forms a P-invariant of the controlled net ( N V , M 0 V ) , where N V = ( P A { p 0 } P R { V L } , T , F F V ) , and, for all p P A { p 0 } P R , M 0 V ( p ) = M 0 ( p ) , and M 0 V ( V L ) = M 0 ( R L ) 1 .
Theorem 7.
Let ( N , M 0 ) be marked a dual-process US 3 PR net; the controlled net ( N V , M 0 V ) defined in Definition 25 is live and maximally permissive.
Proof. 
Given a marked dual-process US 3 PR net ( N , M 0 ) , where the number of monoploid holder resource circuits is represented by a variable in the parameterized dual-process US 3 PR model, R d e = { r 1 , r 2 , r 3 } is the set of shared resource places, with r 2 being the ξ resource, and encounter path pairs include l ( t r 1 1 , t r 2 1 ) and l ( t r 2 2 , t r 1 2 ) between r 1 and r 2 , and l ( t r 2 1 , t r 3 1 ) and l ( t r 3 2 , t r 2 2 ) between r 2 and r 3 . Let x, y, z, and w represent the number of operation places in ( t r 1 1 , t r 2 1 ) , l ( t r 2 2 , t r 1 2 ) , l ( t r 2 1 , t r 3 1 ) , and l ( t r 3 2 , t r 2 2 ) , respectively, where x , y , z , w N + .
According to Definition 25, control places are added to ( N , M 0 ) to obtain the controlled net ( N V , M 0 V ) . Since the control places and the controlled place set form a P-invariant of ( N V , M 0 V ) , where M 0 V ( V L ) = M 0 ( R L ) 1 , and the encounter path pair l ( t r 1 1 , t r 2 1 ) and l ( t r 2 2 , t r 1 2 ) satisfies the condition that, for all M R ( N , M 0 ) , M ( P t r 1 1 t r 2 1 ) + M ( P t r 2 2 t r 1 2 ) M 0 ( R L ) 1 , the encounter path pair l ( t r 1 1 , t r 2 1 ) and l ( t r 2 2 , t r 1 2 ) will not saturate. Consequently, no deadlock is generated, and the workpiece in x can enter z by firing t r 2 1 , and the workpiece in y can be exported by firing t r 1 2 . Similarly, for the encounter path pair l ( t r 2 1 , t r 3 1 ) and l ( t r 3 2 , t r 2 2 ) , after adding the control place, ensuring that the workpiece in w can enter y by firing t r 2 2 , the workpiece in z can be exported by firing t r 3 1 . The controlled net ( N V , M 0 V ) is live.
The initial marking of control place M 0 V ( V L ) = M 0 ( R L ) 1 . Compared to the original net ( N , M 0 ) , the controlled net ( N V , M 0 V ) only eliminates the encounter state and the progressive encounter state in the reachable graph, retaining all states except these two special states. As the encounter state and the progressive encounter state can cause deadlock or inevitably lead to deadlock, they correspond to the dead states and bad states in the reachable graph of ( N , M 0 ) . The controlled net removes only the dead states and bad states compared to the original net while retaining all legal states. Therefore, ( N V , M 0 V ) is maximally permissive. □
Figure 8 shows a dual-process US 3 PR net ( N , M 0 ) , where R d e = { r 1 , r 2 , r 3 } , t r 1 1 = t 1 , t r 2 1 = t 2 , t r 3 1 = t 3 , t r 3 2 = t 4 , t r 2 2 = t 5 , t r 1 2 = t 6 , the number of operation places in l ( t 1 , t 2 ) , l ( t 5 , t 6 ) , l ( t 2 , t 3 ) , and l ( t 4 , t 5 ) are x, y, z, and w, respectively.
Theorem 8.
Let ( N , M 0 ) be a marked dual-process US 3 PR, and x, y, z, and w respectively represents the number of operation places in ( t r 1 1 , t r 2 1 ) , l ( t r 2 2 , t r 1 2 ) , l ( t r 2 1 , t r 3 1 ) , and l ( t r 3 2 , t r 2 2 ) , where V L is the number of control places added according to Definition 25. As a result, k is only related to y and z, and satisfies k = 1 + y + z .
Proof. 
The control places V L defined by Definition 25 have a one-to-one correspondence with P L . Therefore, the number k of V L is equal to the number k of P L . According to Definition 23, the following conditions are satisfied:
(1) The controlled place set is the set of operation places in the encounter path pair l ( t r 1 1 , t r 2 1 ) and l ( t r 2 2 , t r 1 2 ) , denoted as P L 1 = P t r 1 1 t r 2 1 P t r 2 2 t r 1 2 .
(2) The controlled place set is the set of operation places in the encounter path pair l ( t r 2 1 , t r 3 1 ) and l ( t r 3 2 , t r 2 2 ) , denoted as P L 2 = P t r 2 1 t r 3 1 P t r 3 2 t r 2 2 .
(3) The controlled place set is the set of operation places in the encounter path pair l ( t r 1 1 , t r 2 1 ) and l ( t r 2 2 , t r 1 2 ) , l ( t r 2 1 , t r 3 1 ) and l ( t r 3 2 , t r 2 2 ) , which excludes the set of places in H ( r 2 ) = { p ξ 1 , p ξ 2 } , i.e., P L 3 = P t r 1 1 t r 2 1 P t r 3 2 t r 2 2 ( P t r 2 1 t r 3 1 { p ξ 1 } ) ( P t r 2 2 t r 1 2 { p ξ 2 } ) .
(4) If p P t r 2 2 t r 1 2 { p ξ 2 } = P t r 2 2 t r 1 2 { p ξ 2 } , where P t r 2 2 t r 1 2 contains y operation places, the number of p is y 1 . Correspondingly, the number of P L is y 1 . Similarly, if p P t r 2 1 t r 3 1 { p ξ 1 } = P t r 2 1 t r 3 1 { p ξ 1 } , the number of P L is z 1 . In summary, the number of P L is k = 1 + 1 + 1 + ( y 1 ) + ( z 1 ) = 1 + y + z , and the number of V L , i.e., k = k = 1 + y + z . □
Example 2.
In the dual-process US 3 PR net shown in Figure 7, since the number of reachable states is 405, and the number of good states is 380, the net is dead. The sets P L and R L are presented in Table 4. According to Definition 25, a control place needs to be added to each controlled place set. The control places and the controlled place set together form a P-invariant, and the control places are listed in Table 5. As a result, the controlled net ( N V , M 0 V ) with 380 reachable states is live and maximally permissive.

5. Conclusions

In this paper, two special subclasses in the S 3 PR are studied: the dual-process S 3 PR and the dual-process US 3 PR network models. By analyzing the relationship between their structural characteristics and deadlocks, some control laws are proposed, avoiding complicated calculations. In the future, we plan to research control laws for a more universal dual-process S 3 PR model that does not limit the initial marking of resource places to 1.
For the convenience of analysis, each process in the dual-process S 3 PR and the dual-process US 3 PR is defined without a branch structure, making the model relatively simple. Therefore, extending the model to include multiple processes or multiple branches in each process, and then conducting control law research, is also the focus of the next step.

Author Contributions

Y.Y.: Conceptualization of this study, Methodology, Software, Formal Analysis, Investigation, Writing Original Draft. J.Y.: Conceptualization, Methodology, Supervision, Reviewing and Editing. N.L.: Formal Analysis, Supervision, Reviewing and Editing. C.Z.: Supervision and Reviewing. All authors have read and agreed to the published version of the manuscript.

Funding

This work is partially supported by the Gansu Education Department project under Grant 2024B-063 and the Lanzhoujiaotong University youth fund.

Data Availability Statement

The experimental data used in this paper can be obtained by contacting the corresponding author.

Conflicts of Interest

The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.

References

  1. Mejía, G.; Niño, K. A new Hybrid Filtered Beam Search algorithm for deadlock-free scheduling of flexible manufacturing systems using Petri Nets. Comput. Ind. Eng. 2017, 108, 165–176. [Google Scholar] [CrossRef]
  2. Xu, G.; Chen, Y. Petri-net-based scheduling of flexible manufacturing systems using an estimate function. Symmetry 2022, 14, 1052. [Google Scholar] [CrossRef]
  3. Chen, Y.; Li, Z.; Al-Ahmari, A.; Wu, N.; Qu, T. Deadlock recovery for flexible manufacturing systems modeled with Petri nets. Inf. Sci. 2017, 381, 290–303. [Google Scholar] [CrossRef]
  4. Martinez, J.; Alia, H.; Silva, M. Petri Nets for the Specification of flexible Manufacturing Systems. In Modelling and Design of Flexible Manufacturing Systems; Elsevier: Amsterdam, The Netherlands, 1986. [Google Scholar]
  5. Saadaoui, I.; Li, Z.; Wu, N. Current-state opacity modelling and verification in partially observed Petri nets. Automatica 2020, 116, 108907. [Google Scholar] [CrossRef]
  6. Wu, W.; Xing, Z.; Yue, H.; Su, H.; Pang, S. Petri-net-based deadlock detection and recovery for control of interacting equipment in automated container terminals. IET Intell. Transp. Syst. 2022, 16, 739–753. [Google Scholar] [CrossRef]
  7. Luo, J.; Liu, Z.; Wang, S.; Xing, K. Robust deadlock avoidance policy for automated manufacturing system with multiple unreliable resources. IEEE/CAA J. Autom. Sin. 2020, 7, 812–821. [Google Scholar] [CrossRef]
  8. Messinis, S.; Vosniakos, G.C. An agent-based flexible manufacturing system controller with Petri-net enabled algebraic deadlock avoidance. Rep. Mech. Eng. 2020, 1, 77–92. [Google Scholar] [CrossRef]
  9. Boucheneb, H.; Barkaoui, K.; Xing, Q.; Wang, K.; Liu, G.; Li, Z. Time based deadlock prevention for Petri nets. Automatica 2022, 137, 110–119. [Google Scholar] [CrossRef]
  10. Abdul-Hussin, M.H. Maximally permissive deadlock prevention controlled in FMSs based on the Siphons Petri nets. In Proceedings of the 2021 International Seminar on Machine Learning, Optimization, and Data Science (ISMODE), Jakarta, Indonesia, 29–30 January 2022; pp. 307–312. [Google Scholar]
  11. Li, Z.W.; Liu, G.Y.; Hanisch, H.M.; Zhou, M.C. Deadlock prevention based on structure reuse of Petri net supervisors for flexible manufacturing systems. IEEE Trans. Syst. Man Cybern.-Part A Syst. Hum. 2012, 42, 178–191. [Google Scholar] [CrossRef]
  12. Grobelna, I.; Karatkevich, A. A deadlock recovery policy for flexible manufacturing systems with minimized traversing within reachability graph. In Proceedings of the 2022 21st International Symposium INFOTEH-JAHORINA (INFOTEH), East Sarajevo, Bosnia and Herzegovina, 16–18 March 2022; pp. 1–6. [Google Scholar]
  13. Gu, C.; Ma, Z.; Li, Z.; Giua, A. Verification of Nonblockingness in Bounded Petri Nets with Min-Max Basis Reachability Graphs. IEEE Trans. Syst. Man Cybern. Syst. 2022, 52, 6162–6173. [Google Scholar] [CrossRef]
  14. Li, S.; Zhou, S.; Yin, L.; Jiang, R. Robust Diagnosability Analysis Using Basis Reachability Graph. IEEE Access 2023, 11, 9751–9762. [Google Scholar] [CrossRef]
  15. Li, X.; Liu, G.; Qin, M.; Li, Z. Robust liveness enforcement of Petri nets with uncontrollable and unobservable transitions based on structural analysis. IET Control Theory Appl. 2023, 17, 477–492. [Google Scholar] [CrossRef]
  16. Kryukov, O.; Voloshko, A. Structural analysis of the process based on extended Petri nets with semantic relations. In Proceedings of the International Russian Automation Conference, Sochi, Russia, 5–11 September 2021; pp. 224–236. [Google Scholar]
  17. Gu, C.; Li, Z.; Al-Ahmari, A. A multistep look-ahead deadlock avoidance policy for automated manufacturing systems. Discret. Dyn. Nat. Soc. 2017, 2017. [Google Scholar] [CrossRef]
  18. Gu, C.; Li, Z.; Wu, N.; Khalgui, M.; Qu, T.; Al-Ahmari, A. Improved multi-step look-ahead control policies for automated manufacturing systems. IEEE Access 2018, 6, 68824–68838. [Google Scholar] [CrossRef]
  19. Uzam, M.; Zhou, M.C. An iterative synthesis approach to Petri net-based deadlock prevention policy for flexible manufacturing systems. IEEE Trans. Syst. Man Cybern.-Part A Syst. Hum. 2007, 37, 362–371. [Google Scholar] [CrossRef]
  20. Chen, Y.F.; Li, Z.W.; Khalgui, M.; Mosbahi, O. Design of a maximally permissive liveness-enforcing Petri net supervisor for flexible manufacturing systems. IEEE Trans. Autom. Sci. Eng. 2011, 8, 374–393. [Google Scholar] [CrossRef]
  21. Hou, Y.F.; Barkaoui, K. Deadlock analysis and control based on Petri nets: A siphon approach review. Adv. Mech. Eng. 2017, 9, 168781401769354. [Google Scholar] [CrossRef]
  22. Ezpeleta, J.; Colom, J.M.; Martinez, J. A Petri net based deadlock prevention policy for flexible manufacturing systems. IEEE Trans. Robot. Autom. 1995, 11, 173–184. [Google Scholar] [CrossRef]
  23. Huang, Y.S.; Jeng, M.D.; Xie, X.; Chung, S.L. A deadlock prevention policy for flexible manufacturing systems using siphons. In Proceedings of the IEEE International Conference on Robotics and Automation, Seoul, Republic of Korea, 21–26 May 2001. [Google Scholar]
  24. Li, Z.W.; Zhou, M.C. Elementary siphons of Petri nets and their application to deadlock prevention in flexible manufacturing systems. IEEE Trans. Syst. Man Cybern.-Part A Syst. Hum. 2004, 34, 38–51. [Google Scholar]
  25. Yunchao, W.; Keyi, X.; Mengchu, Z.; Yanxiang, F.; Huixia, L. Robust deadlock control for automated manufacturing systems with a single type of unreliable resources. Adv. Mech. Eng. 2018, 10, 168781401877241. [Google Scholar]
  26. Liu, H.; Wu, W.; Su, H.; Zhang, Z. Design of optimal Petri-net controllers for a class of flexible manufacturing systems with key resources. Inf. Sci. 2016, 363, 221–234. [Google Scholar] [CrossRef]
Figure 1. An S 3 PR net.
Figure 1. An S 3 PR net.
Mathematics 13 00611 g001
Figure 2. A subscript-initialized dual-process S 3 PR.
Figure 2. A subscript-initialized dual-process S 3 PR.
Mathematics 13 00611 g002
Figure 3. A subnet with non-encounter/encounter state marking. (a) A subnet with non-encounter state marking. (b) A subnet with encounter state marking.
Figure 3. A subnet with non-encounter/encounter state marking. (a) A subnet with non-encounter state marking. (b) A subnet with encounter state marking.
Mathematics 13 00611 g003
Figure 4. A Petri net with encounter state marking and dead marking. (a) A Petri net with encounter state marking. (b) A Petri net with dead marking.
Figure 4. A Petri net with encounter state marking and dead marking. (a) A Petri net with encounter state marking. (b) A Petri net with dead marking.
Mathematics 13 00611 g004
Figure 5. A PN with progressive encounter state and encounter state marking. (a) A PN with progressive encounter state marking. (b) A PN with encounter state marking.
Figure 5. A PN with progressive encounter state and encounter state marking. (a) A PN with progressive encounter state marking. (b) A PN with encounter state marking.
Mathematics 13 00611 g005
Figure 6. A dual-process S 3 PR.
Figure 6. A dual-process S 3 PR.
Mathematics 13 00611 g006
Figure 7. A dual-process US 3 PR.
Figure 7. A dual-process US 3 PR.
Mathematics 13 00611 g007
Figure 8. A dual-process US 3 PR.
Figure 8. A dual-process US 3 PR.
Mathematics 13 00611 g008
Table 1. The control place of the initial marking of every resource place is 1.
Table 1. The control place of the initial marking of every resource place is 1.
P V M 0 ( V ) V V
V 1 1 t 2 , t 2 n + 1 t 1 , t 2 n
V 2 1 t 2 , t 2 n t 1 , t 2 n 1
V n 1 1 t 2 , t n + 3 t 1 , t n + 2
V n 1 t 3 , t 2 n t 2 , t 2 n 1
V n + 1 1 t 3 , t 2 n 1 t 2 , t 2 n 2
V 2 n 3 1 t 3 , t n + 3 t 2 , t n + 2
V n ( n 1 ) 2 1 t n , t n + 3 t n 1 , t n + 2
Table 2. The control places of the dual-process S 3 PR shown in Figure 6.
Table 2. The control places of the dual-process S 3 PR shown in Figure 6.
P V M 0 ( V ) V V
V 1 1 t 2 , t 11 t 1 , t 10
V 2 1 t 2 , t 10 t 1 , t 9
V 3 1 t 2 , t 9 t 1 , t 8
V 4 1 t 2 , t 8 t 1 , t 7
V 5 1 t 3 , t 10 t 2 , t 9
V 6 1 t 3 , t 9 t 2 , t 8
V 7 1 t 3 , t 8 t 2 , t 7
V 8 1 t 4 , t 9 t 3 , t 8
V 9 1 t 4 , t 8 t 3 , t 7
V 10 1 t 5 , t 8 t 4 , t 7
Table 3. Controlled system activity verification where initial marking of every resource place is 1.
Table 3. Controlled system activity verification where initial marking of every resource place is 1.
Number of Resource PlacesNumber of Original Net’s Reachable StateNumber of Original Net’s Legal StateNumber of Controlled Net’s Reachable StateLive or NotOptimal or Not
4483131liveOptimal
51126363liveOptimal
6256127127liveOptimal
7576255255liveOptimal
81280511511liveOptimal
10614420472047liveOptimal
1361,44016,38316,383liveOptimal
15278,52865,53565,535liveOptimal
Table 4. P L and R L of the dual-process US 3 PR shown in Figure 7.
Table 4. P L and R L of the dual-process US 3 PR shown in Figure 7.
P L R L
1 p 1 , p 2 , p 8 , p 9 r 1 , r 2 , r 4 , r 5
2 p 3 , p 4 , p 6 , p 7 r 2 , r 3 , r 6 , r 7
3 p 1 , p 2 , p 4 , p 6 , p 7 , p 9 r 1 , r 3 , r 4 , r 5 , r 6 , r 7
4 p 1 , p 2 , p 4 , p 6 , p 7 , p 8 r 1 , r 2 , r 3 , r 4 , r 6 , r 7
5 p 1 , p 2 , p 3 , p 6 , p 7 , p 9 r 1 , r 2 , r 3 , r 4 , r 5 , r 7
Table 5. The control places of the dual-process US 3 PR shown in Figure 7.
Table 5. The control places of the dual-process US 3 PR shown in Figure 7.
P V M 0 ( V ) V V
V L 1 3 t 3 , t 11 t 1 , t 9
V L 2 3 t 5 , t 9 t 3 , t 7
V L 3 5 t 3 , t 5 , t 9 , t 11 t 1 , t 4 , t 7 , t 10
V L 4 5 t 4 , t 9 , t 11 t 1 , t 7 , t 10
V L 5 5 t 3 , t 5 , t 10 t 1 , t 4 , t 7
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Yang, Y.; Yang, J.; Liang, N.; Zhong, C. Control Law for Two-Process Flexible Manufacturing Systems Modeled Using Petri Nets. Mathematics 2025, 13, 611. https://doi.org/10.3390/math13040611

AMA Style

Yang Y, Yang J, Liang N, Zhong C. Control Law for Two-Process Flexible Manufacturing Systems Modeled Using Petri Nets. Mathematics. 2025; 13(4):611. https://doi.org/10.3390/math13040611

Chicago/Turabian Style

Yang, Yang, Junjun Yang, Na Liang, and Chunfu Zhong. 2025. "Control Law for Two-Process Flexible Manufacturing Systems Modeled Using Petri Nets" Mathematics 13, no. 4: 611. https://doi.org/10.3390/math13040611

APA Style

Yang, Y., Yang, J., Liang, N., & Zhong, C. (2025). Control Law for Two-Process Flexible Manufacturing Systems Modeled Using Petri Nets. Mathematics, 13(4), 611. https://doi.org/10.3390/math13040611

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop