Processing math: 100%
Logic Petri Net Synthesis for Cooperative Systems | IEEE Journals & Magazine | IEEE Xplore
Scheduled Maintenance: On Monday, 30 June, IEEE Xplore will undergo scheduled maintenance from 1:00-2:00 PM ET (1800-1900 UTC).
On Tuesday, 1 July, IEEE Xplore will undergo scheduled maintenance from 1:00-5:00 PM ET (1800-2200 UTC).
During these times, there may be intermittent impact on performance. We apologize for any inconvenience.

Logic Petri Net Synthesis for Cooperative Systems


This paper presents a systematic LPN synthesis approach for cooperative systems. First, a normal/logic transition with its connected places is treated as a basic design m...

Abstract:

Logic Petri Nets (LPNs) is a high-level Petri net, which have the capability to model the batch and indeterminate processing of resources in cooperative systems. Their mo...Show More

Abstract:

Logic Petri Nets (LPNs) is a high-level Petri net, which have the capability to model the batch and indeterminate processing of resources in cooperative systems. Their modeling capability is equivalent to that of inhibition Petri nets (IPNs) but the former maintains simpler net structures. This paper presents a systematic LPN synthesis approach for cooperative systems. First, a normal/logic transition with its connected places is treated as a basic design module. Then, we synthesize the basic design modules firstly to construct LPN models by connecting with shared resource places. Finally, some control strategies are designed to guarantee the resulting LPNs with desirable properties such as boundedness, liveness, and reversibility. An example for constructing an E-commerce system is proposed to illustrate the proposed approach. The paper is of significance in the sense that it provides industrial engineers and academic researchers a methodology of applying LPNs to modeling and analysis of cooperative systems.
This paper presents a systematic LPN synthesis approach for cooperative systems. First, a normal/logic transition with its connected places is treated as a basic design m...
Published in: IEEE Access ( Volume: 7)
Page(s): 161937 - 161948
Date of Publication: 01 November 2019
Electronic ISSN: 2169-3536

Funding Agency:


CCBY - IEEE is not the copyright holder of this material. Please follow the instructions via https://creativecommons.org/licenses/by/4.0/ to obtain full-text articles and stipulations in the API documentation.
SECTION I.

Introduction

Cooperative systems like e-commerce systems require interaction and exchanging messages during the trade between merchants and customers. As shown in Fig. 1, it requires that the systems can simultaneously process a batch of data after certain time intervals, which is called a batch processing of resources. At the same time, there exists indeterminate processing of resources for both merchants and customers during their trading. For example, customers can order products of different quantity, a merchant could face to a shortage of products, the time spent on different stages of the dealing process for different merchant and customers vary, and customers could change or cancel their dealing process during the trading progress. All aforementioned scenarios are called indeterminate processing of resources in the following content. Thus, the batch processing of resources and indeterminate processing of resources in cooperative systems should be well modeled and analyzed, which is of significance theoretically and practically.

FIGURE 1. - A basic E-commerce system.
FIGURE 1.

A basic E-commerce system.

Petri net (PN) was firstly proposed by Carl Adam Petri in his doctoral dissertation “Kommunikation mit Automaten” in 1962 [1]. It can well describe the concurrent, asynchronous, distributed, and parallel operations of processes and components in the distributed systems. After more than half century, it has been proved as a powerful modeling and analysis tool and used in simulation and analysis of cooperative systems and discrete event systems because of its well-founded formalization. With the solid mathematical definition and relatively straightforward graphical expression, before the systems are put into operation, PNs are firstly used to model, analyze, and ensure the desirable properties such as boundedness, liveness, and reversibility.

Until now, many extensions of PNs have been proposed. For example, high-level PNs, e.g., colored PNs [2], [3] and predicate/transition nets, have the same modeling capability with the normal PNs but can describe complex systems with simpler net structures. Timed PNs [4] and stochastic PNs [5] have been proposed for system performance analysis in many fields such as process control, communications protocols, production systems, hardware, embedded systems, and transportation systems [6]–​[9] with increasingly available software. Meanwhile, augmented PNs such as inhibition Petri nets (IPNs) can strengthen the modeling capability of PNs. As one of augmented PNs, Logic Petri nets (LPNs) were firstly defined by Du et al. in [10] and [11], which have been verified holding equivalent modeling capability with inhibition Petri nets (IPNs) but maintaining simpler net structures. In LPNs, additional restrictions are attached to transitions, which are divided into normal transitions as those in traditional PNs and logic transitions. Each logic transition is combined with a first-order predicate logic expression of its connected places. In detail, a logic expression can be a logic input transition or logic output transition restricting its input places and output places, respectively. If it is a logic input transition, the logic expression concerns its input places. The transition can fire only if tokens in input places satisfy a logic expression. In other words, the marking of the places satisfies the requirement described by the expression. Similarly, a logic output transition is attached with a logic expression of its output places and its firing will generate tokens, which makes the logic expression be satisfied. Fortunately, such logic transitions can well model and analyze batch and indeterminate processing of resources in cooperative systems in Fig. 1. In detail, the indeterminacy is implied by the logic expressions attached to the corresponding logic transitions. The indeterminate processing of resources can be divided into input and output indeterminacy in such systems, which can be described by logic input and output transitions, respectively. With the enhanced modeling capability, LPNs are suitable for more complexed modeling requirements. Recently, LPNs have been used to formalize stock trading systems [11] and business process modeling [12]. Guo and Du have proved the equivalence between the safe IPNs and LPNs in [10]. In fact, IPNs can describe the prior discussed batch processing functions and data arrival indeterminacy. However, it lacks practical modeling tools and efficient analysis methods. In [13], a PN model named Stochastic Activity Networks containing predicates and functions in terms of markings of places have the functions of batch and indeterminate processing of resources. However, each transition can be restricted by more than one predicates and functions, which makes the analysis very complex. Du and Jiang [11] analyze e-commerce systems by using a subclass of LPNs in which the special structures of these systems are expressed by logic expressions; and relationships among logic transitions can be used to derive the otherwise-difficult-to-analyze fundamental properties of LPNs. Our previous work has presented a vector matching method [14] for analyzing an LPN. Some properties, i.e., liveness, reachability and reversibility, are obtained based on the methodology. In [15], we present an interactive logic Petri nets, and their liveness and boundedness analysis are discussed. Compatibility is proposed as an important concept to decide if its subsystems own correct/proper interactions. Different cooperative abilities are thus characterized in practice. Some relationships among compatibility, liveness, and boundedness are revealed. An example is used to illustrate them. As a powerful augmented PN, there is no systematic LPN synthesis approach for modeling cooperative systems. Besides, it is hard to verify the properties of a LNP model even in a moderate size. Thus, this paper proposes an approach for LPN synthesis. It does so by a bottom-up design. Sub-LPNs are connected with shared resource places. Control strategies are used to ensure LPNs with desirable properties.

The rest of the paper is organized as follows. Section II briefly presents the basic notations and concepts of PNs and LPNs. Section III defines basic design modules (BDM) and the procedure to synthesize BDMs to construct sub-LPNs. The final system model is then obtained by connecting sub-LPNs by shared resource places. Control strategies are designed to ensure desired properties of the model. Section IV describes an e-commerce system and its LPN model by using the proposed methodology. Section V concludes this work and discusses the future work.

SECTION II.

Logic Petri Nets (LPNs)

Some notions and definitions of PNs [16]–​[25] and LPNs [10] are reviewed first in this section. Here, \mathbb {R}_{0} denotes the set of all real numbers, and \mathbb {N}=\{0, 1, 2, \cdots \} denotes the set of all natural numbers. In the following discussion, \mathbb {N}^{+}=\mathbb {N}-\{0\} ; given k\in \mathbb {N}^{+} , we let \mathbb {N}_{k}=\{0, 1, \cdots, k\} and \mathbb {N}_{k}^{+}=\{1, 2, \cdots, k\} .

Definition 1:

A marked Petri net is described as a six-tuple PN=(P, T, I, O, M, M_{0}) , where

  1. P=\{p_{1}, p_{2}, \ldots, p_{n}\} is a finite set of places, where n\in \mathbb {N}^{+} ;

  2. T=\{t_{1}, t_{2}, \ldots, t_{s}\} is a finite set of transitions with P\cup T\ne \emptyset and P\cap T=\emptyset , where s\in \mathbb {N}^{+} ;

  3. I : P\times T\to \mathbb {N} is an input function, which defines the weight of a directed arc from a place to a transition, where for p\in P and t\in T :

    1. if I(p, t)=0 , there exists no arc from p to t ; and

    2. if I(p, t)>0 , there exists an arc from p to t with a weight equaling I(p, t) ;

  4. O : P\times T\to \mathbb {N} is an output function, which defines the weight of a directed arc from a transition to a place, where for p\in P and t\in T :

    1. if O(p, t)=0 , there exists no arc from t to p ; and

    2. if O(p, t)>0 , there exists an arc from t to p with a weight equaling O(p, t) ; and

  5. M : P\to \mathbb {N} is a marking function, which defines the number of tokens in each place p\in P , denoted by M(p) , where M_{0} is the initial marking.

    The firing rules of transitions are that

    1. a transition t\in T is enabled at a marking M if p\in P and I(p, t)>0: M(p)\ge I(p, t) , represented by M[t> ; and

    2. when an enabled transition t fires at M , a new marking M^\prime is generated, represented by M[t>M^\prime , where for \forall p\in P: M^\prime (p)=M^\prime (p)+O(p, t)-I(p, t) .

The marking M^\prime is said to be reachable from M . Let \sigma =t_{1}t_{2}\ldots t_{k} , k\in \mathbb {N}^{+} , be a sequence of transitions such that M[t_{1} \rangle M_{1} , M_{1}[t_{2} \rangle M_{2},\ldots , and M_{k-1}[t_{k} \rangle M_{k} , and then M_{k} is reachable from M , denoted by M[\sigma \rangle M_{k} . For convenience, we denote t_{i}\in \sigma , i\in {\mathbb {N}_{\mathrm {k}}}^{+} . Given a PN, the set of all reachable markings from M is denoted by R(PN, M) (or R(M) for short) and M\in R(M) . If x\in P\cup T , we denote ^{\cdot }x=\{y|I(y, x)>0\} and x^{\cdot }=\{y|O(x, y)>0\} as the pre-set and post-set of x , respectively. For simplicity, a marking M can be denoted as M=\sum _{p\in P}M(p)\cdot p . We now give the definitions of some important properties of PNs.

Definition 2:

A marked Petri net PN is k -bounded if \forall p\in P and \forall M\in R(PN, M_{0}) : M(p)\le k , where k\in \mathbb {N}^{+} . N is safe if k=1 . PN is live if for \forall t\in T and \forall M\in R(PN, M_{0}) , \exists \sigma such that M[\sigma >M^\prime and M^\prime [t> . N is reversible if \forall M\in R(M_{0}) : M_{0}\in R(M) .

By attaching first-order predicate logic to PNs, we give the following notations. Firstly, notice that in a logic expression [26], [27], the operators consist of logic disjunction “\vee ”, conjunction “\wedge ”, and negation operator “\neg ”. Let _{\cdot }T_{\cdot } and _{\cdot }F_{\cdot } denote the logic value “true” and “false”, respectively, and \neg _{\cdot }T_{\cdot }=_{\cdot }\!\!\!F_{\cdot } and \neg _{\cdot }F_{\cdot }=_{\cdot }\!\!\!T_{\cdot } , where \neg is a logic negation operator. Then each place is attached a corresponding logic value towards a transition at a marking.

In the following discussion, let PN=(P, T, I, O, M, M_{0}) be a PN and M\in R(M_{0}) . For p_{i}\in P , i\in \mathbb {N}_{n}^{+} , and t\in T , p_{i}^{M,t} denotes a logic value of p_{i} towards a transition t at a marking M , where \begin{equation*} p_{i}^{M,t}=\begin{cases} {}_{\cdot }T_{\cdot }, & if~M(p_{i})\ge I(p_{i},t) \\ {}_{\cdot }F_{\cdot }, & else \end{cases}\tag{1}\end{equation*} View SourceRight-click on figure for MathML and additional features.

{}^{M,t}p_{i} denotes a logic value of p_{i} from a transition t at a marking M , where \begin{equation*} {}^{M,t}p_{i} =\begin{cases} {}_{\cdot }T_{\cdot }, & if~M(p_{i})\ge O(p_{i},t) \\ {}_{\cdot }F_{\cdot }, & else \end{cases}\tag{2}\end{equation*} View SourceRight-click on figure for MathML and additional features.

Given PN=(P, T, I, O, M, M_{0}) and M\in R(M_{0}) , for t\in T , if \exists p\in P and p^{M,t}=_{\cdot }\!\!F_{\cdot } , we have M(p)< I(p, t) . Because M(p)\ge 0 , I(p, t)\ge 1 . According to the transition firing rules, M[t> if p\in P and I(p, t)>0 : M(p)\ge I(p, t) . Thus, given that M(p)< I(p, t) and I(p, t)\ge 1 , t is not enabled at M . We have the following conclusions according to the definitions of PNs and formula (1) and (2).

Corollary 1:

Given PN=(P, T, I, O, M, M_{0}) and M\in R(M_{0}) , for t\in T , M[t> iff \forall p\in P : p^{M,t}=_{\cdot }\!\!T_{\cdot } .

Corollary 2:

Given PN=(P, T, I, O, M, M_{0}) and M\in R(M_{0}) , for t\in T , M[t> iff f(^{\cdot }t, M)=_{\cdot }\!\!T_{\cdot } , where f(^{\cdot }t, M)={p_{i1}}^{M,t}\wedge {p_{i2}}^{M,t}\wedge \ldots \wedge {p_{ik}}^{M,t} , where ^{\cdot }t=\{p_{i1}, p_{i2}, \ldots, p_{ik}\} .

Generally, given PN=(P, T, I, O, M, M_{0}) and \forall M\in R(M_{0}) , we can attach a first-order predicate logic expression to a transition t\in T with respect to its input places, denoted by f(^{\cdot }t, M)=l({p_{i1}}^{M,t}, {p_{i2}}^{M,t}, \ldots, {p_{ik}}^{M,t}) , where ^{\cdot }t=\{p_{i1}, p_{i2}, \ldots, p_{ik}\} , k\in {\mathbb {N}_{n}}^{+} , l({p_{i1}}^{M,t}, {p_{i2}}^{M,t}, \ldots, {p_{ik}}^{M,t})\in L({p_{i1}}^{M,t}, {p_{i2}}^{M,t}, \ldots, {p_{ik}}^{M,t}) , and L({p_{i1}}^{M,t}, {p_{i2}}^{M,t}, \ldots , {p_{ik}}^{M,t}) is a set of all predicate logic expressions containing all elements in \{{p_{i1}}^{M,t}, {p_{i2}}^{M,t}, \ldots, {p_{ik}}^{M,t}\} and operators “˅”, “˄”, and “\neg ”. Similarly, we can attach a first-order predicate logic expression to t with respect to its output places, denoted by g(t^{\cdot }, M)=l(^{M,t}p_{j1}, {}^{M,t}p_{j2}, \ldots, {}^{M,t}p_{jh})\in L(^{M,t}p_{j1}, ^{M,t}p_{j2}, \ldots, ^{M,t}p_{jh}) , and L(^{M,t}p_{j1}, ^{M,t}p_{j2}, \ldots, ^{M,t}p_{jh}) is a set of all predicate logic expressions containing all elements in \{^{M,t}p_{j1}, ^{M,t}p_{j2}, \ldots , ^{M,t}p_{jh}\} where t^{\cdot }=\{p_{j1}, p_{j2}, \ldots, p_{jh}\} , h\in {\mathbb {N}}_{n}^{+} , and it contains operators “˅”, “˄”, and “\neg ”.

The following definition of LPNs is owing to [28].

Definition 3:

LPN=(P, T, I, O, M, f, g, \tau) is an LPN where

  1. P=P_{R}\cup P_{C} denotes a finite set of places with P\ne \emptyset and P_{R}\cap P_{C}=\emptyset where

    1. P_{R} represents a set of resource places; and

    2. P_{C} represents a set of control places with P_{C}=P_{CB}\cup P_{CS} , where P_{CB} denotes basic control places and P_{CS} denotes shared control places;

  2. T=T_{D}\cup T_{I}\cup T_{O} is a finite set of transitions with T\ne \emptyset , T_{I}\cap T_{O}=T_{I}\cap T_{D}=T_{O}\cap T_{D}=\emptyset , and \forall t\in T_{I}\cup T_{O} : ^{\cdot }t\cap t^{\cdot }=\emptyset , where

    1. T_{D} denotes a set of transitions as defined in a traditional PN;

    2. T_{I} is called a set of logic input transitions, where \forall t\in T_{I} , a first-order predicate logic expression f_{M}(^{\cdot }t) is attached;

    3. T_{O} denotes a set of logic output transitions, where \forall t\in T_{O} , a first-order predicate logic expression f_{M}(t^{\cdot }) is attached;

  3. I : P\times T\to \mathbb {N} is an input function, which defines the weight of a directed arc from a place to a transition, where for p\in P and t\in T :

    1. if I(p, t)=0 , there exists no arc from p to t ; and

    2. if I(p, t)>0 , there exists an arc from p to t with a weight equaling I(p, t) ;

  4. O : P\times T\to \mathbb {N} is an output function, which defines the weight of a directed arc from a transition to a place, where for p\in P and t\in T :

    1. if O(p, t)=0 , there exists no arc from t to p ; and

    2. if O(p, t)>0 , there exists an arc from t to p with a weight equaling O(p, t) ;

  5. M : P\to \mathbb {N} is a marking function, which defines the number of tokens in a place p\in P , denoted by M(p) , where M_{0} is the initial marking;

  6. f : ^{\cdot }T\times R(M_{0})\to L({p_{i1}}^{M,t}, {p_{i2}}^{M,t}, \ldots, {p_{ik}}^{M,t}) is a function of predicate logic input expressions, where ^{\cdot }t=\{p_{i1}, p_{i2}, \ldots, p_{ik}\} , k\in \mathbb {N}_{n}^{+} , L({p_{i1}}^{M,t}, {p_{i2}}^{M,t}, \ldots , {p_{ik}}^{M,t}) is the set of all predicate logic expressions containing all elements in \{ {p_{i1}}^{M,t}, {p_{i2}}^{M,t}, \ldots, {p_{ik}}^{M,t}\} and operators “˅”, “˄”, and “\neg ”, ^{\cdot }T=\{^{\cdot }t \vert t\in T\} , and if t\in T_{D}\cup T_{O} , f(^{\cdot }t, M)={p_{i1}}^{M,t}\wedge {p_{i2}}^{M,t}\wedge \ldots \wedge {p_{ik}}^{M,t} , which is treated as default;

  7. g : {T_{O}}^{\cdot }\times R(M_{0})\to L(^{M,t}p_{j1} , ^{M,t}p_{j2}, \ldots, ^{M,t}p_{jh}) where t^{\cdot }=\{p_{j1}, p_{j2}, \ldots, p_{jh}\} , h\in {\mathbb {N}_{n}}^{+} , L(^{M,t}p_{j1}, ^{M,t}p_{j2}, \ldots, ^{M,t}p_{jh}) is the set of all predicate logic expressions containing all elements in \{^{M,t}p_{j1}, ^{M,t}p_{j2}, \ldots, ^{M,t}p_{jh}\} and operators “˅”, “˄”, and “\neg ”, and {T_{O}}^{\cdot }=\{t^{\cdot } \vert t\in T_{O}\} ; and

  8. \tau : T\to \mathbb {R}^{+} associates transitions with a time delay, i.e., if t\in T is enabled, it fires after time interval \tau (t) . It has the following transition firing rules:

    1. \forall t\in T_{D} , its firing rules are the same as those in PNs;

    2. \forall t\in T_{I} , M[t> only if f(^{\cdot }t, M)=_{\cdot }\!\!T_{\cdot } . After \tau (t) , M[t \rangle M^\prime , where if p\in {}^{\cdot }t and p^{M,t}=_{\cdot }\!\!\!F_{\cdot } , then M^\prime (p)=M(p) , else, M^\prime (p)=M(p)+O(p, t)-I(p, t) ; and

    3. \forall t\in T_{O} , t is enabled only if \forall p\in {}^{\cdot }t : ^{M,t}p =_{\cdot }\!\!T_{\cdot } . After \tau (t) , M[t \rangle M^\prime , where g(t^{\cdot }, M)=_{\cdot }\!\!T_{\cdot } , and if p\in t^{\cdot } and ^{M,t}p=_{\cdot }\!\!F_{\cdot } , then M^\prime (p)=M(p) , else, M^\prime (p)=M(p)+O(p, t)-I(p, t) .

From the definition of LPN, each transition is attached with a predicate logic expression. If a transition is a logic input transition, its predicate logic expression is related to the input places of the transition. The firing of the transition is restricted by logic expression, i.e., if the logic value of the transition is true, the transition can fire. When the transition is enabled under a certain marking and then fires, tokens in the places with true logic values towards the transition at the marking can be removed. Similarly, each logic output transition is attached with a predicate logic expression. The predicate logic expression is related to the output places of the transition. The results after the firing of the transition is restricted by a logic expression, i.e., when the transition is enabled under a certain marking and then fires, tokens can be generated in the places with true logic values towards the transition at the marking. Thus, the indeterminate input and output of logic transitions are described by logic expressions. Besides, in order to describe the real systems, time information is always involved. From the previous research, it can be included in places and transitions. In this work, we attach time to transitions. If a transition is enabled, it maintains the current state for a certain time interval and then fires. Notice that, if \tau (t)=0 , t is called an immediate transition and otherwise it is a deterministic transition. Graphically, the elements of LPNs is described in Fig. 2, where (a)-(f) respectively describe a token, resource place, control place, logic transition, ordinary transition, and directed arc. Notice that, a Petri net is a subclass of an LPN. In this work we consider LPNs with I : P\times T\to \{0,1\} and O : P\times T\to \{0,1\} .

FIGURE 2. - Graphical representation of elements in LPNs: (a) a token, (b) a data place, (c) a control place, (d) a logic transition, (e) an ordinary transition, and (f) a directed arc.
FIGURE 2.

Graphical representation of elements in LPNs: (a) a token, (b) a data place, (c) a control place, (d) a logic transition, (e) an ordinary transition, and (f) a directed arc.

We can give examples to describe the logic transitions in LPNs. As shown in Fig. 3(a), the LPN contains only one transition, i.e., a logic input transition t\in T_{I} , where its attached predicate logic expression f(^{\cdot }t, M)={p_{1}}^{M,t}\wedge ({p_{2}}^{M,t}\vee {p_{3}}^{M,t}) and the marking is M=(1,0,1,0) . According to equation (1), {p_{1}}^{M,t}=_{\cdot }\!\!T_{\cdot } , {p_{2}}^{M,t}=_{\cdot }\!\!F_{\cdot } , and {p_{3}}^{M,t}=_{\cdot }\!\!T_{\cdot } . Thus, f(^{\cdot }t, M)=_{\cdot }\!\!T_{\cdot }\wedge (_{\cdot }F_{\cdot }\vee _{\cdot }T_{\cdot })=_{\cdot }\!\!T_{\cdot } and M[t{>} . From the transition firing rules of LPNs, let M[t{>}M^\prime and M^\prime =(0, 0, 0, 1) . Notice that given other markings, t may also be enabled, e.g., M=(1,1,1,0) or M=(0,1,1,0) . Though there are different inputs of t , they do not affect the execution process, which lead to the same result that p_{4} obtains a token. In Fig. 3(b), the LPN contains only one transition, i.e., a logic output transition t\in T_{O} , where its attached predicate logic expression is f(t^{\cdot }, M)=^{M,t}\!\!p_{2}\wedge (^{M,t}p_{3}\vee ^{M,t}p_{4}] and the marking is M=(1,0,0,0) with M[t{>} . Let M[t{>}M^\prime , and according to equation (2), three values can lead to the true value of the logic output expression, i.e., f(t^{\cdot }, M)=_{\cdot }\!\!T_{\cdot } : (1) {p_{2}}^{M,t}=_{\cdot }\!\!\!T_{\cdot } , {p_{3}}^{M,t}=_{\cdot }\!\!\!T_{\cdot } , and {p_{4}}^{M,t}=_{\cdot }\!\!\!T_{\cdot } ; (2) {p_{2}}^{M,t}= _{\cdot }T_{\cdot } , {p_{3}}^{M,t}\!=_{\cdot }\!\!\!F_{\cdot } , and {p_{4}}^{M,t}\!=_{\cdot }\!\!\!T_{\cdot } ; and (3) {p_{2}}^{M,t}\!\!\!=_{\cdot }\!\!\!\!T_{\cdot } , {p_{3}}^{M,t} =_{\cdot }\!\!\!\!\!\!T_{\cdot } , and {p_{4}}^{M,t}{=}\,_{\cdot }F_{\cdot } . From the transition firing rules of LPNs, M^\prime =(0,1,1,1) , or M^\prime =(0,1,0,1) , or M^\prime =(0,1,1,0) .

FIGURE 3. - LPNs and their equivalent IPNs: (a) An LPN with an input logic transition, (b) An LPN with an output logic transition, (c) the equivalent IPN of the LPN in (a), and (d) the equivalent IPN of the LPN in (b).
FIGURE 3.

LPNs and their equivalent IPNs: (a) An LPN with an input logic transition, (b) An LPN with an output logic transition, (c) the equivalent IPN of the LPN in (a), and (d) the equivalent IPN of the LPN in (b).

Inhibition Petri nets (IPNs) [32] are a kind of augmented PNs. It attaches PN with inhibitor arcs (IPN) where an inhibitor arc set in which a non-directed arc with a small circle at the side of a transition. A transition can fire only if there is no token in the places connected with the inhibitor arcs. The work [20] has proved the equivalence between LPNs and IPNs. We can easily construct the equivalent IPN models of the LPN models in Fig. 3 (a) and (b) as shown in in Fig. 3 (c) and (d), respectively. In the model in Fig. 3 (c), we have that M[t{>}M^\prime and M^\prime =(1,0,1,0) . In the corresponding IPN, no matter which transitions t_{1} , t_{2} or t_{3} fires, p_{4} can obtain a token, meaning that a system could accept different inputs and proceed with the same execution. Similarly, in Fig. 3 (d), if t fires, the output is indeterminate, and all of t_{2} , t_{3} , and t_{4} are enabled while the choice which transition fires describes the output indeterminacy. Thus, LPN and IPN have the same modeling capability and can both describe input and output indeterminacy. We prefer adopting LPNs to model such indeterminacy of the systems because of the following reasons: (1) LPN has compact net structure compared with its equivalent IPN, for example, it has 2 fewer transitions and 8 fewer arcs in the LPN model in Fig. 3 (a) than the one in Fig. 3 (c); and it has 2 fewer transitions and 6 fewer arcs in the LPN model in Fig. 3 (b) than the one in Fig. 3 (d); (2) There is no good property analysis tool or method for IPNs till now; and (3) We have designed some property analysis methods previously.

SECTION III.

LPN Synthesis

The concepts of basic design modules of Petri nets [28] are very useful for Petri net synthesis for cooperative systems as well as the description and proof of the desirable properties in the context of Petri net theory. There are usually three basic PN modules, i.e., sequential, parallel, and choice PNs. The advantage of the well-formed modules is that they are specific and easily applied for practical synthesis problems ensuring boundedness, liveness, and reversibility. This work will give an LPN synthesis approach based on basic design modules defined below.

A. Basic Design Modules

Definition 4:

The subnet of an LPN L=(P, T, I, O, M, f , g, \tau ) generated by P^\prime {\subseteq } P is written as L\vert P^\prime =(P^\prime, T^\prime, I^\prime, O^\prime, M^\prime, f^\prime, g^\prime, \tau ^\prime) , where

  1. P^\prime \subseteq P ;

  2. T^\prime =^{\cdot }\!\!P^\prime \cup P^{\prime \cdot } ;

  3. I^\prime (p, t)=\!I(p, t) if p\in P^\prime and t\in ^{\cdot }\!\!P^\prime \cup P^{\prime \cdot } , and otherwise I^\prime (p, t)=0 ;

  4. O^\prime (p, t)=O(p, t) if p\in P^\prime and t\in ^{\cdot }\!\!\!\!P^\prime \cup P^{\prime \cdot } , and otherwise O^\prime (p, t)=0 ;

  5. M : P^\prime \to \mathbb {N} is a marking function, where M_{0}^\prime (p)=M_{0}(p) if p\in P^\prime is the initial marking;

  6. if t\in T^\prime and f(^{\cdot }t, M)=l({p_{i1}}^{M,t}, {p_{i2}}^{M,t}, \ldots, {p_{ik}}^{M,t}) , f^\prime (^{\cdot }t, M)= l({p_{i1}}^{M,t}, {p_{i2}}^{M,t}, \ldots, {p_{ik}}^{M,t}) , where if p_{i}\notin ^{\cdot }\!t : {p_{i}}^{M,t}=_{\cdot }\!\!T_{\cdot } ;

  7. if t\in T^\prime \cap T_{O} and f(t^{\cdot }, M)=l(^{M,t}p_{j1}, ^{M,t}p_{j2}, \ldots , g^\prime (^{\cdot }t, M)= L({p_{j1}}^{M,t}, {p_{j2}}^{M,t}, \ldots, {p_{jh}}^{M,t}) , where if p_{j}\notin ^{\cdot }\!\!t : ^{M,t}p_{j}=_{\cdot }\!\!T_{\cdot } ; and ^{M,t}p_{jh})

  8. \forall t\in T^\prime: \tau ^\prime (t)=\tau (t) .

Given an LPN=(P, T, I, O, M, f, g, \tau) , we have the assumption as follows:

Assumption 1:

If f(^{\cdot }t, M)=\,_{\cdot }T_{\cdot } , then p^{M,t}=\,_{\cdot }T_{\cdot } , where p\,{\in }\,^{\cdot }t\cap P_{CB} and if \mathrm {g}(t^{\cdot }, M)=\,_{\cdot }T_{\cdot } , then ^{M,t}p =\,_{\cdot }T_{\cdot } , where p\in t^{\cdot }\cap P_{CB} .

It means that if a transition has a basic control place as its input place, when it fires, the place must contain more tokens than the weight of the directed arc; and if a transition has a basic control place as its input place, when it fires, the output place is filled with a number of tokens equaling the weight of the directed arc.

Corollary 3:

Given an LPN LPN\!=\!(P, T, I, O, M, f, g, \tau) , LPN\vert P_{\mathrm {CB}} is a traditional PN.

Proof:

According to the above assumption and Definition 4, we can easily obtain the conclusion.

We also have the assumption below in this work.

Assumption 2:

The capacity of control places is one, i.e., \forall M\in R(M_{0}) : M(p)\le 1 , where p\in P_{\mathrm {CB}} .

Assumption 3:

The weight of arcs that are connected with control places is no more than one, i.e., I : P_{\mathrm {CB}}\times T\to \{0, 1\} and O : P_{\mathrm {CB}}\times T\to \{0, 1\} .

We cite the concept of a logic process as follows from [28].

Definition 5:

N=(P, T, I, O, M, M_{0}) is called a PN process, where

  1. There exist two distinct places p_{in} and p_{out} , where ^{\cdot }p_{in}=p_{out}^{\cdot }=\emptyset , and

  2. Let T=T\cup t^{\ast } , where I(p_{out}, t^{\ast })=O(p_{in}, t^{\ast })=1 . If M_{0}=p_{in} be its initial marking, then, N is live and safe.

Then three basic design PN modules are introduced and used for LPN synthesis. Firstly, let I_{n} be an n\times n identity matrix, 0_{n} be an n -dimension zero vector, and 1_{n} be an n -dimension vector with each element being one.

Definition 6:

N=(P, T, I, O, M, M_{0}) is a sequence PN module, where

  1. P=\{p_{1}, p_{2}, \ldots, p_{n}\} , p_{in}=p_{1} , and p_{out}=p_{n} with n\in \mathbb {N}^{+} ;

  2. T=\{t_{1}, t_{2}, \ldots,t_{n-1}\} ;

  3. \begin{equation*} I = \left [{\begin{array}{c} I_{n-1}\\ 0_{n-1}^{T} \end{array}}\right]\!;\end{equation*} View SourceRight-click on figure for MathML and additional features.

  4. \begin{equation*} O= \left [{\begin{array}{c} 0_{n}^{T}\\ I_{n} \end{array}}\right]\!;\quad \mathrm {and}\end{equation*} View SourceRight-click on figure for MathML and additional features.

  5. M_{0}=0_{n} .

Usually, a sequence PN modular is used to model a series of successive operations in systems.

Definition 7:

N=(P, T, I, O, M, M_{0}) is a parallel PN module, where

  1. P=\{p_{1}, p_{2}, \ldots,p_{n+2}\} , p_{in}=p_{n+1} , and p_{out}=p_{n+2} with n\in \mathbb {N}^{+} ;

  2. T=\{t_{1}, t_{2}\} ;

  3. \begin{equation*} I = \left [{\begin{array}{cc} 0_{n} & 1_{n}\\ 1 & 0\\ 0 & 0 \end{array}}\right]\!;\end{equation*} View SourceRight-click on figure for MathML and additional features.

  4. \begin{equation*} O = \left [{\begin{array}{cc} 1_{n} & 0_{n}\\ 0 & 0\\ 0 & 1 \end{array}}\right]\!;\quad \mathrm {and}\end{equation*} View SourceRight-click on figure for MathML and additional features.

  5. M_{0}=0_{n+2} .

A parallel PN modular is used to model a series of operations that are executed at the same time. After these n operations are finished, other operations can start. These operations may end at different times.

Definition 8:

N=(P, T, I, O, M, M_{0}) is a choice PN module, where

  1. P=\{p_{1}, p_{2}, \ldots, p_{n+2}\} , p_{in}=p_{n+1} , and p_{out}=p_{n+2} with n\in \mathbb {N}^{+} ;

  2. T=\{t_{1},t_{2}, \ldots, t_{2n}\} ;

  3. \begin{align*} I = \left [{\begin{array}{cc} 0_{n\times n} & I_{n}\\[8pt] 1_{n}^{T} & 0_{n}^{T}\\[8pt] 0_{n}^{T} & 0_{n}^{T} \end{array}}\right]\!;\end{align*} View SourceRight-click on figure for MathML and additional features.

  4. \begin{align*} O = \left [{\begin{array}{cc} I_{n} & 0_{n\times n}\\[8pt] 0_{n}^{T} & 0_{n}^{T}\\[8pt] 0_{n}^{T} & 0_{n}^{T} \end{array}}\right]\!;\quad \mathrm {and}\end{align*} View SourceRight-click on figure for MathML and additional features.

  5. M_{0}=0_{n+2} .

A choice PN modular is used to model choices for a series of operations. It designates situations where a given condition or conditions enable multiple competing transitions or an operation is followed by the choice of one of several other operations.

With the above three basic PN modules, we can construct the LPN system models by adding shared places among modules and attaching predicate logic expressions.

B. Shared Places and Template Predicate Logic Expressions

Some determinacy relationship among the input or output expressions of logic transitions are defined in this subsection. For example, in an e-commerce LPN, if a logic transition t fires, then the input conditions or output results of other transitions have the corresponding relationships with those of t . We give some related definitions below. The input (output) place of a logic input (output) transition t is called logic input (output) place of t .

Definition 9:

Let L=(P, T, I, O, M, f, g, \tau) be an LPN, p_{1}\in P be a logic input (output) place of t_{1} , and p_{2}\in P be a logic input (output) place of t_{2} . p_{1} and p_{2} are called isomorphic denoted by p_{1}\cong p_{2} , where \forall M\in R(M) : (l_{1}\wedge l_{2})\vee (\neg l_{1}\wedge \neg l_{2})=_{\cdot }\!\!\!T_{\cdot } , l_{1}={p_{1}}^{M,t1} (or {p_{1}}^{M,t1} ), and l_{2}={p_{2}}^{M,t2} (or {p_{2}}^{M,t2} ).

From the above definition, we can derive that \cong is reflexive, symmetric and transitive.

Definition 10:

An LPN process (LPNP) is a logic Petri net L=(P\cup P_{S}, T, I, O, M, f, g, \tau) , where

  1. L\vert P_{CB} is a PN modular with P_{CB}\ne \emptyset , where

    1. There exist two distinct places p_{in} and p_{out} , where ^{\cdot }p_{in}=p_{out}{}^{\cdot }=\emptyset ,

    2. Let T=T\cup t^{\ast } , and I(p_{out}, t^{\ast })=O(p_{in}, t^{\ast })=1 . M_{0}=p_{in} be the initial marking of L\vert P_{CB} which is live and safe; and

  2. P_{S}=P_{I}\cup P_{O} is a set of shared places, where P_{I} is a set of shared input places, P_{O} is a set of shared output places with P_{I}\cap P_{O}=\emptyset and P_{CB}\cap (P_{I}\cup P_{O})=\emptyset .

From Definition 3, the places can be divided into a set of resource places, a set of basic control places, and a set of shared control places. According to the above definition, basic control places cannot be shared places.

In LPNs, indeterminacies of passing value are categorized into input and output indeterminacy, which are represented by logic input and output transitions, respectively. The logic transitions are restricted by their corresponding logic input and output expressions. They fire only if their related logic expressions are true at a right marking. Each logic expression can be transformed into a unique disjunctive normal form with each disjunctive clause being a conjunct consisting of all variables in the expression. f(^{\cdot }t, M) of a logic input transition t is true only if at least one of disjunctive clauses holds, and t is enabled. The output places of a logic output transition t depend on the disjunctive clauses of g(t^{\cdot }, M) . If f(x_{1}, x_{2}, \cdots, x_{k})\,\,f(^{\cdot }t,M)=l({p_{i1}}^{M,t}, {p_{i2}}^{M,t}, \ldots, {p_{ik}}^{M,t}) , where ^{\cdot }t=\{p_{i1},p_{i2}, \ldots, p_{ik}\} , k\in \mathbb {N}_{n}^{+} , l({p_{i1}}^{M,t} , {p_{i2}}^{M,t}, \ldots, {p_{ik}}^{M,t})\in L({p_{i1}}^{M,t}, {p_{i2}}^{M,t}, \ldots, {p_{ik}}^{M,t}) , and L({p_{i1}}^{M,t} , {p_{i2}}^{M,t}, \ldots, {p_{ik}}^{M,t}) is all predicate logic expressions containing all elements {p_{i1}}^{M,t}, {p_{i2}}^{M,t}, \ldots, {p_{ik}}^{M,t} and operators “˅”, “˄”, and “\neg ”. Similarly, we can attach a first-order predicate logic expression to t with respect to its output places, denoted by g(t^{\cdot }, M)=l(^{M,t}p_{j1}, ^{M,t}p_{j2}, \ldots, ^{M,t}p_{jh}) where t^{\cdot }=\{p_{j1}, p_{j2}, \ldots, p_{jh}\} . Let f(^{\cdot }t, M)=l({p_{i1}}^{M,t}, {p_{i2}}^{M,t}, \ldots, {p_{ik}}^{M,t}) or g(t^{\cdot }, M)=l(^{M,t}p_{j1},^{M,t}p_{j2}, \ldots, ^{M,t}p_{jh}) be a logic expression in an LPN containing variables {p_{i1}}^{M,t}-{p_{ik}}^{M,t} or ^{M,t}p_{j1}-^{M,t}p_{jh} . Then it can be transformed into a unique disjunctive normal form denoted by f(^{\cdot }t, M)=l_{1}\vee l_{2}\vee \ldots \vee l_{m} or g(t^{\cdot }, M)=l_{1}\vee l_{2}\vee \ldots \vee l_{m} , where l_{1}-l_{m} are the corresponding conjuncts. To make sure the correct operation of a system model, these logic expressions should satisfy some restrictions. We now define the following template predicate logic expressions for some special logic transitions:\begin{equation*} f(^{\cdot }t,M)\!=\!({p_{i1}}^{M,t}\wedge \ldots \wedge {p_{iq}}^{M,t})\!\wedge \!({p_{iq+1}}^{M,t}\vee \ldots \vee {p_{ik}}^{M,t});\end{equation*} View SourceRight-click on figure for MathML and additional features. and \begin{equation*} g(t^{\cdot }, M)\!=\!(^{M,t}p_{j1} \wedge \ldots \wedge ^{M,t}p_{jr})\!\wedge \! (^{M,t}p_{jr+1} \vee \ldots \vee ^{M,t}p_{jh})\end{equation*} View SourceRight-click on figure for MathML and additional features. where p_{i1}-p_{iq} , p_{j1}-p_{jr}\in P_{CB} , p_{iq+1}-p_{ik} , p_{jr+1}-p_{jh}\in P_{CS}\cup P_{R} , \{p_{iq+1}, \ldots, p_{ik}\}\cap P_{R}\ne \emptyset , and \{p_{jr+1}, \ldots, p_{jh}\}\cap P_{R}\ne \emptyset . For simplicity, we can write the predicate logic expressions for short as:\begin{align*} f(^{\cdot }t)=&(p_{i1}\wedge \ldots \wedge p_{iq})\wedge (p_{iq+1}\vee \ldots \vee p_{ik});\quad \mathrm {and}\\ g(t^{\cdot })=&(p_{j1} \wedge \ldots \wedge p_{jr})\wedge (p_{jr+1} \vee \ldots \vee p_{jh})\end{align*} View SourceRight-click on figure for MathML and additional features.

There are some reasons that we design such template predicate logic expressions: 1) we design the first half of the expressions because of Assumption 1, i.e., if a transition has a basic control place as its input place, it is enabled only if the place contains more tokens than the weight of the directed arc; and if a transition has a basic control place as its input place, the place is filled with a number of tokens equaling the weight of the directed arc after the transition fires. 2) The second half of the expressions ensures that the system has the function of batch and indeterminate processing of resources in cooperative systems, i.e., the transition can fire when no less than one place contains tokens. 3) The related places always contain resource places, which means that the operation modeled by transitions’ firing occurs during the resource processing step. For other logic transitions with no connected resource places, the predicate logic expressions are designed separately.

C. Property Analysis

With the basic design modules, shared places, and template predicate logic expressions, we can do LPN synthesis. Before giving the synthesis procedure, this sub-section will discuss how to ensure desired properties of a composed LPN model. We firstly give the following definition.

Definition 11:

Interactive Logic Petri Nets (ILPNs) are defined recursively as follows.

  1. An LPN=(P\cup P_{S}, T, I, O, M, f, g, \tau) is an ILPN where it is an LPNP with P_{S}=\emptyset .

  2. Let L_{i}=(P_{i}\cup P_{CBi}\cup P_{CSi}\cup P_{Ii}\cup P_{Oi}, T_{i}, I_{i}, O_{i}, M_{i}, f_{i} , g_{i} , \tau _{i}) , i\in {\mathbb {N}_{2}}^{+} , be two ILPNs such that \begin{align*}&P_{CB1}\cap P_{CB2}=\emptyset,\\&P_{I1}\cap P_{I2}=P_{O1}\cap P_{O2}=\emptyset,\\&(P_{O1}\cap P_{I2})\cup (P_{O2}\cap P_{I1})=P_{S}\ne \emptyset,\quad \mathrm {and}\\&T_{1}\cap T_{2}=\emptyset.\end{align*} View SourceRight-click on figure for MathML and additional features.

Then, LPN is an ILPN where \begin{align*} P_{C}=&P_{C1}\cup P_{C2}\cup P_{S},\\ P_{I}=&(P_{I1}\cap P_{I2})\backslash P_{S},\\ P_{O}=&(P_{O1}\cap P_{O2})\backslash P_{S},\\ T_{D}=&T_{D1}\cup T_{D2},\quad T_{I}=T_{I1}\cup T_{I2},~\mathrm {and}~T_{O}=T_{O1}\cup T_{O2},\\ \tau (t)=&\tau _{i}(t)\quad \mathrm {if}~t\in T_{Di}\cup T_{Ii}\cup T_{Oi}, ~\mathrm {and}\\ f(t)=&f_{i}(t)\quad \mathrm {if}~t\in T_{Ii}, g(t)=g_{i}(t)~\mathrm {if}~t\in T_{Oi}.\end{align*} View SourceRight-click on figure for MathML and additional features.

Clearly, an ILPN is the union of m LPNP L_{1}-L_{m} , m\ge 1 , via a set of common places (i.e., P_{S} ). To facilitate its description, an ILPN is denoted by \begin{equation*} L=L_{1}\oplus L_{2}\oplus \ldots \oplus L_{m}=\oplus _{i=1}^{m} L_{i}.\end{equation*} View SourceRight-click on figure for MathML and additional features.

In the above definition, shared input places can only be combined with shared output ones. After two LPNPs are composed via a set of shared places, these shared places cannot take part in other combinations any more. Notice that, when a system model is constructed, the existing shared input places need to be fulfilled for any meaningful design analysis. Usually, such places are resource places and should be separately analyzed. Without such places the ILPN model should have the desired properties such as boundedness, liveness, and reversibility.

Definition 12:

Let LPN be an ILPN. C=\langle n_{1}, n_{2}, \ldots, n_{k}\rangle is called a path from node n_{1} to n_{k} if there exists a sequence of nodes n_{1}-n_{k} such that I(n_{i}, n_{i+1})\ge 1 , i\in \mathbb {N}_{k-1}^{+} . &(C ) denotes the alphabet of C , i.e., &(C)=\{n_{1} , n_{2}, \ldots, n_{k}\} . C is called a basic path where \forall n_{i} , n_{j}\in {\&}(C) , if i\ne j : n_{i}\ne n_{j} . n_{j} is the subsequent node of n_{i} , denoted by n_{i}>_{\mathrm {C}}n_{j} if \exists n_{i} , n_{i+1} ,\ldots , n_{j}\in &(C ) and I(n_{i} , n_{i+1}) , I(n_{i+1} , n_{i+2}),\ldots, I(n_{j-1} , n_{j})\ge 1 . A path C=\langle n_{1} , n_{2}, \ldots, n_{k}\rangle is called a circle if \langle n_{1}, n_{2}, \ldots, n_{k-1}\rangle is a basic path and n_{1}=n_{k} .

Let L_{j} , j\in \mathbb {N}_{1} be two LPNPs as shown in Fig. 4, where P_{S}=\{p_{s11} , p_{s12}, \ldots, p_{s1i} , p_{s21} , p_{s22}, \ldots, p_{s2j} \} , P_{O1}\cap P_{I0}=\{p_{s11} \} , and P_{O0}\cap P_{I1}=\{p_{s21}\} ; \vert ^{\cdot }p_{s11}\vert =\vert p_{s11}^{\cdot }\vert =\vert ^{\cdot }p_{s21}\vert =\vert p_{s21}^{\cdot }\vert =1 ; and T_{I1}=T_{O1}=\emptyset , T_{I0}=\{t_{21}\} , T_{O0}=\{t_{22}\} , ^{\cdot }t_{21}=\{p_{21} , p_{s11} , p_{s12}, \ldots, p_{s1i}\} , ^{\cdot }t_{22}=\{p_{22} , p_{s21} , p_{s22}, \ldots, p_{s2j}\} , C=\langle p_{s11} , t_{21}, \ldots, t_{22}, p_{s21}\rangle is a basic path, and template predicate logic expressions are:\begin{equation*} f(^{\cdot }t_{21}, M)={p_{21}}^{M,t}\wedge ({p_{s11}}^{M,t}\vee {p_{s12}}^{M,t}\vee \ldots \vee {p_{s1i}}^{M,t});\end{equation*} View SourceRight-click on figure for MathML and additional features. and \begin{equation*} g(t_{22}^{\cdot },M)=^{M,t}p_{22}\wedge (^{M,t}p_{s21}\vee ^{M,t}p_{s22}\vee \ldots \vee ^{M,t}p_{s2j});\end{equation*} View SourceRight-click on figure for MathML and additional features. L=L_{1}\oplus L_{2} . Then we have the following conclusion.

FIGURE 4. - An ILPN composed of two LPNPs.
FIGURE 4.

An ILPN composed of two LPNPs.

Theorem 1:

L is live, safe, and reversible iff in L M\in \mathrm {R}(M_{in}) , M(p_{s11})=1 , and p_{s11}\cong p_{s21} , where M_{in}=p_{in1}+p_{in2} .

Proof:

(Sufficiency) Because T_{I1}=T_{O1}=\emptyset , T_{I0}=\{t_{21}\} , and T_{O0}=\{t_{22}\} , the input and output transitions of the internal channel places are logic transitions. Given M(p_{s11})=1 , the logic expression f(^{\cdot }t_{21}, M)={p_{21}}^{M,t}\wedge ({p_{s11}}^{M,t}\vee {p_{s12}}^{M,t}\vee \ldots \vee {p_{s1i}}^{M,t}) is satisfied, and M[t_{21}> . If t_{1}\in ^{\cdot }\!p_{s11} , then according to Definition 11, there exists a basic control place p_{1}\in t_{1}^{\cdot } and if M[t_{21}{>}M_{1} , then M_{1}(p_{1})=1 . According to Definition 11, there exists M_{2}\in \mathrm {R}(M_{1}) such that M_{2}[t_{22}{>}M_{3} . Because p_{s11}\cong p_{s21} , we have g(t_{22}^{\cdot } , M_{3})=\,_{\cdot }T_{\cdot },{}^{M3,t}p_{s21}=_{\cdot }\!\!T_{\cdot } and M_{3}(p_{s21})=1 . According to Definition 10, L_{1}\vert P_{CB} is live and safe, so t_{2}\in p_{s21}^{\cdot } is live in L_{1}\vert P_{CB} . Thus, all transitions in L_{1} is live. \forall p\in ^{\cdot }t_{2} : M_{3}(p)>0 , and t_{2} is live in L . Thus L is live. We have in L , M_{in}=p_{in1}+p_{in0} , M_{out}=p_{out1}+p_{out0} , M_{out}[t_{1}\ast t_{0}\ast >M_{in} or M_{out}[t_{0}\ast t_{1}\ast > M_{in} Thus, L is reversible. Similarly, we can prove it is safe.

(Necessity) L is live and safe. Because C=\langle p_{s11} , t_{21}, \ldots, t_{22}, p_{s21}\rangle is a basic path, there is no circle in L . We now use the contradiction method. Suppose that there is no M\in \mathrm {R}(M_{in}) such that M(p_{s11})=1 , so {p_{s11}}^{M,t}=\,_{\cdot }F_{\cdot } . Besides, {p_{s12}}^{M,t}=\ldots ={p_{s1i}}^{M,t}=_{\cdot }\!\!F_{\cdot } . Thus, f(^{\cdot }t_{21}, M)=\,_{\cdot }F_{\cdot } and t_{21} is dead, which contradicts with the liveness of L . Let M\in \mathrm {R}(M_{in}) such that M(p_{s11})=1 . M[t_{21}{>} . If t_{1}\in ^{\cdot }p_{s11} , then According to Definition 6, there exists a basic control place p_{1}\in t_{1}^{\cdot } and if M[t_{21}{>}M_{1} , then M_{1}(p_{1})=1 . According to Definition 10, there exists M_{2}\in \mathrm {R}(M_{1}) such that M_{2}[t_{22}{>}M_{3} . If p_{s11}\cong p_{s21} is not hold, suppose that g(t_{22}^{\cdot }, M_{3})=\,_{\cdot }T_{\cdot,}{}^{M3,t}p_{s21}=\,_{\cdot }F_{\cdot } , so M_{3}(p_{s21})=0 and t_{2}\in p_{s21}^{\cdot } is dead, which contradicts with the liveness of L . Thus, the conclusion holds.

From Theorem 1 we have that an ILPN composed by two LPNPs (one contains logic transition and another contains no logic transitions) is live and safe if the input (output) place of logic input (output) transition is isomorphic with the input place of the first logic input transition in a basic path; and there is no circle.

Next, we consider an ILPN composed by more than two LPNPs (one contains logic transition and others contain no logic transitions).

Let L_{0} be an LPNP containing logic transitions, L_{j} be an LPNP containing no logic transitions, as shown in Fig. 5, where j\in \mathbb {N}_{i}^{+} , P_{S}=\{p_{s11} , p_{s12}, \ldots, p_{s1i} , p_{s21} , p_{s22}, \ldots, p_{s2j}\} , P_{O0}\cap P_{Ii}=\{p_{s1i} \} , and P_{O0}\cap P_{Ii}=\{p_{s2i} \} ; \vert ^{\cdot }p_{s1i}\vert =\vert p_{s1i}^{\cdot }\vert =\vert ^{\cdot }p_{s2i}\vert = \vert p_{s2i}^{\cdot }\vert =1 ; and T_{Ii}=T_{Oi}=\emptyset , T_{I0}=\{t_{21}\} , T_{O0}=\{t_{22}\} , ^{\cdot }t_{21}=\{p_{21} , p_{s11} , p_{s12}, \ldots, p_{s1i}\} , ^{\cdot }t_{22}=\{p_{22}, p_{s21} , p_{s22}, \ldots, p_{s2j}\} , C=\langle p_{s1i} , t_{21}, \ldots, t_{22} , p_{s2i}\rangle is a basic path, and template predicate logic expressions are:\begin{equation*} f(^{\cdot }t_{21},M)=p_{21}^{M,t}\wedge ({p_{s11}}^{M,t}\vee {p_{s12}}^{M,t}\vee \ldots \vee {p_{s1i}}^{M,t});\end{equation*} View SourceRight-click on figure for MathML and additional features. and \begin{equation*} g({t_{22}}^{\cdot },M)=^{M,t}p_{22}\wedge (^{M,t}p_{s21}\vee ^{M,t}p_{s22}\vee \ldots \vee ^{M,t}p_{sj});\end{equation*} View SourceRight-click on figure for MathML and additional features. L= \oplus _{i=0}^{m} L_{i} . Then we have the following conclusion.

FIGURE 5. - An ILPN composed of more than two LPNPs.
FIGURE 5.

An ILPN composed of more than two LPNPs.

Theorem 2:

L is live, safe, and reversible iff in L,~\exists M\in \mathrm {R}(M_{in}) and k\in \mathbb {N}_{i}^{+} such that M(p_{s1k})=1 , and \forall j\in \mathbb {N}_{i}^{+} , p_{s1j}\cong p_{s2j} , where M_{in} = \sum _{j=0}^{i}p_{inj} .

The proof is the same with Theorem 1 except that the logic expression f(^{\cdot }t_{21} , M) is satisfied when there exists a M(p_{s1k})=1 .

Definition 13:

Let L be an ILPN. If there exists an m -dimension vector Y=[y_{k}]_{m\times 1} , y_{k}>0 , k\in {\mathbb {N}_{m}}^{+} , M_{0} is an arbitrary initial marking, and \forall M\in R(M_{0}) , \begin{equation*} \sum \limits _{k=1}^{m} {M(p_{k})y_{k}} =\sum \limits _{j=1}^{m} {M_{0} (p_{j})y_{j}},\end{equation*} View SourceRight-click on figure for MathML and additional features. then L is conservative. In particular, L is conservative on P^\prime \in P if \forall M\in R(M_{0}) , \begin{equation*} \sum \nolimits _{p_{i} \in P^{\prime }} {M(p_{i})y_{i} =} \sum \nolimits _{p_{j} \in P^{\prime }} {M_{0} (p_{i})y_{j}}\end{equation*} View SourceRight-click on figure for MathML and additional features.

From Definitions 5 and 13, we have P_{D}\subseteq P_{I}\cup P_{O} . In a system, the data places should preserve the resource quantity modeled by token count. Thus we have \forall M\in R(L, M_{0}):\sum \nolimits _{p\in P_{D}} {M(p)=c} , where c is a constant describing the total number of resources.

The conservativeness of an LPN is ensured by using matrix calculation.

Theorem 3[15]:

Let L be an LPN. L is conservative on P_{D} iff

  1. \forall t\in T_{D} , \begin{equation*} \sum \nolimits _{p_{i} \in P_{D}} {W(p_{i},t)} =\sum \nolimits _{p_{j} \in P_{D}} {W(t,p_{j})};\end{equation*} View SourceRight-click on figure for MathML and additional features.

  2. \forall t\in T_{I} , \begin{equation*} \sum \nolimits _{p_{i} \in P_{D}} {W(p_{i},t)} \rho (p_{i})=\sum \nolimits _{p_{j} \in P_{D}} {W(t,p_{j})},\end{equation*} View SourceRight-click on figure for MathML and additional features. where if M(p_{i})>0 , \rho (p_{i})=1 ; else, \rho (p_{i})=0 ; and

  3. \forall t\in T_{O} , \begin{equation*} \sum \nolimits _{p_{i} \in P_{D}} {W(p_{i},t)} =\sum \nolimits _{p_{j} \in P_{D}} {W(t,p_{j})\rho (p_{j})},\end{equation*} View SourceRight-click on figure for MathML and additional features. where if M[t \rangle M^{\prime } and M-M^\prime (p_{i})>0 , then \rho (p_{j})=1 , else, \rho (p_{j})=0 .

We suppose that all data places must deposit and withdraw tokens in a system. Otherwise, the data places are meaningless.

Corollary 4:

If L is conservative and n_{1}\in P_{D} , then there exists a path C=\langle n_{1} , n_{2}, \ldots, n_{2k+1}\rangle where n_{3} , n_{5}, \ldots, n_{2k+1}\in P_{D} , n_{2k+1}\in P_{D} and {n_{2k+1}}^{\cdot }=\emptyset .

Proof:

If L has n_{1} only, i.e., the net contains a place only, C=\langle n_{1}\rangle , and the result holds. If there is a transition n_{2} such that (n_{1} , n_{2})\in F , because L is conservative, there must be a data place n_{3} according to Theorem 3. Similarly, suppose that n_{2i-1} is a data place. If there is a transition n_{2i} such that (n_{2i-1} , n_{2i})\in F , then there must be a data place n_{2i+1} according to Theorem 3. If n_{2k+1}\notin P_{D} , then n_{2k+1}\in T , it contradicts the above discussion. Thus, n_{2k+1}\in P_{D} and {n_{2k+1}}^{\cdot }=\emptyset .

D. Synthesis Pocedure

The description of the synthesis procedure for LPNs is as follows:

  • Step 1:

    Decompose the system into several sub-systems expressed as bounded, live, and reversible Petri nets by using LPNPs with one subsystem having the functions of modeling batch processing and passing value indeterminacy;

  • Step 2:

    Replace places by more detailed basic design modules;

  • Step 3:

    Appropriately add shared places among the models of the sub-systems without forming circles in the composed model;

  • Step 4:

    Add template predicate logic expressions to logic transitions. According to Theorems 1 and 2, a shared place in a basic path is isomorphic with a shared place in the path which is the input place of the logic input transition; and initial markings are set. Then, a safe, live, and reversible LPN model is synthesized;

  • Step 5:

    Finally, add appropriate resource places.

Remark 1:

This method can help one to construct an LPN in a top-down manner. The major benefits are that 1) the details can be introduced in an incremental way such that modeling difficulty can be alleviated; and 2) the important properties can be guaranteed making costly analysis for some qualitative properties unnecessary.

Remark 2:

The refinement by the basic design modules and the addition of shared places in Steps 2 and 3 can be alternatively applied and repeated. This means that no strict order between them needs to be followed.

Remark 3:

The complexity of the procedure of the synthesis of LPNs depends on the scale and the number of subsystems and in detail on the number of the states (or buffer) denoted by places and operations denoted by transitions as well as the state space.

SECTION IV.

LPN Modeling of an E-Commerce System

A. System Description

In an e-commerce system, a merchant can trade with several buyers at the same time. Batch processing function and passing value indeterminacy in such a system can be depicted by LPNs. There are mainly three sub-systems: customers, merchants, and a third-party. Each sub-system has to realize the specific operations, cooperates properly with the other systems, and finally complete the transactions. After going through the products of the merchant, customers mainly accomplish order requisition, order purchase, and product receipt one after another. A merchant sequentially processes orders, receives and checks the payment, and deliveries the products. In order ensure the benefits of both merchants and customers, a third-party is involved in the payment process. In detail, the third-party kept the money of the customer during the order purchase, and after customers ensures their product receipt, they restart the payment to transfer the money from the third-party to the merchant. During the purchase process, the activities can be refined and some more-detailed processes can be modeled. For example, after the payment, customers must give their detailed address to merchant. Notice that, time plays an important role in the system. For example, when a customer does not ensure the payment after receiving the products, the system will automatically make the payment after a certain period of time. There are also some conditions that if there are no enough quantity of products, merchants have to refuse the order or announce their restocking plan. These process can be modeled by replacing places with more detailed basic design modules.

B. Modeling Process

There are three sub-systems in the e-commerce systems modeled by LPNs, i.e., a merchant sub-system M , a customer sub-system C , and a third-party sub-system SP.

  • Step 1:

    Sequence PN modules are required to model sub-systems as shown in Fig. 6. The top-level contains three PN models of three basic sub-systems, i.e., (a) customer sub-system, (b) merchant sub-system, and (c) third-party subsystem.

  • Step 2:

    More detailed basic design modules are designed as shown in Fig. 7(a)-(c). In Fig. 7(a), it contains both sequence and choice PN modules. Initially, p_{in\_{}j} contains a token meaning that customer j is ready for purchasing a product. j places an order and waits for the merchant to ensure it, which is modeled by the firing of t_{order\_{}j} . The merchant checks the order and chooses to accept or reject it. When the order is accepted, the customer should continue to do the payment described by transition t_{payment\_{}j} ; or it may be rejected for example because of shortage of the products from the merchant such that t_{refused\_{}j} fires. If the order is accepted, customers will go on the order purchase and product receipt, which is modeled by the firing of t_{payment\_{}j} and t_{product\_{}j} , respectively. The merchant sub-system and the third-party subsystem models are both sequence PN modules in Fig. 7 (b) and (c), respectively. It can be seen that the merchant will process the orders and payments and delivery the products as described by transitions t_{order} , t_{payment} , and t_{product} , respectively, in sequence. The third-party sub-system has mainly two steps, i.e., receiving and keeping the payment of customers, denoted by t_{payment\_{}step1} , and pay for the merchant until the successful accomplishment of the transactions, denoted by t_{payment\_{}step2} .

  • Step 3:

    Appropriately add shared places among the models of the three sub-systems. Eight shared places p_{j1} -p_{j8} and arcs with transitions are added as shown in Fig. 8.

  • Step 4:

    As shown in Fig. 9, template predicate logic expressions to logic transitions are designed as follows:\begin{align*} f(^{\cdot }t_{order})=&p_{in}\wedge (p_{11}\vee p_{21}\vee \ldots \vee p_{j1});\\ f(^{\cdot }t_{payment})=&p_{decision}\wedge (p_{14}\vee p_{24}\vee \ldots \vee p_{j4});\\ g({t_{product}}^{\cdot })=&p_{out} \wedge (p_{15}\vee p_{25}\vee \ldots \vee p_{j5});\\ f(^{\cdot }t_{step10})=&p_{in\_{}TP}\wedge (p_{17}\vee p_{27}\vee \ldots \vee p_{j7});\\ g({t_{step11}}^{\cdot })=&p_{payment\_{}step11}\wedge (p_{14}\vee p_{24}\vee \ldots \vee p_{j4});\\ f(^{\cdot }t_{step20})=&p_{payment\_{}step11}\wedge (p_{18}\vee p_{28}\vee \ldots \vee p_{j8});\\ g(t_{step21}^{\cdot })=&p_{out\_{}TP}\wedge (p_{16}\vee p_{26}\vee \ldots \vee p_{j6});\quad \mathrm {and}\\ f(^{\cdot }t^{\ast })=&p_{out\_{}TP}\wedge (p_{16}\vee p_{26}\vee \ldots \vee p_{j6});\end{align*} View SourceRight-click on figure for MathML and additional features. A specific logic expression is designed as follows.

    g({t_{decision}}^{\cdot })=p_{decision}\wedge (((\neg p_{12}\wedge p_{13})\vee (p_{12}\wedge \neg p_{13}))\vee ((\neg p_{22}\wedge p_{23})\vee (p_{22}\wedge \neg p_{23}))\vee \ldots \vee ((\neg p_{j2}\wedge p_{j3})\vee (p_{j2}\wedge \neg p_{j3}))) . At last, M_{0}= \Sigma _{j}p_{in\_{}j}+p_{in}+p_{in\_{}TP} . According to Theorems 1 and 2, we can conclude that the synthesis of LPN models in Fig. 10 is live, safe, and reversible.

  • Step 5:

    Some resource places are drawn and according to Theorem 3, the synthesis of LPN models is conservative on resource places.

FIGURE 6. - The top-level PN models of three basic sub-systems: (a) customer sub-system, (b) merchant sub-system, and (c) third-party subsystem.
FIGURE 6.

The top-level PN models of three basic sub-systems: (a) customer sub-system, (b) merchant sub-system, and (c) third-party subsystem.

FIGURE 7. - The detailed PN models of the sub-systems.
FIGURE 7.

The detailed PN models of the sub-systems.

FIGURE 8. - The detailed PN models with shared places of the sub-systems.
FIGURE 8.

The detailed PN models with shared places of the sub-systems.

FIGURE 9. - The detailed LPN models with template predicate logic expressions of the sub-systems.
FIGURE 9.

The detailed LPN models with template predicate logic expressions of the sub-systems.

FIGURE 10. - The detailed LPN models of the sub-systems.
FIGURE 10.

The detailed LPN models of the sub-systems.

SECTION V.

Conclusion

This paper designs a systematic LPN synthesis method for cooperative systems. Based on basic design modules, we synthesize them to construct LPN models by connecting with shared resource places. Some control strategies are designed to guarantee the resulting LPNs with desirable properties such as boundedness, liveness, and reversibility. A case for constructing an E-commerce system is proposed to illustrate the proposed approach. The paper provides industrial engineers and academic researchers a methodology of applying LPNs to modeling and analysis of cooperative systems. Future work will study the synthesis of LPNs for other systems such as manufacturing systems [29] and knowledge-based systems [30], [31].

References

References is not available for this document.