This article addresses expressiveness problems for Petri nets and their useful extension for modeling and control of a system that can be modeled with Petri nets. We construct some Petri net modules, namely, an enabling module, an inhibitor module and a Modulo-N counter, which are useful for system operations. We also present the simplifications for the enabling and inhibitor modules. Then, we propose two new types of arcs, namely, enabling and inhibitor arcs, with a weighted function set. The arcs with the weighted function set from places to transitions are the marked arcs. A function set is employed to denote the weight of an arc according to the system requirements. They are very useful to solve the resource reallocation problem in a resource allocation system, where resource sharing contributes to the occurrences of deadlocks. Finally, two examples are used to show the advantages of the presented new types of arcs.
Petri nets1 can be served as a graphical and mathematical modeling tool for many contemporary technological systems such as flexible manufacturing systems, urban traffic systems, and concurrent programming systems. They have found extensive applications to the modeling, analysis, control,2–10 scheduling,11–13 performance evaluation,14 fault identification and diagnosis,15–17 and verification of various properties7,18 of discrete event systems.9,19 Since they were proposed by CA Petri in 1962, many researchers and engineers from different fields have been working on Petri nets and their applications to real-world systems.20 According to the properties of a graphical tool, we can use Petri nets to make flowcharts, networks, and block diagrams. Furthermore, the token variation of a net can be used to simulate the dynamic behavior of a system. We also use Petri nets to govern the behavior of systems by setting up state equations, algebraic equations, and other mathematical approaches due to its properties of a mathematic tool. A mathematical approach is applicable to almost every system, no matter it is complicated or simple. Due to the inherent properties, more and more researchers from academic and industry communities are beginning to pay attention to Petri nets with their variations.
For discrete event systems, deadlocks21–28 have been an important problem to solve, especially in the resource sharing systems which have the shared resources.29–33 They also include computer systems, flexible manufacturing systems, communication systems, and so on, showing the importance of Petri nets in the problem of deadlocks. Petri nets have been extensively used to solve the problem of deadlocks and forbidden state problem of discrete event systems34–38 due to their powerful ability in modeling and controlling systems. The reachability graph of a Petri net model has an important effect on analyzing a Petri net model.39,40 It is used directly to represent the behavior and the evolution of a system.
Although Petri nets have been used to describe a large number of systems since 1962, they still have limitations in the simplicity compared with the classical models41 when they are used to describe complex systems. Some extensions to the basic Petri net structure is developed to overcome this problem by introducing extended concepts, such as enabling arcs and inhibitor arcs to control a transition enabling.
In this article, in order to solve the resource reallocation problem, we first propose two novel Petri net structures, called an enabling arc with a weighted function set and an inhibitor arc with a weighted function set, respectively. In particular, an enabling arc with a weighted function set is an enabling arc from a place to a transition with a weighted function set labeled on the arc. Transition is enabled by at a marking if is equal to any value of the weighted function in the function set. If is enabled and fires, it cannot change the number of tokens in . Moreover, an inhibitor arc with a weighted function set is an inhibitor arc from a place to a transition with a weighted function set labeled on the arc. Transition is enabled by at a marking if is not equal to any value of the weighted function in the function set. Based on these two novel arcs, we present some examples to show their applications and advantages.
Other parts of this article are organized as follows. In section “Literature review,” we provide an overview of the related literature on several Petri net structures and compare the main features of the two proposed new net structures with them. In section “Preliminaries,” we summarize the basic definitions of Petri nets and the extended Petri nets. Section “Enabling and inhibitor modules” constructs the enabling module, inhibitor module, and a Modulo-N counter. Section “The weighted function of arcs” introduces an enabling arc with a weighted function set and an inhibitor arc with a weighted function set, and proves some important results about the relations among the two new types of arcs and several kinds of arcs in the literature. Section “Example” gives two examples and uses the new types of arcs proposed in this article to solve the problem of conflict. Finally, we conclude this article in section “Conclusion.”
Literature review
An inhibitor arc42,43 from a place to a transition is a special arc. If there are tokens in a place, the special arc is to block the firing of the transition.44–47 We can use it to test the presence of tokens in a place, and it is widely used in supervisory control problem. In Gelen and Uzam,48 weighted inhibitor arcs are considered in addition to inhibitor arcs. The former can be used for testing whether the number of tokens in a place is less than a certain threshold number.49
In the case that the legal state space is non-convex, in order to deal with the problem of deadlock control, Chen and Li50 propose a net structure called interval inhibitor arcs. In that work, an interval inhibitor arc is an arc from a place to a transition labeled by an integer interval . Transition is disabled by the interval inhibitor arc at a marking if . Based on such kind of arcs, they propose two techniques to obtain optimal supervisors by solving integer linear programming problems. However, by only using interval inhibitor arcs, we cannot guarantee that an optimal supervisor always exists for any bounded Petri net. Thus, a more general net structure called data inhibitor arcs is proposed in Chen et al.51 to design an optimal supervisor for any bounded Petri net. In particular, a data inhibitor arc is an arc from a place to a transition , on which a set of non-negative integers is labeled. If , then is enabled by at a marking . If is enabled and fires, it does not change the number of tokens in .
An enabling arc52 from a place to a transition is also a special arc. If there are tokens in a place, the special arc is to enable and fire the transition.44 Also, we can use it to test the presence of tokens in a place. In Gelen and Uzam,48 weighted enabling arcs are considered in addition to enabling arcs. The former can be used for testing whether the number of tokens in a place is larger than or equal to a certain threshold number.49 Moreover, the enabling arcs and/or the weighted enabling arcs are widely used in the fields of forbidden state problem42,53 and deadlock control.48
In this article, we first propose some sub-nets of Petri nets using weighted enabling arcs or weighted inhibitor arcs. In particular, when the sub-net contains the net structure such that there are both weighted enabling arc and weighted inhibitor arc from a place to a transition, we show that this net structure has the same enabling condition as the enabling arcs labeled by an integer interval or an integer set. That is to say, the net structure with weighted enabling arc and weighted inhibitor arc can be simplified. Based on this result, we propose an enabling module and an inhibitor module, and provide their related simplifications accordingly. Then, in order to solve the resource reallocation problem, two new types of arcs are proposed, called an enabling arc with a weighted function set and an inhibitor arc with a weighted function set. To the best of our knowledge, it is the first time to add the weighted function set to an enabling arc and an inhibitor arc. The two new types of arcs are the extension of the enabling and the inhibitor arcs. Compared with the weighted inhibitor arcs and interval inhibitor arcs, an inhibitor arc with a weighted function set is a more general structure, and it has a more powerful modeling and control ability. Compared with data inhibitor arcs, an inhibitor arc with a weighted function set has an equivalent disabling condition with a simpler and compact representation. Analogically, an enabling arc with a weighted function set also has the advantages compared with the enabling arcs and weighted enabling arcs. However, both of the two types of arcs proposed in this article are not in the sense of the Petri nets, that is, the resulting combined net is not a Petri net anymore and the traditional net analysis cannot be done on it. Moreover, given an arbitrary control requirement, it may be not easy to find a suitable weighted function set labeled on the enabling and/or inhibitor arcs to meet this requirement. From the illustrated examples, we can see that they are very useful to solve the resource reallocation problem. In summary, this article makes the following contributions:
Enabling module and inhibitor module with some input places are proposed. Their graphical representations are provided. Moreover, we provide the simplifications of these two kinds of modules.
We construct a Modulo-N counter which has an important effect on real-time control system.
The arcs with the weighted function set based on the proposed modules are proposed. Their definitions and graphical representations are provided. We propose the enabling and firing rules of the transitions in a net with them. Two examples are used to demonstrate the effect of the two new types of arcs for solving the resource reallocation problem.
Preliminaries
Petri nets
In general, a Petri net1 is a 4-tuple . Among them, denotes all the places, and denotes all the transitions, and they are disjoint but not empty. is called a flow relation of the net, represented by arcs with arrows from places to transitions or from transitions to places. is a mapping that assigns a weight to an arc: if , and otherwise, where and denote the set of non-negative integers. is called the preset of and is called the post-set of . A marking is denoted by . In a Petri net, a marking is equivalent to a mapping . The pair is called a net system with the initial marking . A net is pure (self-loop free) if , . Its incidence matrix is a integer matrix with . In a Petri net, if the weight of any arc is not greater than one, it is said to be ordinary. In all states, if the tokens are always no greater than a certain number in a place , we call the place k-bounded. Thus, we can say that a net is k-bounded if all the places are k-bounded.
A transition is enabled at if , , which is denoted as . When fires, it produces a new marking , which is denoted as . We write to denote that the sequence of transitions is enabled at , and represents that the enabled sequence may fire at yielding . Moreover, we also denote the firing vector associated with a sequence . Specifically, if the transition is contained times in . A marking is said to be reachable from if there exists a firing vector such that that is computed by the state equation of the net as follows
Extended Petri nets
An extended Petri net is a Petri net with weighted enabling arcs48 and weighted inhibitor arcs,48 where defines weighted enabling arcs from places to transitions and defines weighted inhibitor arcs from places to transitions. Normal (regular) arcs can connect places to transitions and vice visa, while the weighted enabling arcs and the weighted inhibitor arcs can connect only places to transitions. The enabling and firing rules of weighted enabling arcs and weighted inhibitor arcs are shown as follows.
Definition 1
Let be a place and be a transition with . Transition is enabled by at a marking if ; otherwise, it is disabled. Once is enabled, the tokens in cannot be changed by its firing.
In Figure 1(a), for a transition , if there exist both a normal (regular) arc and a weighted enabling arc , then is enabled when and . Once fires, it produces a new marking with . It is important to note that a weighted enabling arc is a generalization of an enabling arc. In particular, an enabling arc starting from a place to a transition can be regarded as a specific case of a weighted enabling arc with . Thus, the enabling and firing rules for the enabling arc are the same as a weighted enabling arc by only considering the weight as one.
An extended Petri net model.
Definition 2
Let be a place and be a transition with . Transition is enabled by at a marking if ; otherwise, it is disabled. Once is enabled, the tokens in cannot be changed by its firing.
In Figure 1(b), for a transition , if there exist both a normal (regular) arc and a weighted inhibitor arc , then is enabled when and . Once fires, it produces a new marking with . It is important to note that a weighted inhibitor arc is a generalization of an inhibitor arc. In particular, an inhibitor arc starting from a place to a transition can be regarded as a specific case of a weighted inhibitor arc with . Thus, the enabling and firing rules for the inhibitor arc are the same as a weighted inhibitor arc by only considering the weight as one.
In Figure 1(c), for a transition , if there exist a normal (regular) arc , a weighted enabling arc , and a weighted inhibitor arc , then is enabled when , , and . Once fires, it produces a new marking with .
Enabling and inhibitor modules
In order to design and analyze the dynamic behavior of a system, we can apply the method of segment description. In a Petri net, we can make a segment for the collection of places and transitions, which is defined as a part of a sub-net called a module. Then, we can carry out this sub-net separately.54 These modules are useful for constructing Petri net models in system operations.
In this article, a module is a Petri net starting from some input places and ending at a transition connected with the inhibitor or enabling arc. The tokens of the input places can only be modified by external agents.
First, let us consider a net structure as shown in Figure 2(a) that consists of a weighted enabling arc and a weighted inhibitor arc. Suppose that and are non-negative integers. From Figure 2(a), the following fact is verified: if holds, transition is enabled. In Figure 2(b), if holds, transition is also enabled. Therefore, they are equivalent in the enabling condition of transition , which means that the net in Figure 2(b) is the simplified representation of that in Figure 2(a).
Three equivalent net structures.
If at all markings, the net structure in Figure 2(a) can be further simplified, as shown in Figure 2(c), where transition is enabled if . That is to say, the net structure in Figure 2(a) can be represented by various enabling arcs including enabling arcs labeled by an integer interval or an integer set.
Modules with more than one input places
Based on the aforementioned results in this section, we can construct the enabling module and inhibitor module with more than one input places, without loss of generality, with two places as an example. Let us construct an enabling module with two input places and , and an output transition , as shown in Figure 3(a), where , , , and are non-negative integers, and and hold at all markings. We can change the tokens in and by an external agent.
t1 is enabled if a1 ≤ M(p1) ≤ b1, and t2 is enabled if a2 ≤ M(p2) ≤ b2.
By firing t1 (t2), M(p0) is equal to one.
t is enabled if the place p0 is marked.
That is, if transition is enabled, then or holds. Furthermore, let and . If transition is enabled, then or . In this case, the enabling module can be simplified to the net structure as shown in Figure 3(c). Similarly, we can construct an inhibitor module, as shown in Figure 4(a).
t1 is enabled if a1 ≤ M(p1) ≤ b1, and t2 is enabled if a2 ≤ M(p2) ≤ b2.
By firing t1 (t2), M(p0) is equal to one.
t is disabled if M(p0) is marked.
That is, if transition is disabled, then the tokens in the places and meet the condition or .
Furthermore, let and , if transition is disabled, then or . In this case, the inhibitor module can be simplified to the net structure as shown in Figure 4(c).
Modulo-N counter
Let us consider a Modulo-N counter as shown in Figure 5. The number of tokens in place is in the cycle from 0 to and it is called a Modulo-N counter.
Modulo-N counter.
Modulo-N counter is an important part of a controller in real-time control systems. It is also similar to the “switch… case…” statement in C programming language.
In Figure 5, can be any integer greater than one according to the requirement of a system. At the initial marking, transition is enabled. After firing , place increases one token and the number of tokens in place remains unchanged. Furthermore, only if the number of tokens in place is less than the number , transition is always enabled. Once the number of tokens in place is equal to , is disabled by a weighted inhibitor arc between place and transition , and transition is enabled. By firing , place is emptied. In this case, the system returns to the initial state. That is to say, the number of tokens in place is in a cycle from 0 to .
The weighted function of arcs
Based on the above analysis of enabling and inhibitor modules, we have a deeper understanding of the weighted enabling and the weighted inhibitor arcs. Then, we propose two new types of arcs, namely, the enabling arcs with the set of weighted functions and the inhibitor arcs with the set of weighted functions. Now some definitions about these two kinds of arcs are given as follows.
Definition 3
An enabling arc with a set of weighted functions is an enabling arc from a place to a transition labeled by a function set , denoted as , where can be any non-negative integer and, for each , (for ) is also a non-negative integer.
Figure 6 shows the graphic representation of an enabling arc with a weighted function set. Then, the enabling and firing rules of the enabling arc with the weighted function set shown in Figure 6 are defined as follows.
An enabling arc with a weighted function set.
Definition 4
Let be a place and a transition with . Transition is enabled if (for ); otherwise, it is disabled. Once is enabled and fires, its firing does not change the token count in .
In Figure 7, for a transition , if there exist both a normal (regular) arc and an enabling arc with a weighted function set , then is enabled when and . Once fires, it produces a new marking with .
and .
In general, there can be multiple elements in . However, in some special case, some of the elements in are redundant. And, we show it in the following remark.
Remark 1
Suppose that there is an enabling arc with a weighted function set and a normal arc from a place to a transition with . If for a variable and for any hold, then are redundant.
Proposition 1
An enabling arc with a weighted function set is more general such that it is a generalization of a weighted enabling arc.
Proof
Without loss of generality, let us consider a weighted enabling arc from a place to a transition labeled by a non-negative integer , which can enable transition at marking if . There exists an enabling arc with a weighted function set , which has the same enabling condition. However, let us consider an enabling arc with a weighted function set , which can enable transition at marking if . Based on the definition of the weighted enabling arcs, there exists no such arc that can have the same enabling condition. Thus, the conclusion holds.
Proposition 1 shows the relation between an enabling arc with a weighted function set and a weighted enabling arc. From Proposition 1, we can conclude that an enabling arc with a weighted function set has a more powerful modeling and control ability compared with a weighted enabling arc. The following example shows the advantage of the enabling arc with a weighted function set in a control problem.
Example 1
Let us consider an unbounded place and a transition , and the control requirement is that should not disable transition for any marking . It is obvious that the weighted inhibitor arc cannot satisfy this control requirement. However, it is easy to be implemented by an enabling arc with a weighted function set .
Definition 5
An inhibitor arc with a set of weighted functions is an inhibitor arc from a place to a transition labeled by a function set , denoted as , where can be any non-negative integer and for each , (for ) is also a non-negative integer.
Figure 8 shows the graphic representation of an inhibitor arc with a weighted function set. Then, the enabling and firing rules of the inhibitor arc with the weighted function set shown in Figure 8 are defined as follows.
An inhibitor arc with a weighted function set.
Definition 6
Let be a place and a transition with . Transition is disabled if (for ); otherwise, it is enabled. Once is enabled and fires, its firing does not change the token count in .
In Figure 9, for a transition , if there exist both a normal (regular) arc and an inhibitor arc with a weighted function , then is enabled when and . Once fires, it produces a new marking with .
and .
Proposition 2
An inhibitor arc with a weighted function set is more general such that it is a generalization of a weighted inhibitor arc and an interval inhibitor arc.
Proof
We first prove that an inhibitor arc with a weighted function set is a generalization of a weighted inhibitor arc. Without loss of generality, let us consider a weighted inhibitor arc from a place to a transition labeled by a non-negative integer , which can disable transition at marking if . There exists an inhibitor arc with a weighted function set , which has the same disabling condition. However, let us consider an inhibitor arc with a weighted function set , which can disable transition at marking if . Based on the definition of the weighted inhibitor arcs, there exists no such arc that can have the same disabling condition.
Then, we prove that an inhibitor arc with a weighted function set is a generalization of an interval inhibitor arc. Without loss of generality, let us consider an interval inhibitor arc from a place to a transition labeled by an integer interval , which can disable transition at marking if . There exists an inhibitor arc with a weighted function set , which has the same disabling condition. However, let us consider an inhibitor arc with a weighted function set , which can disable transition at marking if . Based on the definition of the interval inhibitor arcs, there exists no such arc that can have the same disabling condition. Thus, the conclusion holds.
Proposition 3
An inhibitor arc with a weighted function set is equivalent to a data inhibitor arc.
Proof
Without loss of generality, let us consider a data inhibitor arc from a place to a transition labeled by a set of non-negative integers , which can disable transition at marking if . There exists an inhibitor arc with a weighted function set , which has the same disabling condition. However, let us consider an inhibitor arc with a weighted function set , which can disable transition at marking if . There exists a data inhibitor arc labeled by a set of non-negative integers , which has the same disabling condition. Thus, the conclusion holds.
Proposition 2 provides the relations among an inhibitor arc with a weighted function set, a weighted inhibitor arc, and an interval inhibitor arc. From Proposition 2, it is obvious that an inhibitor arc with a weighted function set has a more powerful modeling and control ability compared with a weighted inhibitor arc and an interval inhibitor arc. Proposition 3 indicates the relation between an inhibitor arc with a weighted function set and a data inhibitor arc. From Proposition 3 and its proof, an inhibitor arc with a weighted function set is equivalent to a data inhibitor arc, but it has a more simpler and compact representation compared with a data inhibitor arc in general.
Example 2
Let us consider an unbounded place and a transition , and the control requirement is that should disable transition for any marking . It is obvious that a weighted inhibitor arc and an interval inhibitor arc cannot satisfy this control requirement. Moreover, we can use a data inhibitor arc to fulfill this control requirement. However, it is easy to be implemented by an inhibitor arc with a weighted function set , which has a more simpler and compact representation compared with the corresponding data inhibitor arc.
Now, a Petri net with the enabling and/or inhibitor arcs labeled by the sets of weighted functions is called an extended function Petri net, which is denoted as . As known, deadlocks have been an important problem to solve in discrete event systems that include computer-integrated systems, flexible manufacturing systems, communication systems, and so on. Petri nets are very useful to solve the deadlock problems due to their powerful ability in modeling and controlling systems.55 Many novel arcs such as interval inhibitor arcs and data inhibitor arcs have been proposed to strengthen the ability of Petri nets. What is more, they are very useful for us to solve the deadlock problems in discrete event systems. However, it is difficult to use the novel arcs to solve the deadlock problems directly. They need to add the control places.56 Based on these considerations, we propose the arcs with the set of weighted functions, which can be used to redistribution of resources to solve the problem of conflict in Petri nets. Two examples are used to demonstrate this idea in the next section.
Example
As known, deadlocks often occur in a resource allocation system owing to the existence of shared resources. It can make an impact on the running of a system. Petri nets have an important effect on modeling and controlling these computer-integrated systems.4,57–60
Now, we take a system consisting of a producer, two consumers, and a buffer as an example, as shown in Figure 10. In this Petri net, the enabling arcs and the inhibitor arcs with the weighted function sets are used to solve the problem of conflict such that Consumers 1 and 2 have different choices under some conditions. In particular, Consumer 1 needs to hold the system when the number of tokens in the buffer (place ) is odd, while Consumer 2 needs to hold the system when the number of tokens in the buffer is even. In order to achieve the resource reallocation requirement of the system, an ordinary arc from place to transition is substituted by an inhibitor arc with a weighted function set from to , where is a non-negative integer variable. Moreover, another ordinary arc from place to transition is also substituted by an enabling arc with a weighted function set from to , where is a non-negative integer variable. It means that Consumers 1 and 2 can hold the system, respectively, with different number of tokens in using such kinds of inhibitor and enabling arcs proposed in this article, which effectively avoids the conflict between Consumers 1 and 2.
An extended function Petri net model (two consumers).
Then, we make a concrete analysis. From the extended function Petri net model, we can see that transition is enabled if the number of tokens in is odd. Transition is enabled if the number of tokens in is even. From Figure 10, we can find that the sub-net consisting of , , , and is live, that is, there is no deadlock in the sub-net. Every time transition fires, the number of tokens in is increased by one.
When there is one token in place , we remark the present marking as , where . We can see that transitions and are enabled at . Then, if the transition sequence fires, we can compute the destination marking using equation (1) as follows
When there are two tokens in place , we remark the current marking as , where . Then, we can see that transitions and are enabled. Then, if the transition sequence fires, we can compute the destination marking using equation (1) as follows
The above analysis fully shows that the weighted function of arcs can be used to solve the problem of resource reallocation. In Figure 10, we can see that the system has no conflict problem. In this net system, we use the arcs with weighted functions to solve the problem of conflict. The result shows that these two new types of arcs are very useful to analyze and solve the problem of conflict in the net system.
By this example, compared with the proposed new types of arcs, we now show that the weighted enabling arcs cannot achieve the control requirements of Consumers 1 and 2. Take Consumer 1 as an example. Since Consumer 1 needs to hold the system when the number of tokens in the buffer (place ) is odd, transition needs to be enabled when the number of tokens in is odd. According to Definition 1, a weighted enabling arc from place to transition can enable transition if the number of the tokens in is no less than the weight of the weighted enabling arc. However, it is obvious that the odd numbers are not consecutive. Thus, no weighted enabling arcs can guarantee to enable transition when the number of tokens in is odd. Similarly, the weighted inhibitor arcs neither achieve the control requirements of Consumers 1 and 2.
Moreover, we show that we cannot use interval inhibitor arcs50 to solve the resource reallocation problem for this example. In fact, according to the requirement of Consumer 1, it needs to hold the system when the number of tokens in the buffer is odd. Since the odd numbers are not consecutive, they cannot be represented by any integer interval. Based on the definition of the interval inhibitor arcs, it is obvious that we cannot use the finite number of interval inhibitor arcs to achieve the requirement of Consumer 1. Similarly, we can neither use any interval inhibitor arc to satisfy the requirement of Consumer 2.
Finally, we use data inhibitor arcs proposed in Chen et al.51 to solve this resource reallocation problem. Based on the definition of data inhibitor arcs, if we want to use data inhibitor arcs to meet the requirement of Consumer 1 (disable when the number of tokens in is even), we need to use the set of all even numbers labeled on the inhibitor arc from to . According to the control requirement of Consumer 2 (disable when the number of tokens in is odd), we need to use the set of all odd numbers labeled on the inhibitor arc from to . Table 1 shows the performance comparison of different types of arcs for the net model in Figure 10. From Table 1, we can see that only data inhibitor arcs can satisfy the control requirements of the two consumers among several different types of arcs in the literature. However, since the form of the weight labeled on the inhibitor arcs is more complex and the data set contains too many variables, its representation is not compact compared with the enabling or inhibitor arcs with the weighted function set in general. Moreover, from the practical point of view, since the data set labeled on the inhibitor arcs is infinite for this example, it may cost more memory to store this information for the system. Thus, we can conclude that the data inhibitor arcs are not efficient to solve this resource reallocation problem compared with the proposed new types of arcs in this article.
Performance comparison of different types of arcs for the net model in Figure 10.
In order to further show the advantages of the proposed net structures, we present a Petri net model as shown in Figure 11 that represents a system consisting of a producer, consumers , and a buffer, which is a more general case of Figure 10. Due to the existence of shared resources among consumers, consumers can hold the system when there are tokens in . In this case, conflict can occur in this system. When there are enough tokens in the buffer, they can be reasonably allocated to consumers by each enabling arc with a set of weighted functions. For this example, it is similar as the case we have discussed in Figure 10, the resource reallocation problem cannot be solved by weighted enabling arcs, weighted inhibitor arcs, and interval inhibitor arcs. Now, we use data inhibitor arcs to solve this resource reallocation problem. Without loss of generality, we consider Consumer in the system. In order to meet the control requirement of this consumer, place needs to enable transition when the number of tokens in the place is equal to an element in the set , where is an integer greater than one. Thus, the data set labeled on the inhibitor arc should be , which is the complementary set of . From this example, we can see that the proposed net structures in this article are more efficient and have more powerful control ability than the existing net structures in the related literature.
An extended function Petri net model ( consumers).
However, we must point out that the set of functions labeled on the arcs is strongly related to the control requirements of the net system. Given an arbitrary control requirement, it is not obvious to find a suitable set of weighted functions and the corresponding domain of each function in the set to meet the control requirement. Moreover, in this article, we cannot guarantee that the number of arcs with a weighted function set has a polynomial bound with respect to the size of a net system for any control requirement.
Conclusion
To make Petri net with enabling and inhibitor arcs more powerful, the extended Petri net modules which include an enabling module, an inhibitor module, and a Modulo-N counter are constructed in this article. We propose three equivalent net structures, and simplify the enabling module and inhibitor module based on these net structures. The proposed modules can be used to design the forbidden state problem controller for discrete event systems.53,61,62 Then, we introduce two new types of arcs, namely, enabling and inhibitor arcs with the set of weighted functions. Arcs with the set of weighted functions are special arcs since their weights are denoted by the set of functions. The new Petri net structures also make a Petri net more capable to model and control a system. They are very useful to solve the problem of resource reallocation in the systems. A future work is to extend the proposed net structures to deal with the resource reallocation problem when the control requirement is unknown by using the learing-based method.63
Footnotes
Handling Editor: Tatsushi Nishi
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: This work was supported, in part, by the Fund of China Scholarship Council (no. 201806960023).
ORCID iD
Xuya Cong
References
1.
MurataT. Petri nets: properties, analysis, and applications. Proc IEEE1989; 77: 541–580.
2.
ChenYFLiZWBarkaouiKet al. On the enforcement of a class of nonlinear constraints on Petri nets. Automatica2015; 55: 116–124.
3.
LiZWZhaoM. On controllability of dependent siphons for deadlock prevention in generalized Petri nets. IEEE T Syst Man Cyb: Part A2008; 38: 369–384.
4.
MaZYLiZWGiuaA. Design of optimal Petri net controllers for disjunctive generalized mutual exclusion constraints. IEEE T Automat Contr2015; 60: 1774–1785.
5.
MaZYLiZWGiuaA. Characterization of admissible marking sets in Petri nets with conflicts and synchronizations. IEEE T Automat Contr2017; 62: 1329–1341.
6.
MaZYTongYLiZWet al. Basis marking representation of Petri net reachability spaces and its application to the reachability problem. IEEE T Automat Contr2017; 62: 1078–1093.
7.
TongYLiZWSeatzuCet al. Verification of state-based opacity using Petri nets. IEEE T Automat Contr2017; 62: 2823–2837.
8.
UzamMLiZWGelenGet al. A divide-and-conquer-method for the synthesis of liveness enforcing supervisors for flexible manufacturing systems. J Intell Manuf2016; 27: 1111–1129.
9.
ZhangHMFengLWuNQet al. Integration of learning-based testing and supervisory control for requirements conformance of black-box reactive systems. IEEE T Autom Sci Eng2018; 15: 2–15.
10.
ZhuRMZhangYYangL. A class of generalized Petri nets and its state equation. Adv Mech Eng2017; 9: 1–17.
11.
HouYWuNQZhouMCet al. Pareto-optimization for scheduling of crude oil operations in refinery via genetic algorithm. IEEE T Syst Man Cyb2017; 47: 517–530.
12.
WuNQLiZWQuT. Energy efficiency optimization in scheduling crude oil operations of refinery based on linear programming. J Clean Prod2017; 166: 49–57.
13.
ZhangSWWuNQLiZWet al. Petri net-based approach to short-term scheduling of crude oil operations with less tank requirement. Inform Sci2017; 417: 247–261.
14.
HeZLiZWGiuaA. Performance optimization for timed weighted marked graphs under infinite server semantics. IEEE T Automat Contr2018; 63: 2573–2580.
15.
CongXYFantiMPManginiAMet al. Decentralized diagnosis by Petri nets and integer linear programming. IEEE T Syst Man Cyb2018; 48: 1689–1700.
16.
ZhuGHLiZWWuNQet al. Fault identification of discrete event systems modeled by Petri nets with unobservable transitions. IEEE T Syst Man Cyb2019; 49: 333–345.
17.
ZhuGHLiZWWuNQ. Model-based fault identification of discrete event systems using partially observed Petri nets. Automatica2018; 96: 201–212.
18.
CongXYFantiMPManginiAMet al. On-line verification of current-state opacity by Petri nets and integer linear programming. Automatica2018; 94: 205–213.
19.
GuCLiZWWuNQet al. Improved multi-step look-ahead control policies for automated manufacturing systems. IEEE Access2018; 6: 68824–68838.
20.
WangXKhemaissiaIKhalguiMet al. Dynamic low-power reconfiguration of real-time systems with periodic and probabilistic tasks. IEEE T Autom Sci Eng2015; 12: 258–271.
21.
ChenYFLiZWAl-AhmariAet al. Deadlock recovery for flexible manufacturing systems modeled with Petri nets. Inform Sci2017; 381: 290–303.
22.
CoffmanEGElphickMJShoshaniA. System deadlocks. ACM Comput Surv1971; 3: 67–78.
23.
HuHSZhouMCLiZW. Algebraic synthesis of timed supervisor for automated manufacturing systems using Petri nets. IEEE T Autom Sci Eng2010; 7: 549–557.
24.
HuangYSJengMDXieXLet al. Siphon-based deadlock prevention for flexible manufacturing systems. IEEE T Syst Man Cyb: Part A2006; 36: 1248–1256.
25.
LiZWZhouMC. Elementary siphons of Petri nets and their application to deadlock prevention in flexible manufacturing systems. IEEE T Syst Man Cyb: Part A2004; 34: 38–51.
26.
LiZWLiuGYHanischMHet al. Deadlock prevention based on structure reuse of Petri net supervisors for flexible manufacturing systems. IEEE T Syst Man Cyb: Part A2012; 42: 178–191.
27.
WangSGWangCYZhouMC. Controllability conditions of resultant siphons in a class of Petri nets. IEEE T Syst Man Cyb: Part A2012; 42: 1206–1215.
28.
XingKYZhouMCLiuHXet al. Optimal Petri-net-based polynomial-complexity deadlock-avoidance policies for automated manufacturing systems. IEEE T Syst Man Cyb: Part A2009; 39: 188–199.
29.
GuCWangXLiZW. Synthesis of supervisory control with partial observation on normal state tree structures. IEEE T Autom Sci Eng2018; 2018: 1–14.
30.
LiZWHuHSWangAR. Design of liveness-enforcing supervisors for flexible manufacturing systems using Petri nets. IEEE T Syst Man Cyb: Part C2007; 37: 517–526.
31.
LiZWZhouMC. Control of elementary and dependent siphons in Petri nets and their application. IEEE T Syst Man Cyb: Part A2008; 38: 133–148.
32.
TricasFMartinezJ. An extension of the liveness theory for concurrent sequential processes competing for shared resources. IEEE Syst Man Cyb1995; 4: 3035–3040.
33.
ZhouMCDicesareF. Parallel and sequential mutual exclusions for Petri net modeling of manufacturing systems with shared resources. IEEE T Robot Autom1991; 7: 515–527.
34.
LiZWZhouMC. Two-stage method for synthesizing liveness-enforcing supervisors for flexible manufacturing systems using Petri nets. IEEE T Ind Inform2006; 2: 313–325.
35.
LiZWZhouM. Deadlock resolution in automated manufacturing systems: a novel Petri net approach. Berlin: Springer, 2009.
36.
RamadgePJWonhamWM. Supervisory control of a class of discrete-event processes. Soc Ind Appl Math Control Optim1987; 25: 206–230.
37.
RamadgePJWonhamWM. Modular feedback logic for discrete event systems. Soc Ind Appl Math Control Optim1987; 25: 1202–1218.
38.
WonhamWMRamadgePJ. On the supremal controllable sublanguage of a given language. Soc Ind Appl Math Control Optim1987; 25: 637–659.
39.
HuangYSPanYLZhouMC. Computationally improved optimal deadlock control policy for flexible manufacturing systems. IEEE T Syst Man Cyb: Part A2012; 42: 404–415.
40.
LiZWZhouMCWuNQ. A survey and comparison of Petri net-based deadlock prevention policies for flexible manufacturing systems. IEEE T Syst Man Cyb: Part C2008; 38: 173–188.
41.
PetersonJL. Petri net theory and the modeling of systems. Upper Saddle River, NJ: Prentice-Hall, 1981.
42.
ChoYCKwonWH. Inhibitor arc based state avoidance controller for non-convex forbidden state problems in Petri nets. In: Proceedings of the 39th IEEE international conference on decision and control, Sydney, NSW, Australia, 12–15 December 2000, pp.295–300. New York: IEEE.
43.
WuWMSuHYHuJBet al. Petri net controller synthesis for discrete event systems using weighted inhibitor arc. In: Proceedings of the 2001 IEEE international conference on robotics and automation, Seoul, South Korea, 21–26 May 2001, pp.3582–3587. New York: IEEE.
44.
BaldanPBusiNCorradiniAet al. Domain and event structure semantics for Petri nets with read and inhibitor arcs. Theor Comput Sci2004; 323: 129–189.
45.
BusiN. Analysis issues in Petri nets with inhibitor arcs. Theor Comput Sci2002; 275: 127–177.
46.
JanickiRKoutnyM. Semantics of inhibitor nets. Inform Comput1995; 123: 1–16.
47.
ReinhardtK. Reachability in Petri nets with inhibitor arcs. Electr Note Theor Comput Sci2008; 223: 239–264.
48.
GelenGUzamM. Novel analysis of Petri-net-based controllers by means of TCT implementation tool of supervisory control theory. Maejo Int J Sci Tech2010; 4: 360–396.
49.
MarsanMABalboGConteGet al. Modelling with generalized stochastic Petri nets. Hoboken, NJ: John Wiley and Sons, 1995.
50.
ChenYFLiZW. New Petri net structure and its application to optimal supervisory control: interval inhibitor arcs. IEEE T Syst Man Cyb2014; 44: 1384–1400.
51.
ChenYFLiZWBarkaouiKet al. Compact supervisory control of discrete event systems by Petri nets with data inhibitor arcs. IEEE T Syst Man Cyb2017; 47: 364–379.
52.
WuWMSuHYChuJ. Supervisory control of discrete event systems using enabling arc Petri nets. In: Proceedings of the 2002 IEEE international conference on robotics and automation, vol. 2, Washington, DC, 11–15 May 2002, pp.1913–1918.
53.
ChoYCKwonWH. On forbidden state problems in a general class of non-ordinary controlled Petri nets. IEEE Syst Man Cyb1998; 1: 90–95.
54.
BarrettLR. An architecture for structured, concurrent, real-time action. Technical report, report no. UCB/EECS-2010-58. Berkeley, CA: Electrical Engineering and Computer Sciences, University of California, http://www.eecs.berkeley.edu/Pubs/TechRpts/2010/EECS-2010-58.pdf
55.
TongYLiZWGiuaA. On the equivalence of observation structures for Petri net generators. IEEE T Automat Contr2016; 61: 2448–2462.
56.
LiZWZhouMCJengMD. A maximally permissive deadlock prevention policy for FMS based on Petri net siphon control and the theory of regions. IEEE T Autom Sci Eng2008; 5: 182–188.
57.
WangXLiZWWonhamWM. Dynamic multiple-period reconfiguration of real-time scheduling based on timed DES supervisory control. IEEE T Ind Inform2016; 12: 101–111.
58.
WuNQZhouMCLiZW. Short-term scheduling of crude-oil operations: Petri net-based control-theoretic approach. IEEE Robot Autom Mag2015; 22: 64–76.
59.
YeJHLiZWGiuaA. Decentralized supervision of Petri nets with a coordinator. IEEE T Syst Man Cyb2015; 45: 955–966.
60.
ZhangJFKhalguiMLiZWet al. Reconfigurable coordination of distributed discrete event control systems. IEEE T Control Syst T2015; 23: 323–330.
61.
GiuaA. Petri net techniques for supervisory control of discrete event systems. In: Proceeding of first international workshops on manufacturing and Petri nets, Osaka, Japan, 25 June 1996, pp.1–30.
62.
RamadgePJWonhamWM. The control of discrete event systems. Proc IEEE1989; 77: 81–97.
63.
ZhangHMFengLLiZW. A learning-based synthesis approach to the supremal nonblocking supervisor of discrete-event systems. IEEE T Automat Contr2018; 63: 3345–3360.