Petri Nets and Marked Graphs - CiteSeerX

2 downloads 0 Views 378KB Size Report
Aug 31, 2007 - The American Mathematical Monthly is currently published by ... New York 1974. 11. ...... 41, Montvale, New Jersey: AFIPS Press, 1972, pp.
Petri Nets and Marked Graphs--Mathematical Models of Concurrent Computation Richard Johnsonbaugh; Tadao Murata The American Mathematical Monthly, Vol. 89, No. 8. (Oct., 1982), pp. 552-566. Stable URL: http://links.jstor.org/sici?sici=0002-9890%28198210%2989%3A8%3C552%3APNAMGM%3E2.0.CO%3B2-A The American Mathematical Monthly is currently published by Mathematical Association of America.

Your use of the JSTOR archive indicates your acceptance of JSTOR's Terms and Conditions of Use, available at http://www.jstor.org/about/terms.html. JSTOR's Terms and Conditions of Use provides, in part, that unless you have obtained prior permission, you may not download an entire issue of a journal or multiple copies of articles, and you may use content in the JSTOR archive only for your personal, non-commercial use. Please contact the publisher regarding any further use of this work. Publisher contact information may be obtained at http://www.jstor.org/journals/maa.html. Each copy of any part of a JSTOR transmission must contain the same copyright notice that appears on the screen or printed page of such transmission.

The JSTOR Archive is a trusted digital repository providing for long-term preservation and access to leading academic journals and scholarly literature from around the world. The Archive is supported by libraries, scholarly societies, publishers, and foundations. It is an initiative of JSTOR, a not-for-profit organization with a mission to help the scholarly community take advantage of advances in technology. For more information regarding JSTOR, please contact [email protected].

http://www.jstor.org Fri Aug 31 16:36:48 2007

552

RICHARD JOHNSONBAUGH AND TADAO MURATA

6. ,

[October

Triple collision in the planar isosceles three body problem, Invent. Math., 60 (1980) 249-267.

7. , Collision orbits in the anisotropic Kepler problem, Invent. Math., 45 (1978) 221-251. 8. M. Gutzwiller, The anisotropic Kepler problem in two dimensions, J. Math. Phys., 14 (1973) 139-152. 9. , Bernoulli sequences and trajectories in the anisotropic Kepler problem, J. Math. Phys., 18 (1977)

806-823. 10. M. Hirsch and S. Smale, Differential Equations, Dynamical Systems, and Linear Algebra, Academic Press, New York 1974. 11. E. Lacomba, Quadruple collision in the trapezoidal four body problem, to appear in Classical Mechanics and Dynamical Systems, Marcel Dekker, New York. 12. E. Lacomba, and L. Losco, Triple collision in the isosceles three body problem, Bull. Amer. Math. Soc., 3 (1980) 710-714. 13. R. Moeckel, Orbits of the three body problem which pass infinitely close to triple collision. To appear. 14. , Orbits near triple collision in the three body problem. To appear. 15. R. McGehee, Triple collision in the collinear three body problem, Invent. Math., 27 (1974) 19 1-227. 16. , Double collisions for non-Newtonian potentials. To appear. 17. J. Milnor, Morse Theory, Princeton University Press. Annals of Math. Studies, no. 51, 1963. 18. C. Simo, Analysis of triple collision in the isosceles problem, In Classical Mechanics and Dynamical Systems, Marcel Dekker, New York, 1981.

PETRI NETS AND MARKED GRAPHS-MATHEMATICAL

MODELS OF CONCURRENT COMPUTATION

RICHARD JOHNSONBAUGH* Department of Mathematics, Chicago State University, Chicago, I L 60628 TADAO MURATA* * Department of Information Engineering, University of Illinois at Chicago, Chicago, I L 60680

Introduction. Petri nets and related graph models are recent tools used to model various classes of systems, especially systems involving parallel computations and concurrent processes. Currently, one text on Petri nets is available [44] and Springer has published the proceedings of an advanced course on Petri nets held in Hamburg, West Germany, October 1979 151. Nevertheless, many of the results are still available only in conference proceedings and technical reports. It is hoped that this paper will introduce Petri nets to a wider audience and will give some of the flavor of the mathematics employed. Other expository papers are [I], [33], [45]. I. Definitions and History of Petri Nets. A Petri net is a particular kind of directed graph,

*Supported in part by NSF Grant MCS 80-09804. Richard Johnsonbaugh received his Ph.D. degree in Mathematics from the University of Oregon in 1969. Since 1972 he has been with the Department of Mathematics at Chicago State University except for the 1978-79 academic year, which was spent at the University of Illinois at Chicago under an NSF Professional Development Grant. His research interests include applied graph theory, microcomputers, and discrete mathematics. **Supported in part by NSF Grants ENG 78-05933 and ECS 81-05649. Tadao Murata received his Ph.D. degree in Electrical Engineering from the University of Illinois at Urbana-Champaign in 1966. He has been with the Department of Information Engineering at the University of Illinois at Chicago since 1966, except for occasional leaves of absence. From 1968-1970 he taught at Tokai University, Tokyo, Japan; and from 1976-1977 at the University of California at Berkeley. He was invited to visit Germany as a guest researcher in 1979. He was invited to visit France also as a guest researcher in 1981. He is currently serving as a member on the panel of the National Academy of Sciences, studying international developments in computer science. His research interests include concurrent computer systems, network theory, and applied graph theory.

19821

PETRI NETS AND MARKED GRAPHS

553

together with an initial state called a marking. The graph has two kinds of vertices, places and transitions. Places are drawn as circles, and transitions are drawn as bars or rectangular boxes. Directed arcs may exist only between different types of vertices. (Such a graph is called a bipartite graph .) (See Fig. 1.)

Transition Firings Mean: 1: Computef(x,:'_ ,, t,,- ,) 2: Increment r,, 3: Compute f(xR, t,,) 4: Compute Equation (1) 5: Compute Equation (2)

FIG. 1. Petri net representation of a parallel predictor-corrector algorithm

A marking assigns to each place a nonnegative integer. If a marking assigns to place p the nonnegative integer n , we say that p has n tokens. Pictorially, we place n dots in place p. (See Fig. 1.) The dots in the places represent the initial marking. A (generalized) Petri net may have parallel arcs, that is, arcs with multiplicity greater than one. However, for brevity we will deal only with Petri nets with arc multiplicity equal to one in this article, unless otherwise stated. A transition t of a Petri net is said to be firable or enabled if each input place of t is marked with at least one token. For example, in Fig. 2, transition 1 is firable whereas transition 3 is not firable. A firing of a (firable) transition removes one token from each input place and adds one token to each output place. In Fig. 2, we illustrate markings which result from successively firing transitions 1, 2, 3, 4, and 5. In modeling using Petri nets, we regard the places as conditions and the transitions as events. A token in a place (condition) indicates that that condition is met; hence, when all input places for a particular transition (event) have tokens, then all conditions are met for that event and that event can take place. The firing of a transition corresponds to the occurrence of that event. For example, consider the predictor-corrector computation scheme [30] for solving the ordinary differential equation x = f(x, t )

[October

RICHARD JOHNSONBAUGH AND TADAO MURATA

+

Fire 4,5

(Fig. 1)

'lr

4

Fire 1

Fire 3

FIG. 2. A sequence of markings for Fig. 1.

This computation can be modeled by the Petri net of Fig. 1. The presence of tokens in the places to, x;, and xp means that the conditions, "the values of to, x;, and xf have been assigned," are met. In particular, transition 1 can be fired. The firing of this transition, shown in Fig. 2, models the calculation of f(x6, to). At this point we cannot fire transition 3 since input place Po does not have a token-a condition is not met. To obtain a token at place Po we must fire transition 2 which simulates the event, "increment t,." Now all input places to transition 3 have tokens so that transition 3 is enabled. Firing transition 3 simulates the event "compute f(x[, t,,)." Fig. 2 illustrates the firing sequence corresponding to one iteration of the algorithm. This net models the inherent concurrency of the algorithm-transitions 4 and 5 can be fired in either order or concurrently. Petri nets originated in C. A. Petri's dissertation [46]. Petri adopted the viewpoint that the basic phenomena of communication are representable by purely combinatorial means. Thus, he proposed the construction of a net with more practical applicability in the design and programming of information processing machnes than does the theory of abstract automata. In the mid 19607s,Petri's work was introduced in the United States and has since been developed, extended, and applied to many areas in computer science. The early work in the United States was carried out principally by a research group at Applied Data Research (and later at Massachusetts Computer Associates) led by Holt [17] and by the Computation Structures Group at M.I.T. 191, 1131, [41], [47]. At about the same time, Karp and Miller [22], [23] independently introduced vector addition systems, a parallel computation model closely related to Petri nets. Petri and his colleagues have continued their research and currently more research activities are taking place in Europe than in the United States [5], [52].

19821

PETRI NETS AND MARKED GRAPHS

555

11. Applications. The role of Petri nets in modeling was described in the previous section. Petri nets and other related graph models have been used to investigate a variety of systems such as computer hardware [21], computer operating systems [39], [40], computer software [9], [25], [q, [42], legal systems [28], formal language theory [S], [16], [43], communication protocols [29], PERT charts [ a ] , chemical systems [ a ] , interrelationships of mathematical structures [12], office information systems [Ill, performance evaluation [49] and fault-tolerant systems [50], industrial process control [3], distributed database systems [51], and the formal verification of parallel programs [24]. In this section we discuss some of these models.

ia Input

x,y, z

FIG. 3. Flowchart.

In the area of computer software, it is easy to convert a flowchart of a computer program to a Petri net. (See Figs. 3 and 4.) The boxes (respectively arcs) of the flowchart correspond to transitions (respectively places) in the Petri net. The computer program

RICHARD JOHNSONBAUGH A N D TADAO MURATA

[October

FIG. 4. Flowchart of Fig. 3 as a Petri net

can be modeled by the Petri net of Fig. 5. This model demonstrates the fact that the statements C = A**2 and D = A B , for example, can execute in either order or simultaneously. Such models are becoming increasingly important because the decline of hardware costs makes feasible the introduction of multiple processors making possible concurrent processing. Models similar to that of Fig. 5 have proved useful in compiler design. Having obtained a Petri net model of the instructions to be executed which maximizes parallelism, we can consider all possible execution sequences, together with execution times and/or costs of execution for a

+

19821

PETRI NETS AND MARKED GRAPHS

FIG.5. Petri net model of a computer program

Opc9(X); 0 E0p;XEOp; A c o p = U A EOp; u,hEOp=anhEOp;

C:9(X) -9(X); C(0) = 0 ; t~

12

uCX=aLC(a)=C(C(a)); a , h c X - C ( a U h) = C ( a ) U C ( h ) ;

t3

C: = { ( a , X - U [ h ~ O p a n d u n b =@ ] ) I a c X )

14

Cl: = {a I C ( a ) = a } Op: = {a1 X - a E C1)

FIG. 6. Petri net representation of some mathematical structures.

particular computer. T h s allows us to compile optimally. Such an analysis was carried out in the design of a FORTRAN compiler for the CDC 6600 computer [48]. Finally, in Fig. 6 , we show a Petri representation of some concepts in topology. In this example, adapted from Genrich [12], the transitions are represented by rectangular boxes. In

558

[October

RICHARD JOHNSONBAUGH AND TADAO MURATA

Genrich's theory, a token has structure. For example, we could obtain a token in the place labeled "Topological Space" by firing transition t,. This token would be assumed to have the structure specified by t,, namely, that of a topological space. If we next fire t,, we will produce a token in the place labeled "Space with Closure Operator." We could also obtain a space with a closure operator by firing transition t,. Thus, a Petri net is used in a formal way to show the interrelationships of mathematical structures. 111. Properties of Petri Nets. Among many other properties, three are characteristic of Petri nets and have been most frequently studied: reachability, liveness, and safeness (or boundedness). A marking M, is said to be reachable from a marking M, if there exists a firing sequence which transforms M, to M,. A marking M, is said to be live for a Petri net if, no matter what marking has been reached from M,, it is possible ultimately to fire any transition of the net by progressing through some further firing sequence. Thus, a Petri net with a live marking guarantees a deadlock-free operation, regardless of the firing sequence chosen. The markings shown in Figs. 1 and 2 are live. An example of a Petri net with a nonlive marking is given in Fig. 7(a). Here, no transition can be fired after transition t,, as indicated in Fig. 7(b). (However, the marking shown in Fig. 7(a) may be said to exlvbit a weaker form of liveness in the sense that each transition can be fired once if the firing sequence is chosen as t,, t,, t,, t,, t,.) A marking M, is said to be bounded if there exists an integer m such that each place of the net has at most m tokens for every marking reachable from M,. Specifically, M, is said to be safe if m = 1. The concept of boundedness is related to the capacity bound of memory devices. For example, if registers which can store one word at a time are used as places, then a safe marking will not cause overflow in these registers, regardless of the firing sequence chosen. The marking shown in Fig. 1 is live but not safe, and the markings of Fig. 7 are safe but not live. An example of a Petri net with a live and safe marking M, is given in Fig. 8. Here we also show all markings reachable from M,. These are also live and safe.

Fire t ,

====+

15

r5

(a)

(b)

FIG. 7. A Petri net with a non-live marking.

There has been extensive work reported on the formal properties of Petri nets as is shown in a recent survey [19]. However, most of the results to date are concerned with subclasses of Petri nets (such as marked graphs and freechoice nets) or partial solutions. While the reachability question for Petri nets (or equivalently, foi vector addition systems [22], [38]), has recently been reported decidable [18], [27, there are also undecidable questions concerning Petri nets. For example, it has

PETRI NETS AND MARKED GRAPHS

i

Fire t ,

Fire t ,

4

Fire t 2

FIG. 8. A live and safe Petri net

been shown [4],[14] that the question of whether two Petri nets with equal numbers of places have the same reachability set (the set of all markings reachable from an initial marking) is undecidable.

IV. Matrix Approach. Let p and t denote the number of places and transitions in a Petri net, respectively. A marking or state vector Mk is a p X 1 column vector of nonnegative integers. The j t h entry of t h ~ svector denotes the number of tokens on place j immediately prior to the kth firing. Specifically, M,, denotes the initial marking or state. The kth firing or control vector v , is a t X 1 column vector of 1's and 0's. Its i th entry is 1 if transition i is to be fired at the k th firing opportunity and 0 otherwise. Let A = [a, ] (A+ = [a; I) be a t X p matrix having a, (a; ) = 1 if place j is an input (output) place for transition i and 0 otherwise. Then, transition i is firable at marking Mk if each entry of Mk is greater than or equal to the corresponding entry of the i th row of A- . Further, we see that the ith row of the matrix A, which is defined as A+ -A-

560

RICHARD JOHNSONBAUGH AND TADAO MURATA

[October

represents the token change in each of the p places when transition i fires once. In other words, the marking M k + , resulting from marking Mk by the kth firing v k may be given in terms of the following matrix (state) equation [34]: where T denotes matrix transposition. It should be noted that the control vector v k cannot be chosen arbitrarily since only enabled transitions may be fired. Also, observe that v k is constrained by Mk 1 = v k 2 0 for each k. Obviously, matrix A in (3) is of key importance in characterizing both the dynamic behavior and the structure of a Petri net. The usefulness of the state equation (3) is demonstrated in the next section of this article for a subclass of Petri nets and in [31], [34] for more general nets. The matrices A - and A + of the net given in Fig. 8 are

+

and

Equation (3) is illustrated below for the transition to the marking M , = (0 1 0 (0 1 1 O)T, caused by firing t,.

from M , =

State equation (3) can be extended to generalized (multiple arc) Petri nets. Further, a state equation can be written [37l for E-nets, modified Petri nets, whch have been used for modeling the CDC 6400 computer under the control of an operating system [39].

FIG. 9. A marked graph representation of the Petri net of Fig. 1

19821

PETRI NETS AND MARKED GRAPHS

56 1

V. Marked Graphs. In many applications, as for example in Fig. 1, each place in a Petri net has exactly one incoming arc and exactly one outgoing arc. Such a Petri net can be reduced to a directed graph, where vertices correspond to transitions and arcs to places. This subclass of Petri nets is known as marked graphs. As an example, the marked graph representation of the Petri net of Fig. 1 is drawn in Fig. 9. The tokens are shown on the arcs. For marked graphs, properties such as liveness, safeness, and reachability have been completely characterized. Liveness and Safeness Conditions for Marked Graphs. The firing of a vertex (transition) in a marked graph removes one token from each of its incoming arcs (input places) and adds one token to each of its outgoing arcs (output places). If a vertex is on a directed circuit, then exactly one of its incoming arcs and exactly one of its outgoing arcs belongs to the directed circuit. If a vertex does not lie on the directed circuit in question, none of the arcs incident to that vertex will belong to the directed circuit. Thus, we have the following token invariance property [q. Property 1. The token count in a directed circuit is invariant under any vertex firing. By Property 1, if there are no tokens on a directed circuit at an initial marking, then t h s directed circuit remains token-free, and the vertices on this directed circuit must forever be nonfirable. It can also be shown [Athat if a vertex cannot be made firable by any firing sequence, then t h s vertex must belong to a token-free directed circuit. Therefore, we have: Property 2. A marking M, is live for a directed graph G if and only if M, places at least one token in each directed circuit in G. The following property is a mini-max theorem of marked graphs. (See eq. (4) in [35].) Property 3. The maximum number of tokens that an arc can have in a marked graph G, with an initial marking M,, is equal to the minimum number of tokens placed by M, on a directed circuit containing t h s arc. From Property 3 we can conclude that: (1) If an arc belongs to a token-free directed circuit, then t h s arc will never possess tokens and (2) if an arc belongs to a directed circuit having a token count of one, and does not belong to any token-free directed circuit, then this arc will have at most one token. In fact, it is known [ q that: Property 4. A live marking is safe for a marked graph G if and only if every arc in G belongs to a directed circuit with token count one. It is interesting to note that live and safe markings are related to minimal (but not minimum) feedback arc sets [2], and that the maximum live and safe marking is akin to a maximum-cost minimum-flow problem [ q . Fig. 10 shows a marked graph G with a live initial marking M,. The two markings reachable from M, are also illustrated. There are three directed circuits (ac, de, abd) in G. The token counts of these directed circuits are 2 (on ac), 1 (on de), and 1 (on abd). Observe that these counts do not change with any firing (Property 1). The marking M, is live since each directed circuit has at least one token (Property 2), but it is not safe because arc c does not belong to a directed circuit with token count one (Property 4). There are two directed circuits, ac and abd, which include arc a . The maximum number of tokens that arc a can have is given by the minimum of two (for ac) and one (for abd), or one, as verified by Fig. 10 (Property 3). A live and safe marking for the same graph G is shown in Fig. 11. Reachability Theorem for Marked Graphs. To discuss the reachability theorem for marked graphs, we need the fundamental circuit matrix Bf of a directed graph G [lo]. Momentarily, consider G to be an undirected graph. Select a spanning tree T of G; that is, a connected, circuit-free subgraph T of G containing all of the vertices of G. For example, (ab) is a spanning

562

RICHARD JOHNSONBAUGH AND TADAO MURATA

[October

Fire 2 FIG. 10. A live and unsafe marked graph.

FIG. I I. A live and safe marked graph

FIG. 12. Application of equation (6).

tree of the graph of Fig. 12. Note that adding any edge not in T to T determines a unique (undirected) circuit, called afundamental circuit. The rows of the fundamental circuit matrix Bf correspond to the fundamental circuits and the columns of Bf correspond to the edges of G. Each fundamental circuit is assigned an orientation consistent with the orientation of the added arc which determines it. The row entries in Bf corresponding to a fundamental circuit C are defined as follows. If an edge is not in C, the entry is 0. If an edge is in C and is oriented in the same way as C , the entry is 1; if the orientation is reversed, the entry is - 1. The fundamental circuit matrix for Fig. 12 is given below. a

b

c

d

e

19821

PETRI NETS AND MARKED GRAPHS

563

,

Suppose that there exists a firing sequence {v,, v ,.. .v , ,) that transforms an initial marking M, to M, in a marked graph G. Applying (3) for k = 0,1,. . . ,n - 1 and summing, we obtain

which may in turn be written as

A ~ X =A M

(4)

where AM = M, - M, and X, thefiring count vector, is defined as 2;: v,. Note that Xis a t X 1 column vector of nonnegative integers. The i th entry of X denotes the number of times that vertex i fires in the firing sequence leading from M, to M,. Now let Bf be the fundamental circuit matrix of the directed graph G. It is well known [lo] that

From (4) and (5), we have

B f A M = 0,

Equation (7) states that the algebraic sum of tokens on a fundamental circuit placed by M, is equal to that placed by M,, and is a generalization of Property 1. It has been shown [32] that this generalized token invariance expressed by (6) is not only necessary but also sufficient for a live marking M, to reach another marking M,. In other words, we have: Property 5. In a marked graph, a marking M, is reachable from a live marking Mo if and only if (6) holds. Condition (6) for Fig. 12, when (ah) is taken as our tree, becomes

Thus, M, is reachable from Mo. A firing count vector X can be found by solving (4) for Fig. 12:

Since the rank of the coefficient matrix is two, we may set x, = 0 and solve for x , and x, obtaining X = (2 1 O)T. Therefore, M, reaches M, by firing vertex 1 twice and vertex 2 once (in the sequence 1-2-1 as the reader may verify with reference to Fig. 12). Property 5 can be extended to the case of a nonlive initial marking M, if one imposes the additional condition that the vertices whch are to fire should not lie on a token-free directed circuit [32]. Another application of (6) is the following. Since AM is zero if and only if all the entries in X are the same, we have: Property 6. A firing sequence leads back to the initial marking (M, = M,) if and only if it fires every vertex an equal number of times. Fig. 10 provides an illustration of Property 6.

564

[October

RICHARD JOHNSONBAUGH AND TADAO MURATA

Controllability. The controllability problem is: Given any initial marking Mo and any marking M,,, find a condition that there exists a firing sequence leading from M, to M,,. Since AM is a p X 1 matrix, if (4) can be solved for X for any choice of AM, we must have

Although condition (8) is only necessary for the existence of a firing sequence leading from any M, to any M,, within unrestricted Petri nets 1341, it is necessary and sufficient in the case of marked graphs as we will show. Without loss of generality, we may assume that our marked graph G is connected. In this case, A is simply the incidence matrix of G and it is known 1101 that for the incidence matrix A of a connected graph with t vertices From (8) and (9), we have which implies that G contains no circuits and is a tree. For a marked graph, the underlying graph of which is a tree, any initial marking M, is live since there is no directed circuit (Property 2) and (6) holds for any AM. Therefore, we have [32]: Property 7. There exists a firing sequence leading from any initial marking to any other marking in a marked graph G if and only if the underlying graph of G is a tree. 1

Fire 1,3,2,3 co4

3

Fire 4,1,2,4 FIG. 13. A marked tree graph.

In the marked (tree) graph shown in Fig. 13, the firing sequence 1-3-2-3 transforms M, to M,,, while the sequence 4-1-2-4 drives M,, back to M,. Note that in a marked tree graph, there is always at least one source vertex (vertices 1 and 3 in Fig. 13) which can create tokens, and there will always be at least one sink vertex (vertex 4 in Fig. 13) which can remove tokens from the graph. Define a relation on the set of live markings of a marked graph G to be Mo M,, if M,, is reachable from M,. Then is an equivalence relation and thus partitions the set of live markings into equivalence classes. For example, three different equivalence classes of markings for the same directed graph are shown in Figs. 10, 11, and 12. Let p(G) be the number of equivalence classes of live and safe markings for a directed graph G. Finding p(G) in the general case is an unsolved problem of marked graphs; however, several transformations of marked graphs have been introduced which are useful in finding p(G) and for analyzing other properties [20], [36]. These transformations have also been used in synthesizing marked graphs having prescribed properties 1351.

- -

-

References 1. T. Agenvala, Putting Petri nets to work, Computer, vol. 12 (December 1979) 85-94. 2. A. T. Amin and T. Murata, A characterization of live and safe markings of a directed graph, Proc, of the 1976 Conf. on Info. Sci. and Syst., Johns Hopkins University (March 1976) 295-299. 3. C. Andre, M. Diaz, C. Girault, and J. Sifakis, Survey of French research and applications based on Petri nets, pp. 321-345, in W. Brauer (Editor), Net Theory and Applications, Lecture Notes in Computer Science, vol. 84, Springer-Verlag, New York, 1980.

19821

PETRI NETS AND MARKED GRAPHS

565

4. T. Araki and T. Kasami, Undecidable problems for Petri nets, Systems-Cornput.-Controls, vol. 7, no. 1 (January-February 1976) 20-28. 5. W. Brauer (Editor), Net Theory and Applications, Lecture Notes in Computer Science, vol. 84, SpringerVerlag, New York, 1980. 6. C. T. Chen, Introduction to Linear System Theory, Holt, Rinehart and Winston, New York, 1970. 7. F. Commoner, A. W. Holt, S. Even, and A. Pnueli, Marked directed graphs, J. Comput. System Sci., vol. 5 (October 1971) 51 1-523. 8. S. Crespi-Reghizzi and D. Mandrioli, Some algebraic properties of Petri nets, Alta Frequenza, vol. 45, no. 2 (February 1976) 130-137. 9. J. B. Dennis, Concurrency in software systems, in Advanced Course in Software Engineering, F. L. Bauer (Editor), Springer-Verlag, Berlin, 1973, pp. 111- 127. 10. N. Deo, Graph Theory with Applications to Engineering and Computer Science, Prentice-Hall, Englewood Cliffs, N. J., 1974. 11. C. A. Ellis and G. J. Nutt, Office information systems and computer science, ACM Computing Surveys, vol. 12 (1980) 27-60. 12. H. J. Genrich, The Petri net representation of mathematical knowledge, St. Augustin, West Germany, GMD-ISF Report ISF-76-05, 1976. 13. M. Hack, Analysis of production schemata by Petri nets, M.I.T., Project MAC, TR-94, 1972. 14. M. Hack, Decidability questions for Petri nets, Technical Report TR-161, M.I.T. Lab. for Comp. Sci., June 1976. 15. M. Hack, Decision problems for Petri nets and vector addition problems, Computation Structures Group Memo 95, Project MAC, M.I.T., Cambridge, Mass., March 1974; also Technical Memo 59, Project MAC, M.I.T., March 1975. 16. M. Hack, Petri net languages, Rep. TR 159, M.I.T., Lab. for Comp. Sci., March 1976. 17. A. W. Holt, et al., Final report of the information system theory project, Tech. Rept. RADC-TR-68-305, Rome Air Development Center, 1968. 18. S. Hudak, On the reachability problem for vector addition systems, presented at 2nd European Workshop on Applications and Theory of Petri Nets, Bad Honnef, Germany, September 28-30, 1981. 19. M. Jantzen and R. Valk, Formal properties of place/transition nets, pp. 165-212 in W. Brauer (Editor), Net Theory and Applications, Lecture Notes in Computer Science, vol. 84, Springer-Verlag, New York, 1980. 20. R. Johnsonbaugh and T. Murata, Additional methods for reduction and expansion of marked graphs, IEEE Trans. Circuits and Systems, vol. CAS-28, no. 10 (October 1981) 1009- 1014. 21. J. R. Jump, Asynchronous control arrays, IEEE Trans. Comput., vol. C-23, no. 10 (October 1974) 1020- 1029. 22. R. M. Karp and R. E. Miller, Parallel program schemata, J. of Comp. and Syst. Sci., vol. 3, no. 2 (May 1969) 147-195. 23. R. M. Karp and R. E. Miller, Properties of a model for parallel computations: determinacy, termination, queueing, SIAM J. Appl. Math., vol. 14 (November 1966) 1390-141 1. 24. R. M. Keller, Formal verification of parallel programs, Comm. ACM, 19 (1976) 371-384. 25. P. E. Lauer and R. H. Campbell, Formal semantics of a class of high-level primitives for coordinating concurrent processes, Acta Inform., vol. 5, no. 4 (1975) 297-332. 26. K. Lautenbach and H. A. Schmid, Use of Petri nets for proving correctness of concurrent process systems, Inform. Process. '74, North-Holland, Amsterdam, 1974, pp. 187- 191. 27. E. W. Mayr, An algorithm for the general Petri net reachability problem (preliminary version), Proc. of ACM Symposium on Theory of Computing, University of Wisconsin-Milwaukee, May 1981. 28. J. A. Meldman, A Petri net representation of civil procedure, IDEA: The Journal of Law and Technology, vol. 19, no. 2 (1978) 123-148. 29. P. M. Merlin, A methodology for the design and implementation of communication protocols, IEEE Trans. Comm., vol. COM-24 (June 1976) 614-621. 30. R. E. Miller, Some relationsh~psbetween various models of parallelism and synchronization, IBM Res. Report RC-5074 (October 1974). 31. G. Memmi and G. Roucairol, Linear algebra in net theory, in Net Theory and Applications, Lecture Notes in Comp. Sci., vol. 84, Springer-Verlag, New York, 1980, pp. 213-224. 32. T. Murata, Circuit theoretic analysis and synthesis of marked graphs, IEEE Trans. on Circuits and Syst., vol. CAS-24, no. 7 (July 1977) 400-405. 33. T. Murata, Petri nets, marked graphs, and circuit-system theory-a recent CAS application, Circuits and Systems, vol. 11, no. 3 (June 1977) 2-12. 34. T. Murata, State equation, controllability, and maximal matchings of Petri nets, IEEE Trans. Auto. Control, vol. AC-22, no. 3 (June 1977) 412-416.

566

RICHARD JOHNSONBAUGH AND TADAO MURATA

35. T. Murata, Synthesis of decision-free concurrent systems for prescribed resources and performance, IEEE Trans. on Software Engrg., vol. SE-6, no. 6 (November 1980) 525-530. 36. T. Murata and J. Y. Koh, Reduction and expansion of live and safe marked graphs, IEEE Trans. on Circuits and Systems, vol. CAS-27 (January 1980) 68-70. 37. T. Murata and T. Shah, On liveness, deadlock, and reachability of E-nets, Procs. of the 1976 Allerton Conf. on Circuit and System Theory, October, 1976. 38. B. 0. Nash, Reachability problems in vector addition systems, this MONTHLY, vol. 80 (1973) 292-295. 39. J. D. Noe and G. J. Nutt, Macro E-nets for representation of parallel systems, IEEE Trans. on Comp., vol. C-22, no. 8 (August 1973) 718-727. , 40. G. J. Nutt, Evaluation nets for computer system performance analysis, 1972 Fall Joint Comp. Conf., AFIPS Conf. Proc., vol. 41, Montvale, New Jersey: AFIPS Press, 1972, pp. 279-286. 41. S. S. Patil, Coordination of asynchronous events, M.I.T., Project MAC, Tech. Report 72, 1970. 42. S. S. Patil, Micro-control for parallel asynchronous computers, Comp. Stmct. Group Memo 120, Project MAC, M.I.T., March 1975. 43. J. L. Peterson, Computation sequence sets, J. of Comp. and Syst. Sci., vol. 13, no. 1 (August 1976) 1-24. 44. J. L. Peterson, Petri Net Theory and the Modeling of Systems, Prentice-Hall, Englewood Cliffs, NJ, 1981. 45. J. L. Peterson, Petri nets, Computing Surveys, vol. 9 (September 1977) 223-252. 46. C. A. Petri, Kommunikation mit Automaten (in German), University of Bonn, 1962; translation by C. F. Green, Jr. Communication with Automata, Supplement to Tech. Doc. Rep. # 1, Rome Air Development Center, Contract #AF30(602)-3324, 1965. 47. C. Ramchandani, Analysis of asynchronous concurrent systems by timed Petri nets, M.I.T., Project MAC, Tech. Report 120, 1974. 48. R. M. Shapiro and H. Saint, A new approach to optimization of sequencing decisions, Ann. Rev. of Automatic Programming, vol. 6, no. 5 (1970) 257-288. 49. J. Sifakis, Use of Petri nets for performance evaluation, in Modelling and Performance Evaluation of Computer Systems, edited by Beilner and Gelenbe, North-Holland, Amsterdam, 1977, pp. 75-93. 50. J. Sifakis, Realization of fault-tolerant systems by coding Petri nets, J. Design Automat. Fault-Tolerant Comput., vol. 3, no. 2, 1979. 51. K. Voss, Using predicate/transition-nets to model and analyze distributed database systems, IEEE Trans. on Software Engineering, vol. SE-6, no. 6 (November 1980) 539-544. 52. C. Girault and W. Reisig (Editors), Application and Theory of Petri Nets, Informatik-Fachberichte, vol. 52, Springer-Verlag, New York, 1982.

MISCELLANEA 82. In the eyes of a modem mathematician, individual "pretty theorems" have even less intrinsic value than the discovery of a new "pretty flower" has for a scientific botanist. However, amateurs find the principal appeal of the respective sciences in such things. If you will look at mathematical journals that have relaxed their standards, you will see what rank weeds spring up in the absence of the shears of the critical gardener and of the question, quid usui? I need hardly say that the utility of theorems does not need to be sought outside mathematics. It is true that both the astronomy of the last century and today's physics, with its mathematical foundation, have raised and continue to raise many problems that have influenced the development of mathematics and have led to the creation of splendid theories, whch would never have been discovered in the course of purely mathematical activity. Nevertheless, it is certain that the development of the main branches of our science has, since the beginning, come about from intrinsic necessity. -Hermann Hankel, Die Entwickelung der Mathematik in den letzten Jahrhunderten, Tiibingen, 1869, p. 19.