Professional Documents
Culture Documents
JAMES L. PETERSON
Department of Computer Sciences, The Unwers~ty of Texas, Austin, Texas 78712
Over the last decade, the Petri net has gamed increased usage and acceptance as a basic
model of systems of asynchronous concurrent computation. This paper surveys the basic
concepts and uses of Petm nets. The structure of Petri nets, their m a r k i n g s and
execution, several examples of Petm net models of computer hardware and software, and
research into the analysis of Petm nets are presented, as are the use of the reachability
tree and the decidability and complexity of some Petri net problems. Petri net
languages, models of computation related to Petm nets, and some extensions and
subclasses of the Petri net model are also bmefly discussed
Keywords and Phrases: P e t n nets, system models, asynchronous concurrent events.
CR Categories. 1.3, 5.29, 8.1
C o m p u t i n g S u r v e y s , Vol. 9, N o 3, S e p t e m b e r 1977
Petri N e t s • 225
t~ P7
(places P4, P5 and pe, P7). The items pro-
duced by the producer are passed to the
consumers. This is modeled by placep3 and
the tokens '~roduced" by transition t 2 and
"consumed" by transitions t3 and ts. For
this interpretation of the net, we m a y be
interested in how far the producer can get
FIGURE 3 The m a r k i n g resulting from firing tran- ahead of the consumers (the maximum
sition t2 in Fig. 2 Note t h a t the token in Pl was number of tokens in P3), whether the con-
removed and tokens were added to p2 and p3- sumers could get ahead of the producer or
consume the same item twice, and so on.
2. In this situation, we have a choice as to The use of Petri nets in modeling is dis-
which transition will fire next. Figure 4 cussed in Section 2.
shows the three possible resultant mark- Although Petri nets are basically very
ings; from each of these, other markings simple, they m a y be approached and uti-
may then be reached since transition fir- lized in a large number of ways. Petri nets
ings may continue as long as there is an can be considered as formal automata and
enabled transition. investigated either as automata or as gen-
Note that in the marking of Fig. 4a, erators of formal languages [37, 79]. Ques-
transitions t3 and t5 remain enabled, and tions dealing with the theory of computa-
transition t2 is also enabled; if transition t2 tional complexity have been raised [64,
fires, the resulting marking will have two 49]. Petri nets have associations with the
tokens in place p3. In the marking of Fig. study of linear algebra [69], Presburger
4b, transition t~ remains enabled but tran- arithmetic [52], and graph theory. They
are a major model of concurrent systems lel Computation at Woods Hole in 1970,
[6], particularly computer systems. They [23] and the Conference on Petri Nets and
are of interest in some areas of hardware Related Methods at MIT in 1975.
design, description and construction, soft- From the work at Applied Data Re-
ware systems, and the interactions be- search and MIT, the use of Petri nets has
tween design and implementation. spread widely. A large amount of research
Because of the breadth of application has been done on both the nature and the
and depth of research into Petri nets, we application of Petri nets, and their use
can only touch here on many of the results. seems to be expanding. The simplicity and
We refer the interested reader to the origi- power of Petri nets make them excellent
nal works cited in the Bibliography for the tools for working with asynchronous con-
proofs and details of much of the research. current systems. Unfortunately much of
the work on Petri nets is in the form of
History theses, dissertations, reports, and memos
The theory of Petri nets has developed that are not readily available nor in wide
from the work of Carl Adam Petri, A. W. circulation. This paper is an attempt to
Holt, Jack Dennis, and many others. Petri remedy this situation; it is intended as
nets originated in the early work of Petri, both a survey and a tutorial on Petri nets.
in Germany, who in his thesis [80], devel- It should be noted that Petri nets can be
oped a new model of information flow in viewed in many different ways; we cannot
systems. This model was based on the con- present here all such views. In part due to
cepts of asynchronous and concurrent op- the difficulty of obtaining literature on Pe-
eration by the parts of a system and the tri nets and the newness of the theory, the
realization that relationships between the terminology, notation, and emphasis have
parts could be represented by a graph, or varied widely in research on this subject.
net. This problem is also caused by the power of
The ideas of Petri came to the attention Petri nets and the resultant diversity of
of a group of researchers at Applied Data applications.
Research, Inc., working on the Informa- Petri has expanded upon his original
tion Systems Theory Project [43]. This theory, continuing work on the basic con-
group, led by Anatol Holt, developed the cepts of information flow and the structure
theory of "systemics" [44] which was con- of concurrent systems. This has resulted in
cerned with the representation and analy- a form of general systems theory called net
sis of systems and their behavior. It was theory [81, 82] which is related to topology.
this work which provided the early theory, This research, involving the fundamental
notation, and representation of Petri nets, nature of information and its control, has
and showed how Petri nets could be ap- stimulated a wealth of further research in
plied to the modeling and analysis of sys- Europe, particularly at the Institut f(lr In-
tems of concurrent processes. formationssystemforschung of the Gesell-
Applied Data Research's associations schaft fiir Mathematik und Datenverar-
with Project MAC at MIT, and particu- beitung in Bonn. While starting with the
larly the Computation Structures Group same fundamental concepts as the work in
under the direction of Jack Dennis, intro- the United States, this work developed in
duced the concepts of Petri nets to this a different direction, evolving into a more
latter group. The Computation Structures general and abstract theory.
Group has been a most productive source Holt also has continued to develop new
of research and literature in this field, concepts from the original work on Petri
publishing several PhD theses and numer- nets, concentrating on the development of
ous reports and memos on Petri nets [73, tools for the representation and analysis of
32, 34, 84, 38, 28]. Two pertinent confer- systems. His work has centered mainly on
ences have been held by the Computation research into the fundamental aspects of
Structures Group: the Project MAC Con- concurrency and conflict in systems with
ference on Concurrent Systems and Paral- multiple parts.
Pl
P4
t3
tJ
t~ P7
(a)
(b)
I) t5 •
(c)
FIGURE 4. Markings resulting from the firing of different transitions in the net of Fig. 3 (a) Result of firing
tranmtion tl; (b) Result of firing transition t3; (c) Result of firing transition t~.
In contrast to the work of Petri, Holt, analyzing Petri nets in order to answer
and many European researchers, which questions similar to those raised earlier
emphasizes the fundamental concepts of (e.g., what markings are reachable in a
systems, the work at MIT and many other given Petri net? What sequences of transi-
American research centers concentrates tion firings are possible? etc.). This mecha-
on those mathematical aspects of Petri nistic approach is quite different in ori-
nets that are more closely related to auto- entation from the more philosophical ap-
mata theory. (This paper is written from proaches of Holt and Petri.
the latter point of view.) This approach is
motivated by a desire to analyze systems 2. MODELING WITH PETRI NETS
by modeling them as Petri nets, and then
manipulating the Petri nets to derive In many sciences, a phenomenon is stud-
properties of the modeled systems. This ied by examining not the actual phenome-
requires the development of techniques for non itself but rather a model of the phe-
ii
the sequence of events. Therefore, the Pe-
tri net structure itself must contain all
necessary information to define the possi-
ble sequences of events of a modeled sys-
tem.
Thus, in the net of Fig. 6 the event ~Job
processing is completed' must follow the
corresponding event 'Job processing is
THE OUTPUT LIST started' because of the structure of the net
I A JOB LEAVES
THE SYSTEM
although no information at all is given or
considered concerning the amount of time
required to process a job. On the other
FIGURe. 6 Modeling of a simple computer system. hand, events which need not be con-
strained in terms of their relative order of
occurrence are not constrained; thus while
The Petri net of Fig. 6 illustrates the
a job is being processed the event ~A new
modeling of this system. The '~job enters"
job enters the system' may occur, before,
transition in this illustration is a source;
after, or simultaneously with the occur-
the '~job leaves" transition is a s i n k .
rence of the event 'Job processing is com-
pleted'.
Properties of Petri Nets Useful in Modeling A Petri net, like the system which it
models, is viewed as a sequence of discrete
The example above illustrates several events whose order of occurrence is one of
points about Petri nets and the systems possibly m a n y allowed by the basic struc-
they can model. One is inherent concur- ture. This leads to a n o n d e t e r m i n i s m in
rency or p a r a l l e l i s m . There are two main Petri net execution. If at any time more
kinds of independent entities in the sys- than one transition is enabled, then any of
tem: the job and the processor. In the Petri the several enabled transitions m a y fire.
net model, the events which relate solely The choice as to which transition fires is
to one or the other can occur independ- made in a nondeterministic manner, i.e.,
ently; there is no need to synchronize the randomly or by forces t h a t are not
actions of the jobs and the processor. Thus modeled. This feature of Petri nets reflects
jobs may enter or leave the system at any the fact t h a t in real-life situations where
time independent of the action of the proc- several things are happening concur-
essor. However, when synchronization is rently, the order of occurrence of events is
necessary, for instance when both a job not unique, so t h a t any of a set of se-
and an idle processor must be available for quences may occur. While nondetermi-
processing to start, the situation is also nism is advantageous from a modeling
easily modeled. Thus a Petri net would point of view, it introduces considerable
seem to be ideal for modeling systems of complexity into the analysis of Petri nets.
distributed control with multiple processes To reduce this complexity, one limita-
occurring concurrently. tion is generally accepted in the modeling
Another major feature of Petri nets is of systems by Petri nets. The firing of a
their asynchronous nature. There is no in- transition (occurrence of an event) is con-
herent measure of time or the flow of time sidered to be instantaneous, i.e., to take
~ i ;~'~<~7:1 ~ i . ~ # ~
Petri Nets • 233
ter and 2) its output register has been emp- gating the fault-tolerant properties of de-
tied by being copied into the input register signs [48].
of the next stage. Thus the control for the
pipeline needs to know when the following Modeling of Software
conditions hold:
• input register full; On a more abstract level, Petri nets can
• input register empty; also model software concepts [24, 77, 61].
• output register full; Resource allocation, deadlock, and process
• output register empty; coordination in an operating system can be
• unit busy; modeled. A process can be modeled by a
• unit idle; Petri net in the same way that it can be
• copying taking place. modeled by a flowchart, and then the in-
Figure 13 shows the Petri net which teractions between processes can be
models the operation of an asynchronous modeled as additional places, arcs and
pipeline of this kind. Other forms of pipe- transitions.
line control units can also be defined in For example, consider the mutual exclu-
terms of Petri nets. sion problem [25]. This is a problem of
The above examples show some of the enforcing coordination of processes in such
uses to which Petri nets can be put in the a way that particular sections of code
modeling of hardware. Petri nets have also called critical sections, one in each proc-
been associated with the description of ess, are mutually excluded in time. That
general modular asynchronous systems is, if Process 1 is executing its critical sec-
[22, 75] and macromodules [14]. At Honey- tion, then Process 2 m a y not begin its criti-
well, Petri nets have been used for investi- cal section until Process 1 has left its own
critical section. At its highest level of ab-
straction, the situation is illustrated as
\
/\ /
/ follows:
Process I Process 2
f ours ~T
~!i!~tion ~~mt.~laC~ii~tio
n Hal't
GISTER
P2
of P2, P3, and P5 and then puts one token
in P5.
t4 Firing a transition will in general
change the marking of the Petri net,/~, to
a new marking p'. Note that since only
enabled transitions may fire, the number
of tokens in each place always remains
nonnegative when a transition is fired.
-~P3 "3 Firing a transition can never remove to-
kens that are not there: if any one of the
FIGURE 17 A m a r k e d Petri net.
input places of a transition contains no
tokens, then the transition cannot fire.
sented by small solid dots inside the circles Figure 18 summarizes the possible results
representing the places of the net. Figure of firing a transition. If a place is an input
17 is an example of a Petri net graph with to the transition, one token is removed; if
a marking. It represents the structure de- it is an output, one token is added. No net
scribed in the previous section with the change occurs if the place is neither an
marking p = (1, 0, 1, 0, 2). A Petri net C =
input nor an output, or is both an input
(P, T, I, O) with a marking ft becomes the
and an output. In the latter case, it is
marked Petri net, M = (P, T, I, O, Iz).
necessary for a token to be in the input
Since the number of tokens in a place is place even though no change in marking
unbounded over the set of all markings, occurs for this place.
there is an infinite number of markings for
a Petri net. It is, of course, a denumerable
The State Space of a Petri Net
infinity.
The state of a Petri net is defined by its
Execution Rules for Marked Petri Nets marking. Thus the firing of a transition
represents a change in the state of the net.
Having presented the definitions and rep- The state space of a Petri net with n places
resentations of Petri nets and their mark- is the set of all markings, i.e., N". The
ings, we now present the execution rules
for marked Petri nets.
A Petri net executes by firing transi-
tions. A transition may fire if it is enabled. tj tj
A transition is enabled if each of its input
places has at least one token in it. In Fig- Pl I
not
ure 17, for example, since the inputs to
transition t2 are placesp2, p3, andps, tran-
sition t2 is enabled if p2 has at least one
in
I(tj) ©
token, p3 has at least one token, andp5 has
~'(pi) = ~(pi ) ~'(pi ) = u(pi ) + 1
at least one token.
A transition fires by removing one token t. t.
from each of its input places and then de- 3 3
positing one token into each of its output Pi
places. Transition t3 in Fig. 17, with I(t3) = in
I(tj)
{P3} and O (t3) ---- {P4}, is enabled whenever
there is at least one token in place P3.
Transition t3 fires by removing one token
fromp3 (its input) and placing one token in ~'(Pi ) " ~(pi ) - 1 ~*(Pi ) = U(pi ) + 1 - 1
P4 (its output). Extra tokens in P3 are not = ~(pi )
affected by firing t3 although they may
Pi not in O(t 3) Pi in O(tj)
enable additional firings of t3 later. Transi-
tion t2 with I ( t 2 ) = {P2, P3, P5} and O(t2) = FIGURE 18. The changes in the m a r k i n g of a place
{P5}fires by removing one token from each p, which result from firing a t r a n m h o n tj.
p2p t2
• 241
tion of the Petri net (in the worst case). Several varieties of Petri net languages
This is a lower bound; the actual complex- result from slightlydifferentapproaches to
ity could be much worse. Lipton also shows defining the languages of a Petri net. One
that the coverability problem has an expo- entire group of languages results from the
nential space lower bound. Rackoff [83] use of different labeling policies, since re-
has obtained an algorithm for solving cov- strictions on the allowable labeling func-
erability in exponential space, showing tions create restricted classes of Petri net
this to be a tight lower bound. The com- languages.
plexity of some other problems in Petri The free languages are those obtained
nets has also been considered [49]. when one introduces the requirement that
These complexity analyses are very im- all transition labels be distinct and non-
portant in determining the usefulness of null, i.e., ~(t~) 4= ~(t~ for t~ dffit~. This re-
Petri nets for the modeling and analysis of quirement reflects the view that since
systems. The recent discovery that the distinct transitions model distinct events,
reachability problem is decidable marked they should be distinctly labeled.
a significant advance in the search for A more general class of languages re-
analysis techniques; however, the com- suits if one allows a more general label
plexity bounds as well as the large number function in which m a n y transitions m a y
of places and transitions needed to model be labeled with the same symbol. This re-
even simple systems tend to indicate that, flects the view that the same action can
although analysis questions may be decid- result from different circumstances, and
able using Petri nets, in the worse case the hence m a y be modeled by different transi-
cost of answering even simple questions tions. The modeling process m a y even in-
may make such analysis unfeasible. troduce some "extra" transitions that are
necessary for proper token movement but
5. PETRI NET LANGUAGES do not correspond to actions of interest in
Another area in which Petri nets have the modeled (real) system.
been used is the study of formal languages A third class of labeling functions allows
(see [79, 37]). Here Petri nets are used to transitions to be labeled with the n u l l la-
model the flow of information and control bel h. A null label is defined as a label
of actions in a system. The firing of a which does not show up in the string re-
transition models the occurrence of an op- sulting from an execution of the Petri net.
eration in the modeled system. A Petri net As an example of the differences of these
properly models a system if every se- labeling policies, consider the Petri net of
quence of actions in the modeled system is Fig. 22. Let the language under considera-
possible in the Petri net and every se- tion be the set of sequences whose net re-
quence of actions in the Petri net repre- sult is to move the token in place Pl to
sents a possible sequence in the modeled place P4 (i.e., the set of sequences {t E
system. T*18((1, 0, 0, 0), t) = (0, 0, 0, I)}). If we
To represent these concepts, we label label the transitions with the free labeling
the transitions of a Petri net; with each
~l(t,) = a al(t3) = b
transition we associate a symbol naming
the transition. Since there are only a finite ~r~(t~) = c (r~(t~) = d ,
number of transitions, we can define a
then the language is { a n c b n d l n >-- 0}. A
finite alphabet Z which is the set of all
these symbols. A labeling function (r maps nonfree but h-free labeling such as
transitions to symbols, i.e., a:T--*Z. A la- Or2(tl ) = a O'2(t3) ffi b
beled marked Petri net defines a set of
~(t~) = a a~(tJ = b
strings over Z, each string corresponding
to a possible execution of the net. The set yields the language {a"b" In > 0}. If transi-
of all possible strings corresponding to the tion tl is assigned a null label, then the
possible executions of a marked labeled language which results could be the regu-
Petri net defines a P e t n net l a n g u a g e . lar language {ab*c}.
t ~ t3 -[ Qp
a b 4
k.L/pl \I2 "k.Jp 3 -It4 --
FIaum~22. A Petn net with marking (1,0,0,0).
FIGURE 23. Labeled m a r k e d Petm n e t correspond-
m g to the n e t of Fig. 22.
The class of labeling functions is only
one of the determinates of Petri net lan- related. Preliminary investigations have
guages. Another is the definition of the set shown that a number of containment rela-
of final states. Remember that a language tionships hold between the classes. For ex-
is the set of all possible sequences result- ample, since the labeling functions are
ing from the execution of a labeled P e t r i successively more general, all Petri net
net starting in an initial marking (or one languages with free labelings are also Pe-
of a finite set of initial markings) and ter- tri net languages with k-free labelings
minating in any element of a set of f i n a l which in turn are also Petri net languages
m a r k i n g s . Different classes of languages with arbitrary labelings. It can be shown
correspond to different definitions of the that all P-type languages are also G-type
set of final markings. languages, that all G-type and T-type lan-
Four types of Petri net languages have guages with arbitrary or k-free labelings
been defined in terms of the definition of are L-type languages with the same type
final markings [39]: of labeling, and that L-type languages
L-type: T h e set of final markings is de- with arbitrary labelings are also T-type
fined by a finite final marking setF; languages. These relationships are shown
G-type: Given a finite marking set F, a in Fig. 24, in which an arc between classes
final marking is any marking is used to indicate that one class is con-
which is greater than or equal to tained within the other. It is not known
any element of F; whether other arcs might also exist or
T-type: A final marking is any terminal which containments are proper.
marking (a marking in which no The L-type and P-type languages have
transition is enabled); been investigated in greater depth. L-type
P-type: All reachable markings are final languages have been shown to be closed
markings. under union, intersection, concatenation,
As an example of the differences be- concurrency, reversal and k-free homo-
tween these different language classes,
consider the Petri net of Fig. 23, which is a
ARBITRARY A-FREE FREE
LABELING LABELING LABELING
labeled version of the net of Fig. 22. (The
labeling shown is free, but that is not im-
portant.) For a final state set F = {(0, 0, 1, T-type TA ~T Tf
0)}, the L-type language is {a"cb" In >- 0},
the G-type language is {amcb ~ t m >- n >- 0},
the T-type language is {amcb"d l rn >_ n >- L-type ~ L Lf
0}, and the P-type language is {am I m - 0}
t.) {amcb" I m >- n ~ O} U {amcb"d I m >- n
0}. G-type !A ~_! Gf
With three different kinds of labeling
functions and four different kinds of final-
state sets, twelve different classes of Petri P-type !A ~!
1
~ pf
net languages can be defined. Despite FIGURE 24. Relationships among the different
their differences, these classes are closely classes of Petri n e t languages.
Related Models
Any discussion of Petri nets would be in-
complete without a mention of vector addi-
tion systems. These systems were defined
a by Karp and Miller [51] and are equivalent
ALLOWED NOT ALLOWED
MARKED
GRAPHS
(b)
FIGURE 28 E q m v a l e n t m o d e l s of a f i n i t e - s t a t e m a -
chine. (a) S t a t e g r a p h m o d e l (b) P e t r i n e t model.
dling,"IBMJ. R. & D. 11, 1 (Jan. 1967), 8-24. computation, ACM, N. Y,, 1970, 199 pp.
[5] BAss, J.L. '~Modelling for parallel computa- [24] DRNms, J.B., Concurrency in software sys-
tion: a case study," in Proc. 1973 Sagamore tems, Computation Structures Group Memo
Computer Conf. Parallel Processing, Springer- 65-1, Project MAC, MIT, June 1972, 18 pp.;
Verlag, N.Y., 1973. also in Advanced course in software engineer-
[6] BABS, J. L, "A survey of some theoretical ing, F. L. Bauer (Ed.), Springer-Verlag, Ber-
aspects of multiprocessing," Computing Sur- lin, W. Germany, 1973, pp. 111-127.
veys 5, 1 (March 1973), 31-80. [25] DIJ~RA, E. W., ~'Cooperating sequential
[7] BAKER, H. G. Petri nets and languages, processes," in Programming languages, F.
Computation Structures Group Memo 68, Genuys (Ed.), Academic Press, N. Y., 1968,
Project MAC, MIT, Cambridge, Mass., May pp. 43-112.
1972, 6 pp. [26] FISCHER, P. C.; MBYES, A. R.; Am) ROSES-
[8] BAKES,H.G. ~Equivalence problems of Pe- BS~, A.L. ~Counter machines and counter
tri nets," MS Thesis, Dept. Electrical Engi- languages," Mathemaacal Systems Theory 2, 3
neering, MIT, Cambridge, Mass., June 1973, (1968), 265-283.
53 pp. [27] FUSTBK,F. "Modular implementation of Pe-
[9] BAKES,H.G. Rabin" s proof of the undecida- tri nets," MS Thesis, Dept. Electrical Engi-
bility of the reachability set inclusion problem neering, MIT, Cambridge, Mass., Sept 1971.
of vector addition systems, Computation Struc- [28] FURTBK,F. C. "The logic of systems," PhD
tures Group Memo 79, Project MAC, MIT, Thesis, Dept. ElectricalEngineering, MIT,
Cambridge, Mass., July 1973, 18 pp. Cambridge, Mass., May 1976; also Tech. Rep.
[10] BEsN~rEIS, A.J. 'Trogram analysis for par- 170, MIT Laboratory Computer Science, June
allel processing," IEEE Trans. Electronic 1976.
Comp. EC-15, (Oct. 1966), 757-762. [29] GSNRICH, H. J. Einfache nieht-sequentieUe
[11] BERNSTEm,P.A. Description problems in the Prozesse (Simple nonsequential processes),
modeling of asynchronous computer systems, Gesellschaft ftir Mathematlk und Datenverar-
Tech. Rep. 48, Dept. Computer Science, Univ. beitung, Birlinghoven, W. Germany, 1970.
Toronto, Toronto, Canada, Jan. 1973. [30] GENSICH,H. J. The Petr~ net representation
[12] CBRF, V. G. '~Multiprocessors, semaphores, of mathematical knowledge, GMD-ISF Inter-
and a graph model of computation," PhD The- nal Report 75-06, Institut fur Informationssys-
sis, Computer Science Dept., Univ. Calif., Los temforschung, Gesellschaft fiir Mathematik
Angeles, April 1972. und Datenverarbeitung, Birlinghoven, W.
[13] CHv.N,T. C. "Overlap and pipeline process- Germany, 1975.
ing," in Introduction to computer architecture, [31] GO,SLOW, K . P . 'Tlow of control, resource
H. S. Stone (Ed.), Science Research Associ- allocation and the proper termination of pro-
ates, Chicago, Ill., 1975, pp. 375-431. grams," PhD Thesis, Computer Science Dept.,
[14] CLARK,W.A. "Macromodular computer sys- Univ. Calif., Los Anlgeles, Dec. 1971, 219 pp.
tems," in Proc. 1967 Spring Jr. Comp Conf., [32] HACK, M. ~Analysls of production schemata
Thompson Book Co., Washi""ngton, D.C., 1967, by Petri nets," MS Thesis, Dept. Electrical
pp. 335-336. Engineering, MIT, Cambridge, Mass.; also:
[15] COrFMAS, E. G.; A N D DENNmC, P. MAC TR-94, Project MAC, MIT, Feb. 1972,
J. Operating systems theory, Ch. 2, Prentice- 119 pp; Errata: Hack, M. Correcttons to 'Anal-
Hall, Englewood Cliffs, N. J., 1973, pp. 31-82. ysis of production schemata by Petri nets;
[16] COMMON~R,F. G. Deadlocks in Petri nets, Computation Structures Note 17, Project
CA-7206-2311, Applied Data Research, Wake- MAC, M_IT,June 1974, 11 pp.
field, Mass., June 1972, 50 pp. [33] HACK, M. A Petri net version of Rabin's un-
[17] COMMONER,F.; HOLT, A. W.; EVBN, S.; AND decidability preof for vector addmon systems,
PNUELI, A. "Marked directed graphs," J. Computation Structures Group Memo 94,
Computer and Systems Science 5, (Oct. 1971), Project MAC, MIT, Cambridge, Mass., Dec.
511-523. 1973, 12pp.
[18] CRF~PI-REGHIZZI, S.; AND MANDRIOLI, D. [34] HACK, M. Decision problems for Petrl nets
"Properties of firing sequences," presented at and vector addition systems, Computation
MIT Conf. Petr~ Nets and Related Methods, Structures Group Memo 95, Project MAC,
MIT, Cambridge, Mass., July 1975. MIT, Cambridge, Mass., March 1974; also
[19] CRESPI-REGHIZZI, S.; AND MANDRIOLI, D. Technical Memo 59, Project MAC, MIT,
Petri nets and commutative grammars, Inter- March, 1975.
nal Report No. 74-5, Laboraterio di Calcola- [35] HACK, M. The recursive equwalence of the
tori, Instituto di Elettrotecnica ed Elettromca reachability problem and the liveness problem
del Politecnico di Milano, Italy, March 1974. for Petri nets and vector addiaon systems,
[20] CRESPI-REGHIZZI,S.; AND MANDRIOLI, D. "A Computation Structures Group Memo 107,
decidability theorem for a class of vector-addi- Project MAC, MIT, Cambridge, Mass., Aug.
tion systems," Information Processing Letters 1974, 9 pp.; also in Proc. 15th Annual Syrup.
3, 3 (Jan. 1975), 78-80. Switching and Automata, IEEE, N. Y., 1974.
[21] CEESPI-REGHIZZI, S.; AND MANDEIOLI, D. [36] HACK,M. The equality problem for vector ad-
'Tetri nets and Szilard languages," Informa- dition systems ~s undecidable, Computation
tion and Control 33, 2 (Feb. 1977), 177-192. Structures Group Memo 121, Project MAC,
[22] DBNNIS, J. B. "Modular asynchronous con- MIT, Cambridge, Mass., April 1975, 32 pp.;
trol structures for a high performance proces- also in Theoretical Computer Science 2, 1
sor," in Record of the Project MAC Conf. Con- (June 1976).
current and Parallel Computatwn, ACM, [37] HACK,M. Petri net languages, Computation
N. Y., 1970, pp. 55-80. Structures Group Memo 124, Project MAC,
[23] DENmS, J. B. (Ed.), Record of the project MIT, Cambridge, Mass., June 1975, 128 pp.;
MAC conf. concurrent systems and parallel also TR 159, Laboratory Computer Science,
Trans. Comp. C-22, 8 (Aug. 1973), 718-727. terrier Bericht 75-07, Gesellschaft fur Mathe-
[73] PATIL, S . S . Coordination of asynchronous matik und Datenverarbeltung, Bonn, W. Ger-
events," PhD Thesis, Dept. Electrical Engi- many, July 1975, 34 pp.
neering, MIT, Cambridge, Mass., May 1970; [83] RACKOFF,C. The covering and boundedness
also MAC TR-72, Project MAC, MIT, June roblems f o r vector addition systems, Tech.
1970, 236 pp. p. 97, Dept. Computer Science, Umv. To-
[74] PATIL, S. S. Limitations and eapabdtttes of ronto, Toronto, Canada, July 1976, 14 pp.
Dijkstra's semaphore prtmitives for coordina- [84] RAMCHANDAm, C. Analysis of asynchro-
tton among processes, Computation Structures nous concurrent systems by timed Petn nets,"
Group Memo 57, Project MAC, MIT, Cam- PhD Thesis, Dept. Electrical Engineermg,
bridge, Mass., Feb. 1971. MIT, Cambridge, Mass., 1974; also MAC-TR-
[75] PATIL, S. S. Ctrcutt tmplementatmn of Petri 120, Project MAC, MIT, Feb. 1974.
nets, Computation Structures Group Memo [85] RIDDLE,W . E . "The modelling and analysis
73, Project MAC, MIT, Cambridge, Mass., of supervisory systems," PhD Thesis, Com-
Dec. 1972, 14 pp. puter Science Dept., Stanford Univ., Stan-
[76] PATIL,S. S.; AND DENNIS, J . B . The descnp- ford, Calif., March 1972, 173 pp.
twn and real~zatwn of d~g~tal systems, Compu- [86] RIDDLE,W . E . The equwalence of Petr~ nets
tation Structures G r o u p Memo 71, Project and message transmissmn models, SRM 97,
MAC, MIT, Cambridge, Mass., Oct. 1972; also Univ. Newcastle Upon Tyne, England, Aug.
in Proc. S~xth Annual IEEE Computer Society 1974, 11 pp.
Internatl. Conf. Digest of Papers, IEEE, N.Y., [87] RODRIGUEZ,J.E. "A graph model for parallel
1972. computation," PhD Thesis, Dept. Electrical
[77] PETEmS,ON, J. L. "Modelling of parallel sys- Engineering, MIT, Cambridge, Mass., Sept.
tems,' P h D Thesis, Dept. Electrical Engineer- 1967, 120 pp.
ing, Stanford Univ., Stanford, Calif., Dec. [88] SACERDOTE,G.; AND TENNEY, R.L. "The de-
1973, 241 pp. cidability of the reachability problem for vec-
[78] PETZRSON, J. L ; AND BREDT, T. H. "A com- ter addition systems," (submitted for publica-
arison of models of parallel computation," in tion), Nov. 1976, 8pp.
roc. IFIP Congress 74, North-Holland Publ. [89] SLUTZ, D. R. '~The flow graph schemata
Co., Amsterdam, The Netherlands, 1974, pp. model of parallel computation," Phi) Thesis,
466-470. Dept Electrical Engineering, MIT, Cam-
[79] PETERSON, J. L. "Computation sequence bridge, Mass., Sept. 1968.
sets," J. Computer and System Scwnces 13, 1 [90] SHAPIRO,R. M.; AND SAINT, H. ~A new ap-
(Aug. 1976), 1724. proach to optimization of sequencing deci-
[80] P~.~I, C.A. 'Kommumkatlon mit Automa- sions," Annual Review of Automatic Program-
ton," Schriflen des Rheinlsch-Westfal-ischen mzng 6, 5, (1970), 257-288.
Ins~tutes ~ r Instrumentelle Mathemat~k an [91] THORNTON,J. E. Design of a computer, the
der Univers~mt Bonn, Heft 2, Bonn, W. Ger- Control Data 6600, Scott, Foresman and Co.,
many 1962; translation: C. F. Greene, ~upple- Glenview, Ill., 1970, 181 pp.
ment 1 to Tech. Rep. RADC-TR-65-337, Vol. [92] TSICHRITZIS,D. Modular system descr~ptmn,
1, Rome Air Development Center, Griffiss Air Tech. Rep. 33, Dept. Computer Science,Univ.
Force Base, N.Y., 1965, 89 pp. Toronto, Toronto, Canada, Oct. 1971, 20 pp.
[81] PRTRI, C. A. "Concepts of net theory," in [93] VAN LE~UWEN, J. "A partial solution to the
Proc. Syrup. and Summer School on Mathe- reachabflity-problem for vector addition sys-
mattcal Foundations of Computer Science, toms," in Proc 6th Annual ACM Symp. The-
High Tatras, Sept. 3-8, 1973, Math. Inst. Slo- ory of Computing, ACM, N.Y., 1974, pp. 303-
vak Academy of Science, 1973, pp. 137-146. 309.
[82] PETRI, C.A. Interpretattons of net theory, In-