
CHAPTER 2. LITERATURE REVIEW |
14 |
The main characteristic of the controlled PN approach to supervisory control is the fact that no transition structure for a controller is given. The control law is a function of the actual marking of the net, but need to be computed at each step, whereas if a transition structure is given for a supervisor, a closed-loop model can be constructed and analyzed to ensure that it has the desired properties.
2.3 Petri Net Languages
Baker [Baker 72] is one of the first to introduce the basic idea of associating a language with a Petri net and using this language to describe the behavior of the net. In his Master’s thesis [Baker 73], Petri nets are considered in the context of formal language theory, and their prefix language is studied.
In Hack [Hack 75a, Hack 75b], two basic language classes are distinguished: the prefix language and the marked language. Different languages which result from different types of transition labeling are also considered. For each of these classes, simple closure properties, characterizations and decidability problems (e.g., for membership, emptiness, and finiteness) are obtained.
A survey and tutorial on Petri net languages is presented in [Peterson 81] Chapter 6. Here the definition and classification of these languages is given; the closure properties of Petri net languages under several form of composition (union, intersection, concatenation, concurrency, and substitution) and under some operations (reversal, complement, and indefinite concatenation) are examined; the relationship between Petri net languages and other classes of formal languages are investigated.
Another comprehensive tutorial on Petri net languages is a paper by Jantzen [Jantzen 87]. Closure properties and relationship among the different classes of Petri net languages are reported with additional results, not presented by Peterson.
Parigot and Peltz [Parigot 86] have characterized PN languages in terms of logical formalism. The language power of Petri nets is shown to be greater than that of finite automata as a result of the additional ability of Petri nets to test if a string of parentheses is well formed. The logical formalism may be used to prove that a given language is a Petri net language and to construct a Petri net having a given finite behavior. Peltz [Peltz 86] has also extended the study to the infinite sequential behavior of Petri nets.
2.4 Incidence Matrix Analysis of Petri Nets
Incidence matrix and related analysis techniques are used by several authors to validate properties of P/T nets.
Colom [Colom 89] develops a methodology for the verification of assertions on P/T nets in terms of markings and firing count vectors. This approach is extremely general, i.e., can be applied to any P/T net but, unfortunately, can only guarantee necessary or sufficient conditions. There exists assertions, such as determining if a marking is a home state, for which neither a necessary nor a sufficient condition can be given. Within this framework, Silva and Colom [Silva 89a] give algorithms to efficiently compute the structural synchronic invariants of P/T nets.
Berthomieu [Berthomieu 87] uses the set of linear equations given by the P-semiflows to represent the space of reachable markings. In this case, only properties that depend on the markings can be proved. However, the author also shows that it is possible to prove some properties that depend on the firing count vector by adding to the net new places whose marking indicates the number of times a given transition has fired.
Johnen [Johnen 87] uses an hybrid approach, based partly on incidence matrix analysis and partly on the analysis of the state space, to verify that a given marking is a home state.

CHAPTER 2. LITERATURE REVIEW |
15 |
Ichikawa and Hiraishi study under which conditions a firing count vector ~¾, satisfying the state equation of a Petri net, yields a firing sequence. In [Ichikawa 88b], as reported in [Murata 89], they prove that in acyclic nets, ~¾ always yields a firing sequence. In [Ichikawa 88a, Murata 89] other classes of nets, such as trap-circuit nets, trap-containing-circuit nets, etc., are considered. For these classes, there exist necessary and sufficient conditions, based on the analysis of the firing subnet, to determine if ~¾ gives a firing sequence. Murata also discusses reachability in marked graphs in [Murata 77].
Avrunin et al. [Avrunin 91] use a formalism similar to Petri net incidence matrix analysis for verifying properties of concurrent systems described as finite state automata.
2.5 Synthesis and Reduction of Petri Nets Models
In the synthesis of Petri net models there are two main approaches: bottom-up and top-down. Following the first approach a complete net is constructed combining subnets under given operators; in the second approach, transition and places in a net can be replaced by a more detailed subnet. In both cases the synthesis rules are such as to preserve some properties of the original modules.
A complementary approach is that of defining reduction rules that preserve the properties of interest, while simplifying the structure of the net to make analysis easier.
Berthelot [Berthelot 86, Berthelot 87] has presented several reduction rules. In [Berthelot 86] he also discusses the composition of nets by common transitions as a complementary technique to the reduction methods. The classes of reduction rules include: place transformations, that reduce the net structure by eliminating redundant places but do not modify the state space; transition transformations, which by fusing transitions reduce both structure and state space of the net. The properties preserved by these transformations are: covering with P-semiflows (i.e., conservativeness), proper termination, home states and liveness. The author also proves that there are classes of nets to which these transformations can be repeatedly applied to reduce the net to a single transition. Two such classes are: live and bounded marked graphs (a structural class); live, bounded, and persistent nets (a behavioral class).
Best and Fernández [Best 86] define the notion of S-net, a net in which each transition has at most one input place and one output place. An S-decomposition is a partition of a net into S-net components.
Hack [Hack 72, Hack 74] studies the composition of state machines, defining a state machine decomposable net as a net constructed by composition of strongly connected state machines along common transitions.
The class of nets obtained by composition of state machine modules is named Superposed Automata Nets by De Cindio, et al. [De Cindio 82].
Narahari and Viswanadham [Narahari 85] define a union operator 1 for pure Petri nets, i.e., PN with no selflooping transitions. Two theorems are presented, stating that the P-semiflows and/or the T-semiflows of the union of two Petri nets can be immediately expressed — in specific cases
— in terms of the invariants of the two subnets. The invariants are used to analyze important qualitative aspects of the system such as absence/existence of deadlocks. Finally, the authors illustrate how this technique may be applied to the modeling of flexible manufacturing systems.
Beck and Krogh [Krogh 86] present a methodology for constructing a class of P/T nets for modeling discrete processes. The synthesis of Petri nets is realized by joining subnets along common simple elementary paths. This composition maintains the properties of safeness and liveness; the P-semiflows of the resulting net can also be easily found in term of the P-semiflows
1This operator is different from the union operator as defined in [Peterson 81], which given two Petri nets generating, respectively, languages L1 and L2 constructs a Petri net generating the language L = L1 [ L2.
CHAPTER 2. LITERATURE REVIEW |
16 |
of the subnets. The authors introduce a modified Petri net model [Beck 86] more suitable for the modeling of manufacturing systems by means of the synthesis approach they propose.
Datta and Gosh [Datta 84, Datta 86] present a technique for the modular synthesis of PN. The nets being considered are regular nets, i.e., nets where forks and joins are symmetrical, and where the subnets between a fork and a join are marked graphs. The modules are connected through a set of input/output places, that act as mailboxes. Finally, it is possible to give rules to connect the modules in a way that preserves liveness and boundedness.
Zhou [Zhou 90] has studied a formal methodology for the synthesis of Petri nets in manufacturing. The approach followed is called hybrid, in the sense that it is partially top-down and partially bottom-up. The author has also discussed how liveness properties for systems with shared resources depend on the value of the initial marking of the net.
Koh [Koh 92] has studied the compositions of live and bounded circuits along paths. The composition allows the fusion of overlapping paths, and has been extended to colored Petri nets. The author has studied under which conditions the composed system is live and bounded.
Chapter 3
BASIC NOTATION
3.1 Petri Nets
3.1.1 Place/Transition Nets
A Place/Transition net (P/T net) is a structure N = (P; T; P re; P ost) where:
²P is a set of places represented by circles, jPj = m;
²T is a set of transitions represented by bars, jTj = n;
²P re : P £ T ! IN is the pre-incidence function that specifies the arcs directed from places to transitions;
²P ost : P £ T ! IN is the post-incidence function that specifies the arcs directed from transitions to places.
Here IN = f0; 1; 2; : : :g. It is assumed that P \ T = ; and P [ T =6 ;.
A net is pure if it has no selfloops, i.e., if [P re(p; t) = 0 _ P ost(p; t) = 0] for every place p and for every transition t. If a net is pure the incidence functions can be represented by a single matrix, the incidence matrix of the net, defined as C(p; t) = P ost(p; t) ¡ P re(p; t).
The preset and postset of a transition t are respectively
²t = fp 2 P j P re(p; t) > 0g;
t² = fp 2 P j P ost(p; t) > 0g:
The preset and postset of a place p are respectively
²p = ft 2 T j P ost(p; t) > 0g;
p² = ft 2 T j P re(p; t) > 0g:
A trap is a set of places T µ P such that
[ p² µ [ ²p:
p2T p2T
A trap is minimal if it is not the superset of another trap. A trap is basic if it is not the union of other traps.
A siphon is a set of places S µ P such that
[ ²p µ [ p²:
p2S p2S
17

CHAPTER 3. BASIC NOTATION |
|
18 |
|
T |
A P-semiflow (or nonnegative P-invariant) is a vector Y : P ! IN, such that Y |
~ |
|
¸ 0 and |
|||
Y |
~ |
= fp 2 P j Y (p) > 0g. |
|
¢ C = 0. The support of Y is QY |
|
The reversal of N = (P; T; P re; P ost) is the net NR = (P; T; P ost; P re), i.e., a new net where the direction of all arcs of N is reversed.
A state machine is a P/T net such that each transition has exactly one input arc and one output arc. A marked graph is a P/T net such that each place has exactly one input arc and one output arc.
A P/T net is connected if in the underlying graph1 there exists a path (not necessarily directed) from any vertex to all others; strongly connected if there exists a directed path from any vertex to all others; acyclic if no directed path forms a cycle.
3.1.2 Marked Nets
A marking is a vector M : P ! IN that assigns to each place of a P/T net a non-negative integer number of tokens, represented by black dots. M(p) denotes the number of tokens assigned by marking M to place p. The set of all markings defined on a net N = (P; T; P re; P ost) is INjP j.
A net system or marked net hN; M0i is a net N with an initial marking M0.
A transition t 2 T is enabled at a marking M if M ¸ P re(¢; t). If t is enabled at M, then t may fire yielding a new marking M0 with M0 = M + C(¢; t). We will write M [ti M0 to denote that t may fire at M yielding M0.
A firing sequence from M0 is a (possibly empty) sequence of transitions ¾ = t1 : : : tk such that M0 [t1i M1 [t2i M2 ¢ ¢ ¢ [tki Mk. We will also write M0 [¾i Mk to denote that we may fire ¾ at M0 yielding Mk.
A marking M is reachable in hN; M0i if there exists a firing sequence ¾ such that M0 [¾i M. Given a marked net hN; M0i, the set of firing sequences (also called language of the net) is denoted L(N; M0) and the set of reachable markings (also called reachability set of the net) is
denoted R(N; M0).
Let marking M be reachable from marking M0 by firing a sequence of transitions ¾. Then the following state equation is satisfied: M = M0 + C ¢ ~¾, where ~¾ : T ! IN is a vector of non-negative integers, called the firing count vector . ~¾(t) represents the number of times transition t appears in ¾. The set of markings M such that there exists a vector ~¾ satisfying the previous state equation is called the potentially reachable set and is denoted P R(N; M0). Note that P R(N; M0) ¶ R(N; M0).
The firing subnet given by a firing count vector ~¾ consists of all the transitions t 3 ~¾(t) ¸ 0, and of their input and output places.
Let B be a basis of P-semiflows of the net N. A marking M 2 P R(N; M0) satisfies the following system of equations: BT ¢M = BT ¢M0. The set of markings satisfying the previous system of equations is denoted P RB(N; M0) [Colom 89]. Note that P RB(N; M0) ¶ P R(N; M0).
Amarked net hN; M0i is:
²Bounded, if there exists a nonnegative integer k such that M(p) · k for every place p and for every marking M 2 R(N; M0);
²Safe (or 1-bounded), if M(p) · 1 for every place p and for every marking M 2 R(N; M0);
²Conservative, if there exists a vector of positive integers Y such that Y T ¢ M = Y T ¢ M0 for every marking M 2 R(N; M0);
²Live, if from every marking M 2 R(N; M0) there exists a firing sequence containing all transitions;
1The graph underlying a Petri net has as vertices places and transitions, and as directed edges the arcs specified by
P re and P ost.
CHAPTER 3. BASIC NOTATION |
19 |
²Reversible, if the initial marking M0 is reachable from every reachable marking M 2
R(N; M0).
A place p of a marked net hN; M0i is implicit [Silva 85] if L(N; M0) = L(N0; M00), where hN0; M00i is the marked net obtained from hN; M0i by removing place p and all its input/output arcs. A place p of a net N is structurally implicit if there exists an initial marking M0 such that p is implicit in hN; M0i.
3.2 Formal Languages
Let Σ be an alphabet, i.e., a set of symbols. A language L over Σ is a set of strings composed with symbols in Σ, i.e., L µ Σ¤.
Let Σ1; : : : ; Σn be alphabets and let Σ = Σ1 [: : : [Σn. Given a string w 2 Σ¤, the projection (or restriction) of w on Σi is the string w "i obtained from w by deleting all the symbols not belonging to Σi. Formally the projection operator is a mapping from Σ¤ to Σ¤i .
Let Σ1; : : : ; Σn be alphabets; let L1; : : : ; Ln be languages defined on them; let Σ = Σ1 [: : :[
Σn. The concurrent composition (or synchronization) of L1; : : : ; Ln, denoted L = L1 k : : : k Ln, is the language over Σ defined as
L = fw 2 Σ¤ j w "i= wi 2 Li; i = 1; : : : ; ng:
As a particular case, when the alphabets Σ1; : : : ; Σn are disjoint, i.e., Σi \ Σj = ; (i 6= j), L is called a shuffle language and is denoted by L = L1 kd : : : kd Ln.
Let L be a language on Σ, and let Σe be a disjoint alphabet. The selfloop of L with respect to
Σe is the language
L0 = L kd Σ¤e:
Let Σ1; : : : ; Σn be alphabets; let L1; : : : ; Ln be languages defined on them; let Σ = Σ1 \: : :\ Σn. The intersection of L1; : : : ; Ln, denoted L = L1 \ : : : \ Ln, is the language over Σ defined
as
L = fw 2 Σ¤ j w 2 Li; i = 1; : : : ; ng:
3.3 Petri Net Languages
This section presents the notation used for Petri net languages. A more detailed review of Petri net languages is presented in Appendix A.
We will represent a discrete event system (DES) as a labeled Petri net (or Petri net generator) [Jantzen 87, Peterson 81], i.e., as a 4-tuple G = (N; `; M0; F ) where
²N = (P; T; P re; P ost) is a Petri net structure;
²` : T ! Σ is a labeling function that assigns to each transition a label from the alphabet of events Σ and will be extended to a mapping T ¤ ! Σ¤ as shown in Appendix A.1;
²M0 is an initial marking;
²F is a finite set of final markings.
The two languages associated with G are the L-language (also called marked behavior in the context of Supervisory Control) and the P-language (also called closed behavior) defined as follows [Peterson 81].

CHAPTER 3. BASIC NOTATION |
20 |
Given a DES G = (N; `; M0; F ), the L-type language of G is
Lm(G) = f`(¾) 2 Σ¤ j ¾ 2 T ¤; M0 [¾i M 2 F g; and the P-type language of G is
L(G) = f`(¾) 2 Σ¤ j ¾ 2 T ¤; 9M0 3 M0 [¾i M0g:
Note that in this definition of labeled net we are assuming that ` is a ¸-free labeling function, according to the terminology of [Peterson 81], i.e., no transition is labeled with the empty string ¸ and two (or more) transitions may have the same label. The classes of L-type and P-type languages generated by labeled nets is denoted L and P respectively.
A deterministic PN generator [Jantzen 87] is such that the string of events generated from
the initial marking uniquely determines the sequence of transitions fired. Formally, a DES |
G = |
||||||||||||
(N; `; M0; F ) is deterministic if |
8 |
t; t0 |
2 |
T , with t = t0 and |
8 |
M |
2 |
R(N; M0); M |
[t |
i ^ |
|||
M [t0 |
i |
) |
6 |
|
6 |
|
|
|
|||||
|
= |
`(t) = `(t0). We will always assume that the generators considered here are determin- |
istic. The classes of L-type and P-type PN languages generated by deterministic PN generators are denoted, respectively, Ld and Pd. Note that Pd ½ P and Ld ½ L (strict inclusion) [Jantzen 87].
3.4 Supervisory Control
This section presents the language notation used for Supervisory Control. A more detailed review of Supervisory Control is presented in Appendix B.
Let L be a language on alphabet Σ. Its prefix closure is the set of all prefixes of strings in L: L = f¾ 2 Σ¤ j 9¿ 2 Σ¤ 3 ¾¿ 2 Lg. A language L is said to be closed if L = L.
Two languages L1 and L2 are said to be non-conflicting [Wonham 88b] if L1 \ L2 = L1 \L2. In the following, let G = (N; `; M0; F ) be a DES with alphabet of events Σ.
G is nonblocking if any string that belongs to its closed behavior may be completed to a string that belongs to the marked behavior. A deterministic DES is non-blocking if and only if
L(G) = Lm(G).
A language K ½ Σ¤ is said to be Lm(G)-closed if K\Lm(G) = K\Lm(G). In the case that K µ Lm(G), this definition is reduced to the usual definition of Lm(G)-closed: K = K\Lm(G) [Ramadge 89b].
The alphabet of events Σ is partitioned into two disjoint subsets: Σc, the set of controllable events, and Σu, the set of uncontrollable events. The controllable events may be disabled by a controlling agent in order to restrict the behavior of the system within a legal behavior, while uncontrollable events may never be disabled.
A language K ½ Σ¤ is said to be controllable with respect to L(G) if KΣu \ L(G) µ K [Ramadge 87]. The set of all languages controllable wrt L(G) is denoted C(G).
If a language L ½ Σ¤ is not controllable with respect to L(G) we may compute its supremal controllable sublanguage [Wonham 87] defined as: L" = supfK µ L j K 2 C(G)g.
Chapter 4
ON THE EXISTENCE OF PETRI NET SUPERVISORS
4.1 Introduction
This chapter discusses some theoretical issues related to the use of Petri nets in Supervisory Control Theory. We are interested in obtaining necessary and sufficient conditions for the existence of a Petri net supervisor under the hypothesis that the system’s behavior and the legal behavior are both Petri net languages.
In the case of systems and specifications modeled by finite state machines (i.e., by generators of regular languages), Ramadge and Wonham [Wonham 87] have proved that the supervisor may also be modeled as a finite state machine. The PN models generally considered in Supervisory Control are conservative PN, a subclass of P/T nets whose set of reachable markings is finite. Thus the class of languages generated by these models is equivalent to the class of regular languages, and all the results for regular languages may apply to them as well.
Here we discuss the use of more general models with a possibly infinite set of reachable markings. We consider three problems [Giua 92c].
²The first problem regards the trimming of a blocking system, i.e., the modification of its structure in order that no blocking state may be reached while preserving its marked behavior. We prove that the trimming of a PN is not always possible and we define a new class of PN languages that may be generated by nonblocking generators.
²The second problem regards the existence of a PN supervisor, i.e., a supervisor whose control action is implicit in its net structure. The advantage of such a supervisor, as opposed to a supervisor given as a feedback function, is that a closed loop model of the controlled system may be constructed and analyzed using the same PN analysis techniques that are used to analyze the system. By suitable modification of the results given by Ramadge and Wonham [Ramadge 87, Ramadge 89b] we are able to derive necessary and sufficient conditions for the existence of supervisors as net systems.
²The final problem regards the closure of PN languages under extraction of the supremal controllable sublanguage. In this case, by means of an example, we show that PN languages are not closed under this operator.
4.2Petri Nets and Blocking
A first issue when using Petri nets as discrete events models for supervisory control regards the trimming of blocking net systems. The problem is the following: given a PN generator G with
21

CHAPTER 4. ON THE EXISTENCE OF PETRI NET SUPERVISORS |
22 |
Figure 4.1: Blocking system in Example 4.1.
Figure 4.2: Trimmed system in Example 4.1.
marked behavior Lm(G) and closed behavior L(G) ¾ Lm(G) we want to modify the structure of the net so that no blocking markings may be reached, i.e., so that L(G) = Lm(G).
On a simple model such as a state machine this may be done, trivially, by removing all states that are reachable but not coreachable (i.e., no final state may be reached from them) and all their input and output transitions.
On Petri net models the trimming may be more complex. In Chapter 5 is discussed the case of conservative nets. If the Petri net is conservative the trimming may be done without major changes of the net structure, in the sense that we have to add new arcs and possibly duplicate transitions without introducing new places.
As the following example shows, unbounded Petri net models may require more extensive changes of the net structure.
Example 4.1. Let G be the PN generator in Figure 4.1, with M0 = (100)T and set of final markings F = f(001)T g. The behaviors of this system are: Lm(G) = famcbn j m = rn; n ¸ 0g
and L(G) = famcbn j m ¸ rn; n ¸ 0g. The system is clearly blocking, since the string w = ar+1c 2 L(G), for example, cannot be completed to a string in Lm(G) (assuming r > 1).
To avoid reaching a blocking state we require that p2 contain a multiple of r tokens when the transition labeled c is allowed to fire. A possible solution is shown in Figure 4.2, where we have introduced r ¡ 1 new places and new transitions labeled a.
There are some cases, furthermore, in which the trimming of a net system is not possible. The reason for this is given by the following theorem.
Theorem 4.1. There exist L-type Petri net languages whose prefix closure is not a P-type Petri net language, i.e., 9L 2 L 3 L 62 P.
The proof of this theorem will be given by means of the next example and the following proposition.

CHAPTER 4. ON THE EXISTENCE OF PETRI NET SUPERVISORS |
23 |
Figure 4.3: Blocking system G in Example 4.2.
Example 4.2. Let G be the PN generator in Figure 4.3.(a), with M0 = (1000)T and set of final markings F = f(0001)T g. The behaviors of this system are: Lm(G) = fambamb j m ¸ 0g and L(G) = fambanb j m ¸ n ¸ 0g. From the reachability tree of the system, shown in Figure 4.3.(b), it is clear that the system is blocking. To avoid reaching a blocking state we require that p2 be empty before firing the transition inputting into p4. However, since p2 is unbounded this may not be done with a simple P/T structure. It is possible to introduce an inhibitor arc from p2 to the transition inputting into p4. Inhibitor arcs increase the modeling power, and the analysis complexity, of Petri nets to that of a Turing machine, thus we cannot properly consider these models as P/T nets. Petri nets with inhibitory arcs have been studied in the context of Supervisory Control by Sreenivas and Krogh [Sreenivas 92].
We may formally prove that the prefix closure of the marked language of the system G discussed in Example 4.2 is not a P-type Petri net language. The proof is based on the pumping lemma for P-type PN languages, given in [Jantzen 87].
Lemma 4.1 (Pumping lemma). Let L 2 P. Then there exist numbers k; l such that any string w 2 L, with j w j¸ k, has a decomposition w = xyz with 1 ·j y j· l such that xyiz 2 L; 8i ¸ 1.
Proposition 4.1. L = fambamb j m ¸ 0g is not a P-type Petri net language.
Proof . Given k and l according to the pumping lemma, let w = akbakb. Consider a partition |
|||||||||||||||||
w = xyzn |
|
p |
1 ·jq k |
j· |
62 |
|
k n |
p |
q |
62 |
6 |
||||||
, with |
|
|
|
|
y |
|
l. Clearly b y, since in this case xyiz |
L for i = 1. However |
|||||||||
if w = a |
a |
|
|
a ba b; (n + p + q = k), or if w = a ba |
a |
a b ; (n + p + q = k), then |
|||||||||||
xy z 62|{z}|{z}6 |
| |
|
{z |
|
} |
|
|
| |
|
{z }|{z}|{z} |
¦ |
||||||
|
|
|
|
|
|||||||||||||
x |
y |
|
|
|
z |
|
|
|
|
x |
y |
z |
|
|
i |
L for i = 1. Hence L is not a P-type Petri net language. |
|
We conclude this section with the definition of a new class of L-type Petri net languages whose prefix closure can be generated by a deterministic nonblocking Petri net generator. This class will play an important role in characterizing the existence of Petri net supervisors, as we will discuss in the next section.
Definition 4.1. A language L 2 L (not necessarily deterministic) is said to be deterministic P- closed (DP-closed for short) if and only if its prefix closure is a deterministic P-type Petri net language, i.e., L 2 Pd. The class of DP-closed Petri net languages is denoted LDP .