Petri Nets An Introduction (PDFDrive)
Petri Nets An Introduction (PDFDrive)
PETRI NETS
An Introduction
Springer-Verlag
Berlin Heidelberg New York Tokyo
Dr. Wolfgang Reisig
GMD
Postfach 1240, SchloB Birlinghoven
5205 St. Augustin I, Germany
2145/3140-543210
Preface
Net theory is a theory of systems organization which had its origins, about 20
years ago, in the dissertation of C. A. Petri [1]. Since this seminal paper, nets
have been applied in various areas, at the same time being modified and
theoretically investigated. In recent time, computer scientists are taking a
broader interest in net theory.
The main concern of this book is the presentation of those parts of net
theory which can serve as a basis for practical application. It introduces the
basic net theoretical concepts and ways of thinking, motivates them by means
of examples and derives relations between them. Some extended examples il-
lustrate the method of application of nets. A major emphasis is devoted to those
aspect which distinguish nets from other system models. These are for instance,
the role of concurrency, an awareness of the finiteness of resources, and the pos-
sibility of using the same representation technique of different levels of ab-
straction. On completing this book the reader should have achieved a system-
atic grounding in the subject allowing him access to the net literature [25].
These objectives determined the subjects treated here.
The presentation of the material here is rather more axiomatic than in-
ductive. We start with the basic notions of 'condition' and 'event' and the con-
cept of the change of states by (concurrently) occurring events. By generali-
zation of these notions a part of the theory of nets is presented. It would have
been possible to proceed in the opposite order by firstly presenting net repre-
sentations of practical, real systems and then, proceeding by a sequence of ab-
straction steps, reaching nets consisting of conditions and events. However, the
chosen method of presentation corresponds to the usual way of proceeding in
the framework of theoretical computer science.
It is not intended, in this book, to give a total overview and summary of the
theory and applications of nets. Such an attempt is doomed to failure, not only
because of the number of publications in the field, more than 500 are refer-
enced in [25], but also because of the wide spectrum of the topics covered; for
example complexity theory, the theory of formal languages, the theory and de-
sign of logic circuits, computer architecture, operating systems, the connection
of computer processors, process control and real time systems, programming
and command languages, databases, communication protocols, software en-
gineering and yet even further into topics outside computer science (ad-
ministration, jurisprudence, the logic of inter-personal interaction). Also, we
are not able here to treat the foundations of net theory which lie in the philoso-
VI Preface
This book could not have been created without the help of a number of people.
At the Institut fUr Informationssystemforschung of the Gesellschaft fUr Mathe-
matik und Datenverarbeitung in Bonn (West Germany), I received great sup-
port in discussing particular topics from C. A. Petri, H. Genrich, K. Lauten-
bach und P. S. Thiagarajan. Prof. W. Brauer gave many valuable remarks on
the German manuscript.
On the occasion of the English translation it was possible to revise the text
due to many hints and comments from its readers. Especially I am indepted to
Eike Best, Ursula Goltz, Kurt Lautenbach, Roberto Minio, Horst Muller, Leo
Ojala, Anastasia Pagnoni, Grzegorz Rozenberg and P.S. Thiagarajan for their
many critical and constructive notes. Horst Muller and Dirk Hauschildt mainly
contributed to the revision of Lemma 5.3 (d) and Theorem 7.2 (k), respectively.
I am deeply indebted to the translators Ursula Goltz and Dan Simpson, who
with remarkable competence, fervour and patience did an excellent job. They
also brought up some valuable discussion with regard to the contents of the
book.
W.R.
Aachen, Germany
June 1983
We have retained the notation of the German book (e.g. B for sets of conditions
and S for sets of places) corresponding to the standards introduced at the Ad-
vanced Course on Net Theory and Application, cf. [17]. Any changes might
have induced further problems (e.g. C for conditions would exclude an ap-
propriate notation for cases. P for places would imply the non-standard notion
of P-invariant).
Introduction
Part 1. Condition/Event-Systems 17
Part 2. Place/Transition-Nets 61
Index 160
Introduction
(a) Petri nets, the subject of this book, are a model for procedures, organiza-
tions and devices where regulated flows, in particular information flows, playa
role.
This language of nets arose from the intention of devising a conceptual and
theoretical basis "for the description, in a uniform and exact manner, of as
great as possible a number of phenomena related to information transmission
and information transformation" [1]. We shall restrict ourselves to such applica-
tions of this theory as lie in the area of the design and use of computer based
information systems.
In comparison with other system models, the major characteristics of Petri
nets are the following:
- Causal dependencies and independencies in some set of events may be
represented explicitly. Events which are independent of each other are not
projected onto a linear timescale; instead, a non-interleaving, partial order
relation of concurrency is introduced. This relation is fundamental for the
whole conceptual basis of net theory.
- For some systems it may not be sensible to try to describe them as sequen-
tial functions. To do so only leads into unnecessary distracting detail. Exam-
ples are a query answering system of a distributed database, a real time sys-
tem for production control, the control of processes in an operating system or a
communication protocol.
- Systems may be represented at different levels of abstraction without having
to change the description language. These levels of abstraction range from the
change of single bits in computer memories to the embedding of a computer
system into its environment.
- Net representations make it possible to verify system properties and to do
correctness proofs in a specific way. Once a system has been modelled as a
net, properties of the system may be represented by similar means, and
correctness proofs may be built using the methods of net theory. Logical pro-
positions are obtained as static components of dynamic net models.
Two objections may be raised here. One is that other methods which are
well-known and established aim for the same goals. The other point is made
by considering processes which run independently of each other (for example:
processes in the central memory and in peripheral processing units of some
computer). Such processes take particular states and perform state changes.
The argument is that such states or changes which are coincidential may be
2 Introduction
combined into a global state or a global state change which covers these. Thus,
a new theory is not required. Here we are not able to discuss in full the reasons
why the specific ways of thinking of net theory are sufficiently important to
justify the construction of a whole new theory. We simply note two points in
reply: first, that the above proposed combination of coincident states or
changes gives rise to the problem of determining whether they are really
simultaneous. Secondly, a purely sequential model does not truly reflect the
real causal structure of processes. In any sequentializing view we can not dif-
ferentiate whether two events occur one after the other because the first is a
prerequisite of the second or whether this order in time is solely by chance.
But, in fact, the causal relations are those which, to a large extent, characterize
a system.
(b) In the first chapter we shall present, by means of several examples, differ-
ent net models. This gives a first insight into the structural patterns and repre-
sentation methods typical for nets. The mathematically oriented reader may
start at 1.1 and skip to 1.5.
Systems consisting of conditions and events, which are introduced in Part 1
of this book, constitute the most detailed description level of marked nets.
Here, the fundamental notions of non-sequential processes are studied: viz., the
relations of causal dependency and independency of events; the relationship
between non-sequential processes and their set of possible sequential realiza-
tions; the metric of synchronic distances as a measure for the dependency be-
tween events; and, finally, the formulation of system properties in the language
oflogic and their integration into the net calculus.
In the second part of the book we consider nets consisting of places and
transitions. Such nets are particularly suited to the formulation of blocking
problems. For the investigation of such nets we introduce coverability graphs,
which allow conclusions to be drawn about the behaviour of the system we are
modelling.
We concentrate our presentation on those investigation methods which do
not rely on the set of all possible sequential executions. A particular one of
these is the calculus of invariants involving linear algebraic techniques. By
means of several examples we show how this calculus may be used for the
verification of system properties. For particular place/transition-nets, we
derive particular methods of analysis.
In the third part of the book we consider individuals, predicates and rela-
tions on nets; we thus reach a level which yields a relationship between nets
and universal algebra. We show how, on this level too, system properties
which are formulated in the language of logic may yet again be represented in
the net calculus. The verification of system properties so represented is again
aided by an invariant calculus generalized from place/transition-nets.
Chapter 1
Introductory Examples and Basic Definitions
In the preface and the introduction, we have already used the terms "system
organization", "system model", "condition", "event" and "information trans-
formation" without explaining them. These notions are of fundamental im-
portance in net theory. However, as they are concepts from the real world, we
shall not try to give precise definitions of them but rather appeal to the intui-
tion and general understanding of the reader. But, we shall have to consider
properties of objects of this kind, and also the relationships between such ob-
jects. We shall say, for instance, that "system models" represent real systems
more or less adequately, that "events" occur and that "conditions" do or do
not hold.
(a) Let us first consider systems compnsmg conditions and events. Figure 1
shows a system in which the conditions are: "it is spring", "it is summer", "it is
autumn" and "it is winter"; the events are: "start of spring", "start of sum-
mer", "start of autumn" and "start of winter". We see that each condition is
represented by a circle and each event by a box. Each condition which holds is
marked by a dot (a token) (in Fig. 1, it is "spring"). The set of conditions
which hold in some configuration is called a case. In the system represented in
start of
swnmer
swnmer
start of start of
spring autwnn
winter autwnn
start of
winter
Fig. I. The four seasons and their changes
4 Introductory Examples and Basic Definitions
Fig. 1, each case has only one element. Whenever an event occurs, another case
results. A condition, b, and an event, e, may be related with each other as
follows:
(1) b starts to hold when e occurs. b is then called a postcondition of e. Graphi-
cally, this relationship is represented as an arc from e to b.
(2) b ceases to hold when e occurs. b is then called a precondition of e. Graphi-
cally, this relationship is represented as an arc from b to e.
If b is not affected by the occurrence of e there is no arc between band e at
all.
So, in our system of the four seasons, when an event occurs the token is
moved to the next season.
start of
swnmer
swnmer
start of start of
spring autwrm
winter autwrm
start of
winter
Fig. 2. Addition of two conditions to Fig. I
start of
swnmer
spring swnmer
winter or
spring start of
start of
spring autwrm
not
autwrm
winter autwrm
start of
winter
Fig. 3. The system of Fig. 2 after start of summer
1.1 Examples from Different Areas 5
When modelling the four seasons and their changes we may wish to rep-
resent additional conditions and events. When we add the conditions "winter or
spring" and "not autumn", we obtain the system shown in Fig. 2. Note that
now some events have several pre- or postconditions.
In the system represented in Fig. 2, consider now in which case the event
"start of summer" may occur. This is when it is both "spring" and "winter or
spring", and it is not already "summer". By the occurrence of this event we
obtain the configuration shown in Fig. 3. In general, an event may occur if all
its preconditions hold and none of its postconditions hold. Figure 4 shows the
requirements for, and the result of, an event, e, occuring.
Although it is certainly an interesting event that winter ends, it should not
be distinguished from the start of spring because neither of these events can
occur without the other. The end of winter and the start of spring are coinci-
dent events, they are represented by one single box.
(b) When describing systems, at some levels, it is not always appropriate to use
the notions of "condition" and "event". For example, when looking for
consumer
producer
consumer
•
•• ••
==t> -
•
Fig. 6. The firing of a transition t
The two consumers are represented by two tokens in one single consumer
part of the net as in Fig. 7. However, now the consumers may no longer be
distinguished as individuals.
(c) Nets consisting of places and transitions model system properties concern-
ing the number, the distribution and the flow of objects which are not further
distinguished. If we wish to consider individual properties of the objects we
must be able to identify particular tokens. Figure 8 shows a fragment of an
industrial production system, the operation of which is intuitively clear. This
also illustrates the construction of nets. Round nodes (places) represent passive
system components. These are those components which may store items, take
particular states and make things observable. Rectangular nodes (transitions)
Fig. 7. Combination of the two consumers of Fig. 5 into one part of the net
1.1 Examples from Different Areas 7
capacity:
100 items
(d) There are systems where some of the connections between system com-
ponents are not oriented. Some systems do not have objects which flow. But we
shall always adhere to the principle of partitioning the system into active and
passive components. This partitioning may often be done in a number of dif-
ferent ways. For example, as a first approximation, a game of chess may be
represented as an interaction, t, of two players (holders of states) S1 and S2'
Alternatively, the board, s, may be considered as a passive object to be ac-
cessed by the moves, t1 and f2, made by each player. Figure 9 shows the first
8 Introductory Examples and Basic Definitions
view as N] and the second view as N 2 • These two different partitions stress two
different aspects of the same system. Each may be refined so that the aspects
of the other view are included. Figure 10 shows the smallest refinement which
covers the aspects of both views.
As long as no distinguished flow of objects is to be represented, the arcs of
a net may be undirected, as in Fig. 9 and Fig. 10. In this book we will not dis-
cuss nets of this kind.
51
coarsening yielding Nl
t1 r----------, 5 ,---.-----4'
-01
]
I
I 1 I
] I I I
L _ _ _ _ _ _ _ _ _ ..J L __________ -L
coarsening yielding N2
Fig. 10. Common refinement from Fig. 9
(a) Let us start with a problem from logic circuits. x and yare two variables,
which can take the values "true" and "false". Each is assigned an initial value
independently of the other. They are then combined to give the value x 1\ y to
the variable x and the value x v y to the variable y. These new values are
available until they are, again independently, deleted. Then the system returns
to the initial configuration and the variables may be given new values. Fig-
ure 11 shows this system as a net consisting of conditions and events.
1.2 Examples from Logic Circuits and Operating Systems 9
I------~.
sta:rt of
cyde
initialization
initiaZ
~o vaZues
compute new
vaZues
computed
~o vaZues
deZete
vaZues
vaZues are
deZeted
x y
(b) In operating systems several processes may write to, or read from, an area
in main memory. For example, consider a configuration of two processes with
write access and four processes with read access. At most three reader pro-
cesses may overlap in their access to the memory. When the memory is being
changed by some writer process no other process may have access.
Figure 12 shows this system as a net consisting of places and transitions.
Two of the arcs are labelled by 3. In this case, when the appropriate transition
fires the token count on the place s is reduced or increased by 3 instead of 1.
ready to
write
ready to
read
access other
other
control processing
processing
(a) We want to construct a program for the addition of two natural numbers
stored in the variables x and y. In the final state, the variable x should contain
the value 0 and the variable y the required sum. The operations allowed are
the addition and the subtraction of the value 1 and the test for o.
Figure 13 presents two sequential solutions to this problem. The nets shown
there are similar to ordinary flow charts. Instructions are represented as events,
and possible program states as conditions. The current state is marked by a
token. In both nets, each event has exactly one pre- and exactly one postcondi-
tion. Hence, from the firing rule given above, there is always only one token
in the net.
The two programs shown in Fig. 13 are almost identical. They differ only
in the order of the instructions x := x-I and y := y + 1. Clearly their order is
of no importance; actually, when executing them no order need be observed at
all as they are logically independent.
Figure 14 shows a non-sequential program for the addition problem. Here,
e] and e2 change the number of tokens in the net from one to two and back to
initial state
final state
initial state
x>o
e'
1
final state
mx>mn
.l-----t-----.I
final
initial state
state
A first refinement of Fig. 16, shown in Fig. 17 involves two active agencies
which organize the delivery and re-acceptance of the books and two passive
components, the stack and the borrowed book index.
Figure 18 represents a simple organization scheme for such a library. The
tokens in this net are of three kinds: order forms, books and index cards. Each
book is identified by a number and, for each book, there is an index card bear-
ing this number. To borrow a book an order form containing the book number
is put on the request desk. The book and its index card are taken from the
stack, the book and the order form are placed on the collection desk and the
index card is inserted in the borrowed book index. However, if the book
requested has already been borrowed, the order form with an appropriate
message is given to the collection desk. When a book is returned, the book to-
gether with its index card is replaced into the stack. Figure 18 illustrates a
typical situation in this small library. Book 1 has been ordered and the cor-
responding order form is on the request desk. On the collection desk is book 3
with its order form, and also an order form saying book 5 is already borrowed.
Book 2 has been returned and is still on the desk. The stack contains books 1
and 4 with their index cards and books 2, 3 and 5 are borrowed.
A change to a new situation is possible by the occurrence of one of the
three events e" e2, e3. For such an occurrence the objects written on the arcs
delivery collection
request
desk desk
library borrowed
stack book index
return
desk
re-acceptance
Fig. 17. Refinement of Fig. 16
14 Introductory Examples and Basic Definitions
delivery
request r--------------------------------------l
desk II No(order form)
e
1
I
I
co llection
desk
I =No (index card) order form lili th I
I message ItboPPol.JJedlf:
No (order form)
=No (index card)
=No (book)
return
----------------~ desk
I
I No (book)
I =No (index card) I
book
e3
1L ________________ JI
re-aecep tanae
* These terms are derived from the interpretation as places (German: ~tel1en) and !.ransi-
tions. To date, this has been the most thoroughly investigated and frequently applied inter-
pretation.
1.5 Some Basic Definition 15
(b) Notation. Let N = (S, T; F) be a net. We sometimes denote the three com-
ponents S, Tand Fby SN, TN and FN, respectively. If confusion can be excluded,
we also write N for S u T.
5,
S={Sl"" ,ss}
T={t 1 ,···, t,s}
F={ (s l' t 1) , (t l' s 2) , (t l' s 3) , (t l' s 4) ,( s 3' t 2) , (t 2 , s 3) , (s 2' t 2) , (s 2' t 3) , (s 4' t 2) , (s 4' t 4)
(t 3 'S4)' (t 3 ,ss)' (t 4 ,ss)' (ss,t s )}
The examples given in this chapter may be classified into three groups: Nets
consisting of conditions and events, nets consisting of places and transitions,
and nets which carry individuals as tokens. Formally, these classes are distin-
guished mainly by the way the nets are marked. In the first case, an S-element
is either marked or unmarked, in the second case it carries a certain number
of indistinguishable tokens, in the third case it is marked by individual objects.
The three parts of this book correspond to these three interpretations. Other
interpretations (see, for instance, the chess game discussed in 1.1 (d)) will not
be considered here.
2. Rearrange Fig. 12 so that in each case either none or more than one process
is reading.
Part 1. Condition/Event-Systems
Part I deals with a fundamental class of systems in net theory called condi-
tion/event-systems. They are introduced in Chap. 2. In Chap. 3 we investigate
what single processes running in such systems look like. Chapter 4 introduces
and explains notions for the representation and description of some properties
of condition/event-systems.
Chapter 2
First, for nets consisting of conditions and events, we must make precise the
meaning of "occurrence of a single event or several independent events". For
this, the notion of a step is introduced. A notion of equivalence for condition/
event systems (C/ E-systems) is then introduced, and we show how each system
can be transformed to an equivalent contactjree normal form. Finally we dis-
cuss the case graph of a C/ E-system. This graph provides an overview of all
cases and steps of the system.
rence of e; that is, if, in a case c, "e s; c 1\ e" n c =1= 0, then this is called a con-
tact-situation. At first glance,it might not seem fully justified that e is then not
allowed to occur: One could, for example, propose that every postcondition
which is satisfied before the occurrence of e remains so after the occurrence
of e. But let us discuss the implications. In terms of some examples, it would
mean that spring may start when it is already spring; that an already written
memory cell may be rewritten; that a full glass may be filled; that a reserved
seat may be reserved again; or that a car may move to a place where another
car is already standing. Some such events are impossible, but on the other
hand some may be intended, or else possible but unwanted. We will see later
how such events can be described, discovered or prevented. But at the lowest
and most detailed level of description, which concerns us now, we rule them
out. There are also formal reasons for this: Suppose that we allow a transition
~ =:::> o-c::J--.@ and that in the situation ~
both events occur exactly once, then it depends on the order of their occur-
rences, whether the case ~ or the case ()--{J--@---[J-
results. But we want to be able to explicitly distinguish, to represent and to
trace, whether events occur in a particular intended order or whether they oc-
cur in arbitrary order or independently.
When an event has led from one case to another, other events may occur,
yielding yet other cases. These events are dependent on each other in different
ways: In Fig. 20, for example, e, has to occur before e3 and e4' e3 and e4 on the
one hand and e2 on the other hand are alternatives. If e3 and e4 occur, they can
be combined into one step. The occurrence of a set of events G in one step is
possible if all events of G are enabled and their pre- and postsets are disjoint;
G will then be called detached.
.~,,~.
~ b2 e) b4
•b:1 e) b4
b) e4 bs
~o,~"
b:1 ~ b4
By a step c[G) c', G leads from a case c to a case c'. Obviously, if G con-
tains only one element, G = {e}: c [G) c' <=> c [e) c'.
The following lemma clarifies some relations between c, G and c'.
(c) Lemma. Let N be a net, let G ~ EN be detached and let c], C2 be cases of N. Then
c[G) c' <=> c\c' =·G /\ c'\c = G·.
Proof If c[G) c', all e E G are enabled and c' = (c\·G) u G·. Hence, ·G ~ c and
G·nc=0.
Now it follows
c\c' = c\«c\·G) u G·)
= (c\(c\·G)) n (c\G·) according to A3 (v) (cf. Appendix)
= (c n ·G) n (c\G·) according to A3 (ii)
= (c n . G) as c n G· = 0
=·G as·G ~ c.
c'\c = «c\·G) u G·)\c
= «c\·G)\c) u (G·\c) according to A3 (iii)
= 0 u (G·\c)
= G· as G· n c = 0.
~--------------~. M---------------~
2.2 Condition/Event-Systems 21
In general there are several possibilities for combining events into steps: In
Fig. 21 not only {e" e2} but also {e" e3} yield a step. By changing cases succes-
sively by steps, a process is generated (this notion will be made precise later).
If a step is finite, then it can be realized by the occurrence of its events in
arbitrary order:
(d) Lemma. Let N be a net, let c and c' be cases of N and let G be a finite step
from c to c'. Let (e" ... , en) be an arbitrary ordering of the elements of G, such
that G = {e" ... , en}. Then there are cases co, ... , Cn, such that c = co, c' = Cn
and Ci-' [e) Ci (i = 1, ... , n).
Proof Let e, e' E G and let c be a case in which e and e' both have concession;
then, 'e n e' = 0/\ e'n 'e' = 0. So, if c [e) c', 'e' s;;:: c.
Analogously it can be shown that e" n c' = 0. So e' has concession in c'. For
i = 1, ... , n it follows that ei remains activated during successive occurrence of
e" ... , ei-' and can therefore transform Ci-' into Ci. D
It may be the case that two enabled events can occur in a single step. How-
ever it may be the case that they have common pre- or postconditions and that
their occurrences are therefore mutually exclusive. Such events are said to be
in conflict with each other. It may not be obvious whether conflicts will arise;
for example, if in Fig. 22 starting with the case shown there, e, occurs before e2
then there will be no conflict between e, and e3. If, however, e2 occurs before
e, then such a conflict results. There is no order specified between e, and e2;
this is a situation called confusion.
2.2 Condition/Event-Systems
We will now introduce nets which model the notions of condition and event
and which are intended to make derived notions, such as case and step, usable
for the description of real systems.
A system consisting of conditions and events is not fully described until we
specify, in addition to the net (B, E; F), also the cases we wish to consider.
(For example, the net of the four seasons in Fig. 1 would not make sense as
intended with a case containing two elements.) Such a set of cases C should
have the following properties:
22 Nets Consisting of Conditions and Events
Fig. 23. A CI E-system, it;; case class is C = {{ bd, {b 2}, {b 3}, {b 4}}
2.3 Cyclic and Live Systems 23
The requirements for the case class C E of a C/ E-system 1: might not be im-
mediately obvious; rather, one may perhaps expect C E to be the set of all suc-
cessor cases of some initial case. If all cases of 1: are reproducible, any such
case class is identical to CE.
Proof Let c E C r , e E E r . By 2.2 (a) there exists c' E Cr such that e has con-
cession in c', and by 2.3 (a), c r1 c'. 0
Figure 24 shows that not every live system is cyclic: The indicated case can
not be reproduced by event occurrences.
2.4 Equivalence
The systems shown in Fig. 1 and Fig. 2 behave quite similarly: In both of them
the continual change of cases yields the cyclic alternation of the four seasons.
We call two C/ E-systems equivalent if their cases and steps correspond to each
other in the following way:
(b) Notation. L: '" L:' iff the C/ E-systems L: and L:' are equivalent.
(d) Proposition. Equivalent C/ E-systems always have the same number of cases,
events and steps. They may however have a different number of conditions.
It is obvious that the systems shown in Fig. 1 and Fig. 2 are equivalent;
both are also equivalent to the system shown in Fig. 25.
w·w
2.5 Contact-Free ClE-Systems 25
,'='t of ~ ,taPt of
~n~ ~nt~
S, start start S3
of of
autumn summer
Fig. 25. A C/ E-System which is equivalent to those shown in Fig. 1 and Fig. 2. Its cases are
{SI, S2} == spring, {SI, S3} == summer, {S2, S3} == autumn, 0 == winter
Sequential C/ E-systems with single element cases (for example the system
shown in Fig. I) correspond to finite automata. For any two such systems the
notion of equivalence is not interesting: it coincides with isomorphism.
Proof Let I be y- c-equivalent to I'. Since every case contains exactly one
element, every condition b forms a case {b} (every condition must hold in some
case by Proposition 2.2 (c) (iii)). Hence y: CE --> CE , induces a bijection
fJ/: BE --> BE' by means of fJ' (b) = b' ~ y ({b}) = {b/}.
fJ: I --> 2, defined as fJ (x) = fJ' (x) for x E BE and fJ (x) = c (x) for x E EE,
is also bijective.
Since events must be able to occur, I·e I = Ie·1 = 1 for all e E EE. Let b FE e.
Then e is {b}-enabled, therefore c (e) is fJ (b)-enabled and fJ (b) FE' c (e). Anal-
ogously c (e) FE' fJ (b) follows from e FE b. The converse is trivial. 0
In Sect. 2.1, we argued that events should not have concession in contact situa-
tions. We will now show that such situations are avoidable by means of equiv-
alent transformations of C/ E-systems. To do this, we add to each condition b
its complement b, such that in every case either b or b holds.
(c) Definition, Let I be a C / E-system and let B s:; BE be the set of those con-
ditions which have no complement in BE. For each b E B let b denote a new
element. Let F= {(e, b) I (b, e) E FE /\ bE B} u {(h, e) I (e, b) E FE /\ bE B}.
For c E CE let ((J (c) = c u {h I b E B /\ b ~ c}. Then the C/ E-system £ =
(BEu{blbEB}, EE;FEuF,((J(CE» is the complementation of I. ((J(c) is the
complementation of c.
Obviously, each condition b which has no complement in I has got b as a
complement in £.
Notation, Let I be a C/ E-system, and let e E EE. To simplify the notation, let
-e and e- denote the pre- and postset of e in t, respectively, while 'e and e'
will, as usual, denote the pre- and the postset of e in I, respectively.
(f) Proposition, Let I be a C/ E-system, let G s:; EE and let B be the set of those
conditions which have no complement in BE.
(i) -G = 'G u {b I b E B /\ bEG '}, G- = G' u {b I b E B /\ bE' G}.
(ii) 'G =-GnB E, G'=G-nB E.
2.5 Contact-Free CIE-Systems 27
Note that in (h), requirement (2) does not always follow from (1).
Example: C!)---{J
(e) Definition. Let I: be a C/ E-system, let 01 be the set of all steps of I:, and let
P = {(CI' G, C2) E C E x_9 xCE I cdG) C2}.
Then the graph wE = (CE,P) is called the case graph of I: (for the repre-
sentation of graphs see A12- A14).
(b) Theorem. A C/ E-system is cyclic if and only if its case graph is strongly
connected.
(c) Theorem. A C / E-system I: is live if and only if for each Co E C E and for each
e E EE there is a path Co II CI ... In Cn in WE with In = {e}.
2.6 Case Graphs 29
(d) Theorem. Two CI E-systems are equivalent if and only if their case graphs are
isomOlphic.
Proof Let I and I' be two CIE-systems with case graphs if>E= (C E, P) and
if>E' = (Cr , P'), respectively, and let;:9 be the set of steps of I.
I is y-£-equivalent to I'
<=> (VCI, C2 E CE VG E;:9: CI [G) C2 <=> y(cl) [c(G) y(C2))
<=> (V CI, C2 E C E VG E;:9: (c], G, C2) E P <=> (y (c]), c(G), y (C2)) E P')
<=> if>E is y-e-isomorphic to if>r. 0
c,
Fig. 29. A graph which can not be the case graph of any C IE-system
30 Nets Consisting of Conditions and Events
(e) Theorem, Let L be a C / E-system, let c] , C2, C3 E C1: and let G] , G2 <:; E1:.
(i) If c] G] C2 G2 C3 is a path in lP1:, then G] n G2 = 0.
(ii) Let G] n G2 = 0. If c] (G] u G2 ) C3 is an arc in lP1: then there exists C E C1:
such that c] G] C G2 C3 is a path in lP 1:.
Proof
(i) e E G] => C2 n 'e = 0 => e is not c2-enabled => e ~ G2 •
(ii) c] (G] u G2) C2 is an arc in lP1: => c] [G] u G2) C2 => c] [G]) c and
where c = (c]\'G]) u Gj.
1. A shepherd intends to cross a river together with a goat, a wolf and a head
of cabbage. With the shepherd, only one additional object fits into the boat.
The situation must be avoided where a) the wolf and the goat, or b) the goat
and the head of cabbage remain allone (for obvious reasons). Represent a
suitable organisation for crossing.
b c
~a d e
b c
d e
Exercises for Chapter 2 31
6. Are the CI E-systems of the following figures contact free: Fig. I, Fig. 2,
Fig. 21, Fig. 22, Fig. 24, Fig. 25?
This chapter deals with processes which can run on C/ E-systems. One may be
tempted to define a process of a C/ E-system as a path of its case graph. But
what we mean intuitively when speaking of processes is not adequately de-
scribed by such a path: the total ordering of its elements does not give any
information as to whether the events actually occur one after the other or
whether they are independent of each other. The partial order in which events
occur is only indirectly represented in the case graph by the set of all possi-
bilities of occurrences as successions of steps.
We therefore search for a more convenient description of processes: one
which is, in particular, unambiguous and indicates explicitly whether events
occur concurrently. Such a description can be considered as a record of event
occurrences and changes of conditions. The entries in this record are partially
ordered by the relation "a is a causal prerequisite for b", since repetitions of
the same event or the same condition are recorded as new entries. There is a
fairly obvious representation of such records, namely again as a net. For in-
stance, all of the occurrences in Fig. 20 are completely represented in Fig. 30.
The relations of causal dependence and independence will turn out to be sym-
metric and (by definition) reflexive, but in general they will not be transitive
relations. To start with, we shall consider similarity relations:
//<"" - - ) ( - - - ...... ,
\/ .y~~
~iV·I\\
)
\ /'1·~·
"--1-' . . _~_ ....... '
,--, \ J
/
r.) \_,
"--' ... -"
(0 Theorem. For any partially ordered set A, li and co are similarity relations.
Proof Reflexivity and symmetry of li follow immediately from the definition.
The complement A xA\Q of a symmetric relation Q ~ A xA is symmetric. The
complement of li is therefore symmetric, and becomes reflexive by adding the
pairs (x, x). 0
Figure 32 shows a partially ordered set and the corresponding relations li
and co (the graphical representation of partial orders is explained in All).
o _b -;::-~-------_.c
d~
e ---------+. f _ g
b45Bf
c
/\M/~
---0 --g --- e
\/\/
g---c--e--b
Ii co
Fig. 32. A partially ordered set with its relations fj and co
(j) Theorem. If A is a partially ordered bounded set then °A and A °are cuts.
(k) Proposition. Let A be a partially ordered set, let L be a line and let D be a cut
of A. Then I L n D I :S:. 1.
(I) Definition. A partially ordered set A is called K-dense iff each line has a
non-empty intersection with each cut.
Fig. 33. A partially ordered set which is not K-dense: {e, b) n {a, d) = 0
(a) Definition. A net K = (SK, T K; FK) is called an occurrence net if and only if
(i) Ya, bE K: a (Ft) b <=> I (b Ft a) (K is cycle-free),
(ii) Y sE SK: I·s I:S:. 1/\ I s·1 :S:. 1 (S-elements are unbranched).
(b) Proposition. Let K be an occurrence net. The relation <, defined by a < b <=>
a F!< b, for all a, b E K, is a partial order on K.
Hence, all notions concerning partially ordered sets, such as lines, cuts,
boundedness and K-density are particularly defined for occurrence nets.
Example of a cut
{t 1 ,s4'sS}
K2
An unbounded occurrence net which is not K-dense
{sO.t 1 , s l ' ' ' · } n {sl',s2', ... } = II
3.3 Processes
Proof (i) p (SK) <;::; BE follows immediately from Definition (a), as each s E SK
belongs to at least one slice. For t E TK there exists an x E L with x E .p (t)
up (tr (Definition 2.2 (a) (ii)). Using Definition 3.3 (a) (ii) the existence
of aYE·t u [" with p (y) = x follows. Since y E SK, we have x E BE and
p (t) EX· U ·x <;::; EE.
(ii) For s E SK and t E T K: sh t => S E ·t => p (s) E "p (t) => P (s) FE P (t).
Similarly, for t FK s: s E [" => p (s) E p (tr => p (t) FE P (s).
(iii) For x,Y E SK the result follows immediately from the definition. For
x, Y E TK, X =1= y, P (x) = P (y) implies "p (x) = "p (y) and p (xr = p (yr.
Now using Definition 3.3 (a) (ii) we find p ex) = p ("y) and p (x·) = p (f).
Suppose x co y, then there are slices D] :;::> ·x U "y and D2 :;::> x· U y .. Either
·x u "y or x· u y. is non-empty, and ·x n "y = 0 = x· n y. (S-elements of K
are unbranched); therefore p ID] or pi D2 is not injective. Hence x )j y.
(iv) For t E TK , using (i) we have p (t) E EE. By Theorem 2.5 (i) (iii),
.p (t) =1= 0 andp (tr =1= 0. The result follows by Definition 3.3 (a) (ii).
(v) follows from (iii) and Definition 3.3 (a) (i). 0
(c) Theorem. Let p:K ---+L be a process, let T<;::; TK with Vt], t2 E T: t] co t2.
Then ::lCI, C2 E CE with c] [p (T) C2·
(e) Theorem. Let II, I2 be two contactjree C/ E-systems and let Pi be the set of
processes of Ii (i = 1, 2). Then PI = P 2 -=- II = I 2·
Proo.! Let Ii= (Bi,Ei;Fi , C i) (i=I,2) and let I 1 *,I2. Then there exists
(without loss of generality) bE Bl U B2 or e EEl U E2 or c E C 1 U C2 such that
bEB1\B2 or eEE 1\E2 or (b,e) EFl\F2 or (e,b) EFl\F2 or c E C 1\C2. Then
there is a step Cl [e') C2 in II which is not possible in I2 (choose bE Cl U C2
or e' = e or c = Cl or c = C2, respectively). With K = (S, {t}; F), let p: K -+ II
be a process such that P(°K)=CI and p(KO)=C2 and p(t)=e'. Then
P E P 1\P2 • 0
For processes PI, P2 we define the composition PI °P2, provided that PI ends
in the same case that P2 starts with.
Proo.! By theorem 3.1 (j), oK and KO are cuts. Since I is contact-free (De-
*' *'
finition 3.3 (a)), for each e E Ex;, ·e 0 and e· 0 (Theorem 2.5 (i) (iii)).
°K U KO ~ SK follows from Definition 3.3 (a) (ii). 0
(b) Lemma. Let Pi: Ki -+ I (i = 1,2) be two processes with PI (Kn = P2 (0 K2).
Then there exists up to isomorphism exactly one occurrence net K, with a slice D,
and a process p: K -+ I, such that pi D- = PI and pi D+ = P2.
P, Pz P
Fig. 35. Composition of processes, PI a PZ = P
(c) Definition. Let PI, P2, P be processes, satisfying the statement of the above
lemma. Then P is referred to as the composition of PI and P2, and we write
P =PI °P2·
Each slice divides a process into composable subprocesses:
(e) Proposition. Let PI , P2, P3 be processes such that PI °P2 and P2 °P3 are de-
fined Then PI °(P2 °P3) and (PI °P2) °P3 are isomorphic processes.
As examples, the process PI in Fig. 35 and the processes P3, P4, Ps, P6 m
Fig. 36 are elementary.
@
~~o
~
~ b4
0
P3 P4 P
P6
o
~ Ps
Fig. 36. Composition of the process P shown in Fig. 35 using the elementary processes
3.5 Processes and Case Graphs 41
(j) Theorem. lfp: K -4 E is a process then there exist finitely many elementary
processes p] , ... ,Pn such that p = p] 0 .•• 0 Pn.
In this section we investigate the relation between processes and the paths in
case graphs.
We start by showing that elementary processes directly correspond to arcs
in case graphs. Then we look for paths in a case graph describing one single
process. It turns out that all those paths can be transformed into each other
by "decomposition" and "unification" of their arcs.
{I,'}
y~
)"S} {o c} U,4}
(.~<
{2,6}'" {b, d} {l,s}
{b r"" ~
{l,6}
Fig. 37. A process and a part of a case graph: Each of the 13 paths from {I, 4} to {3,6} cor-
responds to the process p
For each path of a case graph there is exactly one corresponding process.
Conversely, there are in general several paths corresponding to a single pro-
cess, as shown in Fig. 37. I (v, e) and:T (v) denote a single T-element and a set
of T-elements of an occurrence net, respectively.
(d) Proposition. Let L be a contactfree C / E-system, let c" CZ, C3 E C L:, and let
G" Gz ~ EL: be disjoint and non empty.
(i) If v = c, (G, u Gz) Cz is an arc in CPL: then there exists a decomposition of v
of the form c, G, c Gz Cz ,for some c E CL:.
(ii) Let u, = c, G, C3 and Uz = C3 Gz Cz be arcs of CPL:, and let ~, 0 ~z: K -+ L.
Then Yt" tz E TK : t, co tz iff c, (G, u Gz) Cz is an arc in (PE.
3.5 Processes and Case Graphs 43
(e) Lemmao Let w be a path of some non-empty process (~: K -+ E). Then there
is a path w' and an arc v with.r (v) = {t E T K lOt s; oK}, and a permutation se-
quencefrom w to v w'.
:
/ I
\
If A =l= 0 and B =l= 0 then, by Proposition 3.5 (d) (i), there exists a decomposi-
tion V3V4 ofv2 withY(v3)=A andY(v4)=B. Since for all tEA and for all
t' EY(vd t co [', VI can be unified with V3 yielding an arc Vs (Proposition
3.5 (d) (ii». W'VSV4 is a permutation of w of length n. Using the induction
hypothesis, w'vs can be permuted to a path v'w" withY(v') = {t E TKIOts; OK}.
v' W" V4 is the required permutation.
If B = 0, VI can immediately by unified with V2. If A = 0, the result follows
from the induction hypothesis by permuting w' VI. 0
(0 Theoremo Two paths wand w' correspond to the same process if and only if a
permutation sequence from w to w' exists.
Proof Let wand w' be paths of the process p: K -+ E. We prove the result by
induction on the length n of w. n = I: w is an arc. For all t E Y (w), °t s; OK. The
44 Processes of Condition IE vent-Systems
permutation of w, using Lemma 3.5 (e), yields w'. Now, assume the hypothesis
for paths of length n - 1. Using Lemma 3.5 (e), we permute wand w' yielding
VWI and v'wi such thatY(v)={tETK["ts;:oK}=Y(v'). By the induction
hypothesis, there exists a permutation sequence from WI to wi, and the result
follows, since v = v'.
Conversely, if UI U2 is a decomposition of an arc v then the processes of
UI U2 and of v are equal (Proposition 3.5 (d)). Thus, if w' is a permutation of w,
then wand w' are paths of the same process. Hence all elements of a permuta-
tion sequence are paths of the same process. 0
• i-i~i
.--.--.
2. How many cuts, slices and lines has the following occurrence net?
*3. Two occurrence nets K and K' are similar iff there exists a bijection
r: TK ---+ TK, such that Y ll' t2 E T K : II < t2 => r (tl) < r (l2)'
a) For the following occurrence net construct a similar one with a minimal
number of S-elements:
*6. Let K be a bounded occurrence net and let J; be a C/ E-system. Show that a
mappingp: K ---+ J; is a process iff
(i) pi oK is injective and p (0 K) E C~, and
(ii) \It E TK : p Ct) ="p (t) /\ P (n = p (tr /\ p is injective on °t and on (.
Chapter 4
Properties of Systems
In the previous chapter we saw how to describe C/ E-systems and how to de-
fine and analyse their dynamic behaviour. We shall now concern ourselves
with some properties of C/ E-systems. We shall see that some of those proper-
ties can again be described by means of the net calculus.
,0, D2
I
,
I
o
I
D2 < D1, let fl (M, D 1, D 2) = 1M " D] " D! I. However, slices may not be com-
parable; therefore, we define fl generally in the following way:
(b) Proposition. For all finite subsets M of T-elements and all slices D 1, D2 of
an occurrence net K, we have fl (M, D 1, D 2) = - fl (M, D 2, D1).
Using the measure fl, we now define the variance v of two sets of events in
a process.
(c) Definition. Let I: be a contact-free C/ E-system. n1: denotes the set of all
finite processes of I:.
(e) Proposition. For each process p:K -+ I: and each pair E 1, E2 ~ E1::
v (p, E 1, E2) = v (p, E 2, E1).
The synchronic distance of two sets of events can now be defined as the
supremum of the variances in all finite processes.
o({e 4 }, {eo}) =1
o({e 2 }, {e 4 }) =2
o({e 2 ,e 3 }, {e 4 ,e S }) =4
o({e 2 ,e 4 }, {e 3 ,e S }) =2
cr({e 4 ,e S }' {e 3 }) =w
• W-------------~
eo
Fig. 42. Synchronic distances between sets of events
4.1 Synchronic Distances 49
/ \
I
I \
/ \
/ \
e1 / \
. . -t 'l...
0=2:. ; I • ',0=W
'-<\
\
~,'"
/ I
\ /
\ /
\ /
\ /
/
• ~---------------------------1
eo
Fig. 43. Graphical representation of the synchronic distances given in Fig.42
C/E-system L
process p of L
Fig. 44. A C/ E-system in which the two events el and e2 occur concurrently (0" (el' e2) = 2)
50 Properties of Systems
CIE-system L'
b~----------->i
process Pl
process P2
b<}-----------~
Fig. 45. A C/ E-system in which el and e2 occur in some (arbitrary) order (0" (el' e2) = I)
e,
L2
Fig. 46. Two C/ E-systems LI, L2 with Cl'.~;, (e, e') = aE 2 (e, e') for e, e' E {el, ... , e4}
... J.,.
~
.-
I
I
/a=w
• e2
2:[
,-,
I
'.'0=2
'-'
•
[
[
I
[
e1
First, we show that synchronic distances define a metric on the sets of events of
a C/ E-system. Then some other properties of synchronic distances are proved.
Proof (i) and (ii) follow immediately from Definition 4.1 (f). To prove (iii),
let p: K ~ IE TiI and let D, and D2 be slices of K such that v (p, E" E 2) =
J1 (p-' (E,), D], D 2) - J1 (p-' (E2)' D" D2). Then, defining [EJ = J1 (p-' (Ei)'
D" D2 ) (i = 1,2,3), we have: v (p, E" E 2 ) = [Ed - [E 2 ] = [Ed - [E3] + [E3] -
[E2]::;; v (p, E" E 3) + v (p, E 3, E2). Using A16 we obtain: a (E\, E 2) =
sup {v(P,E"E2)lp E TiI} ::;; sup {v(P,E"E 3) + v(p,E3,E2)lpETiI} ::;;
sup {v (p, E" E 3) Ip E TiI} + sup{v(P, E 3, E 2) I p E TiI}. 0
°
(c) Corollary. Let 1: be a contactjree C/ E-system and let E I , ... , E4 ~ EE such
that EI n E2 = = E3 n E4. Then (J (EI U E2, E3 U E4) :s; (J (EI' E3) + (J (E2' E4).
(b) Theorem. Let 1: be a state machine and let el, e2 E E E. Then (J (el , e2) E
{O, I, w}.
The definition of synchronic distances in 4.1 takes account of the fact that, in a
process, concurrency may yield slices which are not ordered. This is important
if the C/ E-system is non-cyclic because the values corresponding to the situa-
tions discussed in 4.1 (i) could otherwise not be obtained. We are now going
to define a simpler function a', which is equivalent to the synchronic distance
a in the special case of cyclic C/ E-systems.
(b) Proposition. For any arbitrary C/ E-system Land E I , E2 ~ E};: a' (EI' E 2) S
a (EI' E2)'
For example, in Fig. 44, a' ({ed, {e2}) = 1 < a({ed, {e2}) = 2.
(c) Theorem. Let L be a C/ E-system which is contactJree and cyclic. Then for all
Eh E2 ~ E};, a' (E], E 2) = a(EI' E2)'
Proof By Proposition 4.3 (b), it is sufficient to show a' (EI' E2)~ a(E], E2)' To
prove this, we construct for each process p of L a process p' of L such that
v' (P', Eh E 2) 2 v(p, E I , E2)'
Let p: K ----> L be given. Let D I , D2 be slices of K with v (p, E I , E 2) =
f1 (P-] (E]), D], D2) - f1 (P-] (E 2), D], D2)' Since L is cyclic, a process p':
K' ----> L and a slice D3 of K' exist such that pop' is a process of Land p (D3) =
p (D 2) (see Fig. 50). Then D] < D3 and D2 < D 3 .
For slices D,D' with D<D', we define the process PD,D' by PD,D'=
pi (D+ n D'-).
If v' (PD" D" E], E 2) > 0, let p" = PD" D, 0 ••• 0 PD" D" and we obtain
0, /0 2
,,0
---""l
3
"- I
,,,
\
"-
~'
l
J
I
I
I
I ""- I
I
\.. v
)\..
v
p p'
Fig. 50. Illustrating the proof of Theorem 4.4 (c)
4.5 Facts 55
4.5 Facts
It is possible to construct formulae of propositional logic by using the condi-
tions of a CI E-system. Since conditions are allowed to change, such formulae
will be true or false depending on which case the system is in. Formulae which
are true in all cases of the system are especially interesting, because they de-
scribe invariant properties of the system. We shall now show how the
representation and evaluation of such formulae can be integrated into the net
calculus.
Consider again the C/ E-system II of Fig. 46, consisting of two simple
sequential cycles. We now add the requirement that bl and b2 do not hold
together in any case of the system. We can achieve this by the construction of
I2 shown in Fig. 46. The new property of the system can be expressed in the
net calculus by adding a new T-element t with °t = {b l , b2 } and to = 0, as shown
in Fig. 51, which is enabled in no case of the system.
We first study the relations between formulae consisting of conditions of a
CIE-system (for example I (b l 1\ b2) in Fig. 51) and the possibility of events
being enabled. To this end, we consider a condition b as an atomic proposi-
tional formula, which is true in a given case c if and only if b belongs to c.
Then we can construct formulae of propositional logic and evaluate their truth
values.
(1) BE c::;AE,
(2)0,),0,2 EAE=> (0,)1\0,2) EA E, (ai Va2) EAE,
(a) ---> a) E A E , (10,]) E A E •
(ii) Each case c E C E induces for each a E AE a value c (a), defined by
c: AE ---> {O, I}
b t--+ I iff bEe,
b t--+ 0 iff b ¢ c,
(a) 1\ 0,2) t--+ min (c (a), c (~»,
(a) V~) t--+ max (c (a), c (~»,
(a) --->~) t--+ C«lad V az),
(10,]) H 1- c (a)).
We interpret 1 as "true" and 0 as "false", and we call a formula a valid in
the case c iff C(a) = 1.
(iii) Two formulae a) ,az E AE are called equivalent in L iff for all c E C E:
C(a]) = c(az).
We shall omit unnecessary brackets (note that 1\ and V are associative
opera tors).
Next we shall associate a formula aCe) with each event e of a C/ E-system
in such a way that for all cases c: aCe) is valid in c if and only if e is not
c-enabled.
(c) Lemma. Let L be a finite C/ E-system and let e E EE. Then for each c E CE ,
aCe) is valid in c iff e is not c-enabled.
Fig. 52. Enhancement of the system of Fig. 2 by one condition and two facts
(f) What about formulae which are valid in some, but not in all, cases of
the system? For a case c E CE , let c' denote the conjunction of all conditions
of L which hold in c. Then, if ais valid in the cases CI, ... , Ck, we can describe
this by the valid formula (ci /\.:. /\ ck) -+ a.
2. Let L be a finite, cyclic C/ E-system and let E I , E2 <;::: EE. Show that
(J (EI , E 2 ) = w <;=> there exists a non-empty process p: K -+ L such that
p (0 K) = p (KO) and v' (p, E I , E I ) > O.
58 Properties of Systems
max {L g(e)' f.1 (p-I (e),DI ,D2) - L g (e)' f.1 (p-I (e),DI ,D2) IDh D2 E ~(p)}
eEE1 eEE2
/
/'
---- --
/'
/
/
I
I /'
I /'
/'
/'
/'
~---------------~
As one abstraction of the many ways to interpret nets, we shall consider, in this
part, nets with S-elements which - in contrast to conditions - may carry more
than one token. In such nets S-elements are called places, the T-elements are
called transitions. An actual state of the system is represented by a certain dis-
tribution of tokens over the places, such that the number of tokens on each
place is greater than or equal to zero and not greater than its capacity. A tran-
sition t may fire if all places in °t carry at least one token and if the capacity of
all places in ( is greater than the number of tokens they actually carry. When
t fires, a token is removed from every place in °t and a token is added to every
place in (. We shall also allow weights to be attached to the arcs, these weights
are natural numbers n E N. In this case, not one but n tokens are added or
removed, respectively, when a transition fires. The firing rule is changed cor-
respondingly; there must be sufficient tokens on each place in °t and sufficient
capacity in ( to receive the tokens.
Examples for this kind of nets have already been discussed in Chap. I
(Fig. 5 and Fig. 6) and also in connection with synchronic distances (Fig. 43).
Chapter 5 explains the basic notions of nets consisting of places and tran-
sitions and introduces the coverability graph, a first method for analysing
these nets. A further analysis method is the evaluation of invariants which is
discussed in Chap. 6. For special classes of nets (free choice nets and marked
graphs), analysis methods are derived in Chap. 7.
Chapter 5
counter
producer consumer
Fig. 53. A producer-consumer system with limited buffer capacity, multiple generation and
mUltiple consumption, limited buffer access, and a counter
5.1 Place/Transition-Nets
(ii) K: S --+ N u {w}, gives a (possibly unlimited) capacity for each place,
(iii) W: F --+ N\{O}, attaches ;r weight to each arc of the net,
(iv) M: S --+ N u {w} is the initial marking, respecting the capacities, I.e.
M(s) ~ K (s) for all s E S.
By analogy with C/ E-systems, the components of a P / T-net N are denoted
by SN, TN, FN, K N, W N, M N.
In the following definition we give the firing rule for place/transition-nets.
••
••
e.
K=3
Fig. 55. Situations in which a transition is not enabled
K.::3 K=3
Fig. 56. Both transitions are not enabled and therefore may not fire
pete for the right to access the buffer, and that the producer has already com-
pleted five production steps (i.e., it has produced 15 tokens).
Clearly, every CI E-system can be considered as a special place/transition-
net with place capacities and arc weights equal to one. Conversely, a placel
transition-net with place capacities and arc weights equal to one behaves like a
net consisting of conditions and events. But note that a C IE-system is provided
with a case class C, whereas for PIT-nets we assume an initial marking.
As a generalization of CI E-systems, a marking M yields a contact situation
for a transition t E TN if t fails to be M-enabled solely because the places in ("
do not have sufficient capacity.
(c) Definition. A PIT-net N is called contactfree iff for all ME [MN) and for
all t E TN:
ifYsE·t:M(s)2 WN(s,t) then YSE(":M(s)::::KN(S)-WN(t,S).
:3
(b) Corollary. Let N be a PIT-net and let M,M': SN-+N u{w} be two
markings of N. Then for each transition t E TN:
(i) rrt is M-enabled then M[t) M' <=> M + 1. = M'.
66 Nets Consisting of Places and Transitions
t] t2 t3 t4 t5 MN
8] -] ]
8 -] ]
2
83 5
8 4 3 -2 3
8 -]
5
86 -] 2
8 7 -1
For nets with infinite place capacities the following monotonicity property
holds:
(c) Lemma. Let N be a PIT-net with Ys E SN: KN(S) = w. Let M" M 2:SN -4
N u {w}.
(i) M, [t) M => (M, + M2) [t) (M + M2)'
(ii) ME [M) => (M + M2) E [M, + M2)'
Notice that, in the above definition, the marking E may already be con-
tained in H, being a node of Gi . In this case only a new arc (E, t, E) is added
in Gi + l , but no new node. .
Remember that the assumption of unlimited place capacities is a purely
technical restriction. In the following unlimited capacities will be understood
if coverability graphs are discussed.
We will now show that indeed each reachable marking is "covered" by a
node of a coverability graph:
(b) Lemma. Let G be a coverability graph of some PIT-net N. For each firing
sequence MN [tl) MI'" Mn-dt n) Mn there exists a path Eo tl EI ... E n- I tn En
in G such that MN = Eo andfor all i = 1, ... , n, Mi:s; E i .
68 Nets Consisting of Places and Transitions
N S1 • d c
Fig. 59. A PIT-net with two different coverability graphs (Markings M are represented as
vectors M(sl) M(S2) M(S3)' arc indices show the order of generation of the arcs)
Our next aim is to show that co-entries in coverability graphs indeed rep-
resent unbounded places. This is achieved by associating to each node E of a
coverability graph a set of markings such that, for all co-entries of E, there
are infinitely many markings with an unlimited token count on the correspond-
ing place.
(iii) LeL#'E £ [MN) be a minimal set such that, for each i E N, there exists an
i-marking M of E inJlE . Then,Jl E is called a covering set of E.
(d) Lemma. Let G be a coverability graph of some PIT-net, N. For each node E,
there exists a covering set JIE.
Proof Let Go, GI , ... be a covering sequence of G. We prove the result by in-
duction following the definition of G.
For the single node of Go, the proposition is trivially true.
To show the induction step, let mEN, let (E, t, E) be a new arc in Gm ,
and assume thatJlE exists. We wish to show that Mi exists.
Let E' = E + L According to the definition of covering sequences, Q (E) £
Q (E). For every set S such that Q (E) £ S £ Q (E) we prove
S3
b b
N1 N2
Q (
owQ
b
b 001
G
Fig. 60. Two different PIT-nets with the same coverability graph
Proof We prove the somewhat stronger proposition, that each infinite se-
quence a = M 1 , M 2 , ••• of mutually distinct markings has a strongly increasing
infinite subsequence a' = M i" M i" ••••
If I SN I = I then Mi < ~ or ~ < Mi for all i,j E N. In this case, let
M;, =MI and, given M i;, there exist only finitely many markings M in a such
that M < M;; (as descending sequences of naturals are finite), hence there
exists some index ij + 1 > ij such that M i;+l > M i;-
For SN = {sJ, ... , Sn + I}, there exists by the induction hypothesis an inifite
subsequence a" = Aft" M I" ... of a such that
(*)
With M i, = M I, we construct a' = M i" M i" ... as a subsequence of a":
Given M;p there are only finitely many markings M in a" such that M (sn + I)
:s; M;j (Sn+I)' Hence, there exists some index ij +1 > ij such that M i;+l ina" and
M;;+1 (Sn+l) > Mi; (sn)· With (*), we have Mi;+1 > M i;. D
Proof For j = I, 2, ... , let (Kj _ 1 , tj , Kj ) be the arc which was added in Gj . Let
TO=GO,G 1 , ••• be a covering sequence of a finite PIT-net and let G be the
coverability graph generated by r. A path w = K o tl Kl ... of G is called con-
structive iff there exists a subsequence G io ' Gil' ... of T such that Gi; generates
5.4 Decision Procedures for Some Net Properties 71
the arc(~_I,tj,~) U=1,2, ... ) and G;o=Go. We shall show that every con-
structive path w = Ko tl KI ... is finite. Let 1> = K o, K I , ... be the sequence of
nodes in wand let S={sESNIMN(s) =1= w}. For each descending sub-
sequences Ko > K{ > ... > K~, n::; L Ko (s). For each increasing subsequence
S E s
K6 < K{ < ... < K~, we have by construction of w, Ki (s) < KJ (s) => KJ (s) = w.
Therefore n ::; 1SN I. Hence 1> and also w is finite.
Obviously the constructive paths of G constitute an acyclic subgraph G'
of G. As G' is finitely based and finitely branched, and as each constructive
path is finite, G' is finite according to Koenig's Lemma (cf. A16). Since every
node of G lies on some constructive path, the node sets of G and of G' are
equal and the Theorem follows. 0
Thus, coverability graphs can actually be constructed for PIT-nets and can
be used to prove certain properties of such nets.
Proof Let M' E [MN) with M s M'. (i) using Lemma 5.3 (b), there exists a
node E of G with M'::; E. Therefore, M s E. (ii) Clearly, MN (s) =1= w implies
V M' E [MN): M' (s) =1= w.
Conversely, assume (i) and (ii), let E be a node of G with M s E. Using
Lemma 5.3 (d), there exists M' E [MN) with M' (s) ::?: M (s) in the case
E (s) E lN, and M' (s) arbitrarily large in the case E (s) = w. If M (s) = w, we
have MN (s) = wand therefore M' (s) = w. 0
(c) Theorem. Let N be a PIT-net, let S s;: SN and let G be a coverability graph
of N. S is simultaneously unbounded iff there exists a node E in G such that
V s E S : E (s) = w.
72 Nets Consisting of Places and Transitions
Proof If (E, t, E) is an arc of G then E [t) E and, by Lemma 5.3 (d) there
exists a marking ME JiE which enables t.
If t is not Mwdead then there exist M I , M2 E [MN) with M J [t) M 2 , So, by
Lemma 5.3 (b) there exists a node E with M I :-:; E. Since tis MJ-enabled, it is
also E-enabled and an arc (E, t, E) exists. D
Proof Assume t is not M'-dead. Then there exists a marking kf' E [M') such
that t is M'-enabled. Starting from M, firing the same transitions in the same
order as when firing from M' to M', yields a marking M such that t is M-
enabled. D
For the practical analysis of nets, coverability graphs are of limited value,
as algorithms for their construction are too complex. It was shown in [81] (cf.
also [47,73]) that there exists a sequence N I , N 2 , ... of PIT-nets with linearly
growing size (let the size of a net be the number of its elements, arcs, and
initial tokens) such that the corresponding coverability graphs Go, G], ... grow
(with respect to the number of nodes) quicker than any primitive recursive
function.
As a consequence of this result, the following is proved in [81] and [82]: Let
Nand N' be two PIT-nets with identical places (i.e. SN = SN') and finite sets
[MN) and [MN,) of reachable markings. It is obviously decidable if [MN) ~
[MN .), but not in primitive recursive time (or space). A similar result holds for
the problem whether or not [MN) = [MN')'
5.5 Liveness 73
Assuming Nand N' as above, but with infinite sets [MN) and [MN'), the
problems [MN) ~ [MN.) and [MN) = [MN') are not decidable [76]. Further-
more it is shown there that it is not decidable if [MN) decreases in case a
transition is skipped from the net.
For a PIT-net N it is decidable in space 2 n . log (n) (let n denote the size of
C ·
5.5 Liveness
P IT-nets are often used in application areas where the number and distribu-
tion of dynamically moving objects is important; for instance, the data in a
computer, the goods in a warehouse, the documents in an administration sys-
tem, the work in progress in a production system. In such areas, the aim is
generally to obtain an organisation which allows for variations in the number
and distribution of the moving objects, but which restricts such variations
within certain limits. There may be failures in the form of blockings, which
cause a partial or total standstill of the system. Such blockings are either the
result of a lack of such moving objects, or the result of a jam (superfluity).
In the net representation of such systems, active system elements (proces-
sors, agents, machines) are represented as transitions, passive system elements
(buffers, stores) are represented as places. Moving objects are represented as
tokens. Then, blockings are visible as transitions which are not able to fire any
more. Such nets are not live. There are several notions of liveness; a marking
may be called live if, for each follower marking, there exists some enabled
transition, or if each transition may sometimes be enabled, or if each transition
may sometimes be enabled from each follower marking, or if each (or at least
one) follower marking is reproducible, etc. A net may be called live if, with
respect to any of the above liveness notions for markings, it can be provided
with a live marking.
In the following we use a notion of liveness which requires, for each
marking, the possibility of each transition being enabled.
The intuitively obvious conjecture that enlarging (adding tokens to) the
initial marking of a live net yields again a live net turns out to be false.
Figure 61 shows a counterexample.
74 Nets Consisting of Places and Transitions
Fig. 61. A live PIT-net. If, additionally, the place s is marked, this yields a net which is no
longer live
This liveness notion does not imply that each marking is reproducible, i.e.
for all M"M2 E[MN):M2 E[M,). Even then this is not the case, if all capaci-
ties are finite. An example of this is shown in Fig. 24.
It might be interesting to discuss Ii veness of markings:
(b) Definition. A marking M of a PIT-net N is live iff 'It E TN 3 M' E [M) such
that t is M'-enabled.
Then we get the following.
(c) Lemma. A PIT-net N is live iff all markings M E [MN) are live.
Proof N is live <=:> 'It E TN: t is live <=:> 'It E TN '1M E [MN) 3M' such that t
is M'-enabled <=:> '1M E [MN) M is live. 0
• c d
Exercises for Chapter 5 75
8. Rearrange Fig. 12 such that never only one process is reading. If two pro-
cesses are reading, a third one may join them.
Let w = e, ... en E../' (P) and let Dw be a slice as given in the definition of
For E ~ Ex; let A (E, w) = {i I ei E E}. Obviously, ), (E, w) =
../' (P).
Ir' (E) nD~I·
If w is embedded in a firing sequence Mo [e,) M, ... M n -, [en) Mn of Is.
!i (w, s) = A (E" w) - A (E2' w) denotes the effect of w to s, i.e. jl (w, s) =
Mn (s) - Mo (s) (as obviously Mn (s) = Mo (s) +), (E" w) - A (E2' w)).
jl (w, s) is the contribution of w to the variance v of p, defined by v (p, s) =
max{!i(w,s)lw E../(p)}-min{jl(w,s)lw E../'(p)}. v(p,s) defines the con-
tribution of p to the maximal variation of the number of tokens on s.
Define now 6 (E, , E 2 ) = sup {v (p, s) Ip E nx;} and show 6 = (J. (Ob-
viously it is sufficient to show v(p, s) = v (p, E" E2))'
b) Let I, Is, and ../'(p) be as above and let the set 9J( of markings of Is be
defined by: ME 9J( iff M (s) E N and there exists a case C E ex; such that
Vb E Bx;: M(b) = I if bE c andM(b) = 0 if b ¢ c.
Let 6 (E" E 2 ) = sup {Mn (s) - M~, (s) I ::3 p E nx; ::3 ME 9J( such that there
exist two firing sequences M[a,) M, ... M n-, [an) Mn and M[a;) M; ...
M~,_,[a~-)M~' with {a, ... an, a; ... a~,}~../'(p)}. Show that (J and 6 are
equal.
Chapter 6
Net Invariants
In this chapter, we are first concerned with sets of places of PIT-nets which
do not change their token count during transition firings. Knowledge about
any such sets of places not only helps in analysing liveness but also allows us to
investigate other properties of systems (for instance, facts in CI E-systems).
Such sets of places will be called S-invariants. Since invariants are charac-
terized by solutions of linear equation systems of the form lJ'· x = 0, (lJ' de-
notes the transpose of N, cf. Appendix VII) it is possible to compute them by
the well-known methods of linear algebra.
By means of two examples, a sender-receiver model and a seat-reservation
system, we shall discuss how to apply invariants to the construction and
analysis of systems.
As well as S-invariants, we also obtain T-invariants as solutions of lJ . x = o.
They indicate how often, starting from some marking, each transition has to
fire, to reproduce this marking.
6.1 S-Invariants
Fig. 62. The sum of tokens on the set {SI, S3, S4} of places is not changed by transition firings
This is equivalent to
I ! (s) = 0 and even to I £ (s) = o.
SE("/ut")nS SES
Fig. 63. The sum of tokens on all places of the net is not changed by transition firings
6.1 S-Invariants 79
(b) Lemma. Let i 1 and i2 be S-invariants of a net N and let Z E lL. Then i1 + i2
and Z . i 1 are also S-invariants of N.
Figure 64 shows invariants of the net of Fig. 62. The only invariants which
are characteristic vectors are i 1 and i 2 . In fact, they denote the sets {Sl' S3, S4}
and {Sl' S2, S4, ss}, which we previously recognized as sets of places with a con-
stant token count.
How can we now interpret the S-invariants which are not characteristic
vectors? The token count on the corresponding places is certainly not constant,
but on the other hand it does not vary without limit. Considering Fig. 62, we
can say that a token on Sl "counts" as much as a token on S2 and a token on .1'3
together. Similarly, a token on S4 "counts" as much as two tokens distributed
on .1'3 and Ss. Tokens on .1'1 and S4 have a "weight", which is twice that of tokens
t1 t2 t3 t4 ts i1 i2 i3 i4
81 -1 -1 2
8 2 -1 1 1
8 3 -1 -1
84 -1 2
8S -1 1
Fig. 64. The matrix and four invariants of the net shown in Fig. 62
80 Net Invariants
on S2, S3 and S5. If we consider these weights we find "weighted" token counts
on the net which remain constant during transition firings: Let MI and M2 be
markings of the net of Fig. 62 and let t E {tl' ... , t5} be a transition such that
MI [t)M2'
Then,
2 MI (SI) + 2 MI (S4) + MI (S2) + MI (S3) + MI (S5) =
2 M2 (SI) + 2 M2 (S4) + M2 (S2) + M2 (S3) + M2 (S5)'
Considering again Fig. 62, we find a further regularity concering the places
S2, S3 and S5. S2 and S3 always get (by t l ) the same number of tokens. The
tokens of S2 may flow to S5' From S5 and S3 the same number of tokens is
always removed (by t5). Hence the token count on S3 varies in the same way as
the sum of tokens on S2 and S5. Therefore, M (S3) = M (S2) + M (S5) for all reach-
able markings ME [Mo) of a marking Mo with Mo (S2) = Mo (S3) = Mo (S5) = O.
Using invariant i4 of Fig. 64 we have Mo . i4 = 0 = M . i4.
Then clearly f' Cs < 0 and, since i is positive, Cs ::;; i and therefore f . i < O.
So i is, under this assumption, not an S-invariant. For t E 'S\S', we find simi-
larly f' i> O. 0
This corollary corresponds to the intuition that sets of places with constant
token count are obtained from sets of arcs which lead from a place in 'I to a
place in t'.
(d) Theorem, Let N be a PIT-net. Then, for each S-invariant i of N and each
reachable marking M E [MN), M· i = M N ' i.
Proof Let M, M2 E [MN) and let 1 E TN such that MI [I) M 2. Then, in par-
ticular, M2 = MI + f (Corollary 5.2 (b)) and f' i = 0 (since i is an invariant).
Therefore M2 . i = (MI + D. i = MI . i + f . i = MI . i. 0
The converse of this theorem is only true if every transition may fire at
least once; in particular, it is true for live nets.
(e) Lemma, Let N be a live PIT-net and let i: S N ---+ 7L be a place vector such
thatJor all M E [MN), M· i = M N ' i. Then i is an S-invariant.
6.2 Nets Covered by S-Invariants 81
(g) Corollary. Let N be a PIT-net and let S ~ S N be a set of places whose charac-
teristic vector Cs is an S-invariant.
Then,forall ME [MN), L M(s) = LMN (s).
SES SES
Fig. 65. This net, which is live and contact-free with capacity 1, IS not covered by S-
invariants
82 Net Invariants
(c) Definition. A PIT-net N is called bounded iff MN is finite and there exists
n E N such that, for all ME [MN) and all S E SN, M (s) :0:; n.
Proof Let So E SN and let i be a positive S-invariant with i (so) > 0; let ME [MN)'
Since M(so)'i(so):O:; "i.M(s)·i(s)=M·i=MN·i. (Theorem 6.1 (d)), we
MN'i SE SN
haveM(so) :o:;~(
1 So
) . o
The converse of this theorem is not true, even if N is presupposed to be
live or if the limit for the number of tokens is assumed to be one. Figure 65
shows such a net.
s :
;3
processes which are ready
to write
t1 writing processes
s4:
s5: synchronization
to t1 t2 t3 t4 t5 i1 i2 MN
80 -1 -1 n
8 1 -1
8 2 -1
8 3 -1
8 4 -1 k
85 -1 -k k k
Fig. 67. Matrix, invariants iI' i2 and initial marking of the net shown in Fig. 66
corresponds to the number of processes which are allowed to read the buffer
concurrently.
With the invariants shown in Fig. 67, it is possible to prove the correctness
of the system design.
Using iI, we have, for each follower marking M E [MN):
4 4
LM(s;) = L MN (s;) = n.
;=0 ;=0
This means: The number, n, of processes remains constant and each process is
in one of the states so, ... , S4.
Using i2, we have, for each marking M E [MN):
M (S2) + k . M (S4) + M (ss) = MN (S2) + k . MN (S4) + MN (ss) = k.
Hence, we find: S4 contains at most one token under M; that is, there exists at
most one writing process. When S4 carries a token then S2 and Ss are empty. So,
while some process is writing, no other process reads the buffer. S2 carries at
most k tokens: there are at most k processes reading concurrently. When no
process is writing, that is, M (S4) = 0, then S2 may in fact obtain k tokens. Then
the synchronization place Ss is empty.
In particular, we prove the following
Proof For the reasons discussed above the given capacity KN will never hinder
any firing of transitions. We start by showing that each marking ME [MN)
enables at least one transition. In the case M (so) + M (S2) + M (S4) > 0, we see
from the net structure that at least one of the transitions to, t3 , t2 or ts is
84 Net Invariants
sending receiving
finished finished
sending reeeiving
finished message ehannel finished
x=n
ehannel for
"terminated"-
message
sending receiving
S1 finished S7 finished
x=n
channel for
"terminated"-
message
S,1
S12 • ) 4 - - - - - - - - - - - - - - - 1
controlling environment
Fig. 70. The sender-receiver system, enlarged by a cyclic control
86 Net Invariants
(P3 ) The sender (and receiver, respectively) is inactive if and only if it sent a
corresponding signal to the environment. It can leave the inactive state
only as a result of a signal from the environment.
(P4 ) If the sender has reached the inactive state, it cannot leave it again until
the receiver has also reached its inactive state.
(Ps) The decision of the receiver whether to receive or whether to become in-
active depends on the behaviour of the sender. In this respect, no con-
flict arises.
(P6 ) The receiver may only become inactive if the channel is empty and the
sender is inactive.
We prove these properties using the S-invariants shown in Fig. 71.
Let ME [MN) be an arbitrary reachable marking of M N. Using iI, we find
M (SI) + M (S2) + M (S3) = 1. Similarly using i2: M (S7) + M (S8) + M (S9) = 1.
This proves (PI).
81 -1
82 -1 -1
8 -1 -1
3
8 4 -1
8 5 -1 n -n
86 -1
8 7 -1
8 8 -1 -1
89 -1 n -1
810 -1 -1
8 11 -1
8 12 -1
8 13 -1
Fig. 71. Matrix, invariants i], ... , i6 and the initial marking MN of the net shown in Fig. 70
6.5 A Seat-Reservation System 87
update
output
input
i a
m.:= ...
,
m.
i: austomer identifiaation
a: kind of order (b for booking or a for aanaeLLing)
K: capaaity of P
k: number of seats reserved in P
q: number of cancelLed reservations for which the seats
are not yet reLeased.
Fig. 73. The seat-reservation system
achieved by the idea that cancelled seats are not immediately released for
reservation again. Instead, they are counted by the variable q and may be pro-
cessed by the updating module.
For considerations concerning liveness and boundedness, the dependencies
between W, P, k and q are crucial. The influences from the environment can
not be controlled within the system. Therefore, it is sufficient to consider the
part of the system represented in Fig. 74 and to formalise these inscriptions.
Thus, we have to presuppose that the six transitions t 1 , ••• , t6 are enabled at
unforeseen intervals whenever the associated conditions are fulfilled. In par-
ticular, the messages to customers do not influence liveness and boundedness.
90 Net Invariants
1~(i,W)1
t6
",,=[irst (W)
~
~(?:3P)
~ (x~W) & t4
x~p
& q:=q+l
i -+ W
t2 tJ
1~('i,W)
t6
x:=fir'st (1-/)
~(X3W)
q:=q+l
Fig. 75. Replacement of inscriptions concerning the passenger list in Fig. 74 by a new place P
q:=q-l &
t4
k:=k-l
fl
L . - - - - . . J t1
Fig. 76. Replacement of inscriptions concerning the waiting list in Fig. 75 by a place Wand
its complement W
6.5 A Seat-Reservation System 91
To start with, we formalize the passenger list and its processing. To do this,
a new place P is introduced and embedded in the system of Fig. 74 such that
its token count represents the actual number of seats reserved in the passenger
list. The corresponding inscriptions are deleted. Figure 75 shows the resulting
system, whereby P is empty under the initial marking M N .
As is the case of the passenger list, we organise the waiting list W as a new
place W with MN (W) = o. Of course, the waiting list (as the passenger list) has
a finite capacity, L. When it is also exhausted no further booking orders can be
processed. As well as W, we also introduce the complementary place TV with
MN (TV) = L. Figure 76 shows the result. (Notice that the introduction of com-
plements p of places p serves to test emptyness of p.)
To replace the remaining inscriptions, we introduce places for q and k with
MN (q) = MN (k) = 0 as shown in Fig. 77. For k, we also introduce the comple-
ment k with MN (k) = K.
The self-loops in the system of Fig. 77 are decomposed as shown in Fig. 78.
Using the invariants given in Fig. 79, we are now able to prove the proper-
ties (PI)' (P2), (P3) formulated above. In the following, let ME [MN) be an
arbitrary reachable marking of M N .
Using iI, M(P) +M(q) +M(k) +M(y) = A!.p(P)+MN(q)+MN(k)+
MN (y) = K. This implies M(P) = K - M (q) - M (k) - M (y) ~ K and hence
(PI).
Assume the passenger list P is totally booked. Then the number of actually
reserved seats M (P) together with the not yet released seats M (q) exhausts
92 Net Invariants
x -1 -K K
Y -1 L
k -K K -1 -1
k -1 K
W -1 -1
W -1 - L L L
P -1
q -1 -1
Fig. 79. Matrix, invariants i J , ••• , i4 and the initial marking MN of the net shown in Fig. 78
6.6 The Verification of Facts in CIE-Systems by Means of S-Invariants 93
booking by adding him to the passenger list (firing of t]): K is marked. This
is realised by firing t42 and requires that y was marked under some marking
M 2 E[M). Using i 4 , M(x)+L·M(y)+M(W)+M(W)=L and hence
M2 (W) = O. This proves (P3).
Consider again the two systems shown in Fig. 51 and Fig. 52. We shall
show that the T-elements t and t], t 2 , respectively, are facts by regarding these
systems as PIT-nets with capacity one. The initial markings are the cases rep-
resented in Fig. 51 and Fig. 52 respectively.
First, we consider the system of Fig. 51. CB, B = {b], ... , b4 }, is an S-in-
variant and we have, for the represented case d, d n B = 1, i. e. Cd· CB = 1.
1 1
Using Theorem 6.1 (d), we have, for all reachable markings d', Cd'· CB = 1, i.e.
I d' n B 1= 1. Since I' t n B ! = 2, t will never be enabled.
e1 e2 e3 e4 i d
b1 -1 1
b2 -1 1
b3 -1
b" -1
bs -1
b6 -1 -1
b? -1 -1 1
Fig. 80. Matrix, an invariant and the initial marking of the net shown in Fig. 52
94 Net Invariants
Figure 80 shows the matrix, an invariant i and the initial marking d of the
system of Fig. 52. This yields d· i = -1. Using i, we find, for all reachable
markings M, M (b s) - M (b 6 ) - M (b 7 ) = -1 and hence M (b 6 ) + M (b 7 ) =
M (b s) + 1. So, if b6 and b7 are marked then bs is also marked and t2 is a fact.
On the other hand, if b s is marked then, in particular, b 7 is also marked and
tl is a fact.
There is no general rule how invariants can be applied for the verification
of facts. How they can be applied depends on the particular case.
6.7 T-Invariants
(a) Theorem. Let N be a PIT-net, let M o, ... , Mn E [MN) and let t l , ... , tn E TN
such that Mo [tl) MI'" [tn) M N. Let v: TN -4 N be given by v (t) =
I{i 11 ~ i ~ n /\ ti = t} I. Then Mo + J::l . v = Mn.
Proof By induction on n. n = 0: Mo + J::l. 0 = Mo + 0 = Mo. Now assume the
proposition is true for n - 1. For v': TN -4 N, defined as v' (t) = I {i 11 ~ i ~ n-l
/\ ti = t} I we have by the induction hypothesis Mo + J::l. v' = Mn - I ' Further-
more Mn = Mn -I + fn = Mo + J::l. v' + tn = Mo + J::l. v' + J::l. cln = Mo +
J::l(v'+ctJ=Mo+J::l·v. D
The converse of this theorem is in general not true since, for the realization
of some vector v: TN -4 N, enough tokens and enough free capacities are
needed.
Fig. 81. The T-invariant i, given by i (f l ) = i (f2) = i (is) = i (f6) = I and i (f3) = i (f 4) = 0, is
not realizable
(i) Definition. A PIT-net is called covered by T-invariants iff, for each transition
t E TN, there exists a positive T-invariant i of N with i (t) > O.
Proof For t E TN, let it be a positive T-invariant with it (t) > O. Then, using
Corollary 6.7 (f), i = L it is a T-invariant fulfilling the requirements. D
t E TN
(k) Theorem. Every PIT-net which is finite, live and bounded is covered by T-
invariants.
Proof If N is finite and live then YM == [MN) ::3ME [M):Mo[tI) ... [tn)Mn
with Mo =M and Mn = M and TN = {t l , ... , t n }. If, furthermore, N is bounded,
then q=[[MN)IEN. Then, for i=O, ... ,q, there exist firing sequences
~ [ti) ... [tin) Mt with TN = {ti" ... , tin), Mo = MN and Mi = Mi + I. Then
there exist two indices 0 :s; j < k :s; q such that Mj = Mk and a firing sequence
~ [tf) ... [t~) Mk such that Y t E TN ::31:s; i :s; m : ti = t. Let the vector
v: TN --7 N be defined as v (t) = I{i 11 :s; i:S; m /\ ti = t} I. Using Theorem 6.7 (a),
~ + lJ. . v = Mk and therefore lJ.. v = 0, because ~ = M k . Since Y t E TN:
v (t) > 0, v is a T-invariant which covers N. D
3. Show that the following net has T-invariants which are not realizable:
Chapter 7
In this chapter, we investigate marked nets; these are special P / T-nets which
are suitable for many applications. The liveness analysis for such nets is not
much simpler than for P / T-nets in general, but there are special classes of
marked nets for which criteria for liveness or safeness are known. These cri-
teria are the main topic of this chapter.
(a) Definition, A PIT-net is called a marked net iff, for all s E SN, MN(S) EN,
KN (s) = W, and for all P E F N, WN (P) = I.
~,
\ deadlock
\
I
/
Deadlocks are critical system parts for liveness analysis, because transitions
may never be enabled again if they contain places of an unmarked deadlock in
their preset.
Dual to deadlocks, there are also system parts which will never lose all
tokens again after they have once been marked. This is the case for some set
of places, S, if every transition removing tokens from S also puts at least one
token onto S. For this, we must have, for the set of transitions S·, that S· <;; •S
(Fig. 82). If S fulfils this condition then S is called a trap. A trap may be found
using the following procedure: Let So be a place which belongs to the trap, S,
we want to construct. Then, as well as so, for all transitions t E so, at least one
place Sl E [" must belong to S; that is, So <;; • S. Now we iterate this and always
require, for new elements S E S, that s· <;; • S, we terminate when V S E S:
s· <;; • S. This is equivalent to the condition S· <;; • S derived above.
A deadlock which contains a marked trap as a subset will never become
empty. Therefore, such deadlocks are important for liveness analysis.
/"
I
/ --,\ deadlock
\ and
I trap
I -'/
\
a deadlock but
not a trap
(c) Corollary. Let N be a marked net with a positive S-invariant i and let S =
{s E SN Ii (s) > O}. Then S is a deadlock and also a trap.
Proof (i) Let S be unmarked under M, let M[t) M'. Assume S is marked under
M'. Then t E •S. If S is a deadlock then t E S·, but this is not possible
since t is M-enabled.
(ii) Let S be marked under M, let M[t) M'. Assume S is unmarked under
M'. Then t E S·. If S is a trap then t E ·S. So S is marked unter M'.
(iii) ·S, r;;;. Sj A ·S2 r;;;. Si => ·(S, u S2) = ·S, u ·S2 r;;;. Sj u Si = (S, u S2f.
°
(iv) Sj r;;;. ·S, A Si r;;;. ·S2 => (S, u S2r = Sj u Si r;;;. •S, u ·S2 = ·(S, u S2).
(v) follows using (iii) and (iv), since is a deadlock and a trap. 0
For the class of all marked nets, we have the following relation between
deadlocks, traps and reachable dead markings.
Proof Let ME [MN). Using Corollary 7.1 (d) (ii), each deadlock S =!= of N
contains a trap which is marked under M. Hence each non-empty deadlock of
°
N is marked under M The Theorem follows from the above Lemma 7.1 (f). 0
7.2 Free Choice Nets 101
is, ti fires. This is achieved by the requirement that tJ , ... , tn possess only one
common place s E 't i and no further places in their presets. This means, in
short, that the output transitions of a forward branched place may not be
branched backwards. This is equivalent to the requirement that, for each arc
(s, t) E FN , s' = {t} or 't = {s}. Since, in such nets, one transition out of several
transitions involved in a conflict may be chosen freely and independently to
fire, they are called Fee choice nets.
(a) Definition. A marked net N is called a free choice net iff, for each arc
(s, t) E FN " (SN x TN), s· = {t} V t' = {s}.
Proof (i) => (ii): Ifls'l > 1 then, for each t E s',s'=j= {t}. Using (i),'t = {s}.
(ii)=> (i): Let (s,t) EFN " (SNxTN). Ifls'l=1 then immediately s'={t}.
If Is'l > 1, using (ii), 't = {s}.
(i) =>(iii): Let t E sj n S2' Since {Sl' S2} ~ °t, °t =1= {sd and °t =1= {S2}. Using (i),
sj = {t} and S2 = {t}.
(iii) => (i): Let (Sl' t) E FN n (SN x TN)' If °t =1= {sd, there exists S2 E SN,
S2 =1= Sl, with t E S2. Then t E sj n S2 =1= 0 and, using (iii), sj = {t}.
(iv) is obviously equivalent to (ii). 0
(c) Lemmao Let N be afree choice net and let T ~ TN' If CTr may be enabled in
[MN) then Tmay be enabled in [MN) too.
Proof Let tl E T, s E °tl and t2 E sO\T (Fig. 85). Since tl =1= t2, we have SO =1= {td
and SO =1= {t 2}. By the definition of free choice nets, °tl = °(2 = {s}. t2 is enabled
if and only if s is marked. But, in this case, tl is enabled too.
1--'-·---'
1 t 1 :T
L ____ J
:---;;1
___ J
(. T)' \ T
,/
'T
\
'-
--_ ...... /
(e) Lemmao Let N be a free choice net and let T ~ TN be a set of transitions none
of which is enabled by any marking in [MN)' Then there exists a marking
ME [MN) such that none of the transitions in "("T n M) is enabled by any mark-
ing in [M).
{ (
"
8
"
i"Tn"M
"' \"n'
I "
\" ./ 01
---
'-...~- /
-....... /'
We shall show indirectly that a free choice net N is live if every deadlock
contains a trap marked under M N. To do this we start from a set T s; TN oftran-
sitions which may not be enabled in [MN). We construct a deadlock Q s; "T
which is unmarked under some reachable marking M' E [MN). Q contains traps
(Corollary 7.1 (d) (v)). Using Corollary 7.1 (d) (ii), these traps must already be
unmarked under M N •
(1) Lemma" Let N be a marked net and let T s; TN. If"("T n M N) S; T then
either there exists a transition in T which is MN-enabled or "T n MN is an un-
marked deadlock.
!-~--t--l.
I T
,."..,,"':-- ~~~~"'""
/ " Q
I /
"----'"
Fig. 87. Illustrating the proof of Lemma 7.2 (f)
o
(g) Theorem" Let N be a free choice net and let T S; TN be a set of transitions none
of which is enabled by any marking in [MN). Then there exists a marking
ME [MN) and a deadlock of N which is unmarked under M.
Lemma 7.2 (e), there exists a marking ME [MN) such that no transition in
·(7 n M) may be enabled in [M). If ·(7 n if) <:::::: T the result follows using
Lemma 7.2 (f). Otherwise, let tE·(7nM)\T. Since Tu{t} may not be
enabled in [M) (Lemma 7.2 (e)) and ITN\(T u {t}) 1= n, we have by the induc-
tion hypothesis: There exists a marking M' E [M) such that some deadlock of
Nis unmarked under M'. In particular, M' E [MN)' 0
(h) Corollary. Let N be a free choice net. If every non-empty deadlock contains a
trap which is marked under MN then N is live.
Proof If N is not live then there exists a marking ME [MN) and a non-empty
set of transitions which may not be enabled in [M). Then, using Theorem
7.2 (g), there exists a marking M' E [MN) and a deadlock Q which is unmarked
under M'. Corollary 7.1 (d) states that Q may not become empty in [MN) if Q
contains a trap which is marked under M N . 0
We have derived a criterion for the liveness of a free choice net and shown
that it is a sufficient condition. Next, we shall show that it is also a necessary
condition. For this, we assume a non-empty deadlock Q which does not con-
tain a marked trap under the initial marking. By firing the appropriately
chosen transitions of Q.\.Q the token count on Q is reduced until no transition
of Q. may fire any more. This is possible if all traps of Q are unmarked. Then
only tokens of the places in Q\QI, where QI is the maximal trap in the dead-
lock Q, have to be removed as far as possible. To each place s E Q\QI , a tran-
sition a (s) E s· is allocated. One difficulty is that these transitions a (s) have to
be fired in such a way that those transitions a (s) which are not enabled may
not be enabled again.
(i) Definition. Let N be a marked net and let S <:::::: S N. A mapping a: S --+ S· is
called an allocation.
An allocation a is called cyclejree iff there is no set of places {so, ... , sn} <:::::: S
such that Si E a (Si-I)" (i = 1, ... , n) and So E a (sn)". An allocation a partitions
S· into the set a (S) of images of a and the set {i (S) = S·\a (S).
(j) Lemma. Let N be a marked net and let S <:::::: S N be an arbitrary set of places.
Let QI <:::::: S be the maximal trap in S and let Q2 = S\QI. Then there exists a
cyclejree allocation a: Q2 --+ Qi such that a (Q2) n ·QI = O..
°°
Proof By induction on I Q21. I Q21 = 0: Then a: --+ fulfils the requirements.
Induction hypothesis: The proposition is true if IQ21 = n. Now let I Q21 = n + 1.
Then there exists some place So E Q2 and some transition t E TN such that
So E·f and [" n QI = 0 (Fig. 88). With Q2 = Q2\{SO}, QI is the maximal trap in
QI u Qz. Then, by the induction hypothesis, there exists a cycle-free alloca-
tion a': Qz --+ Qr such that a' (Q2) n ·QI = O. Now we define the allocation
a: Q2 --+ Qi by a (s) = a' (s) for s E Qz, a (so) = t. Since a (so) n ·QI = t n ·QI = 0,
we have a (Q2) n ·QI = a (Qz u {soD n ·QI = O. Since a (so)" n Q2 = [" n Q2=0,
7.2 Free Choice Nets 105
So does not belong to any cycle of Q2' Therefore, as r:t.' is cycle-free by the in-
duction hypothesis, r:t. is also cycle-free. 0
/--- ,,----
(
----~
\ I
l\ s1
L._ /
'-
\
\ /
\ /
"\ /
" '-----/ /
trap Q1
Fig. 89. An example for Lemma 7.2 (j)
(k) Theorem. Let N be afree choice net and let Q ~ SN be a deadlock such that
the maximal trap of Q is unmarked under M N • Then there exists a marking
ME [MN) such that Q. may not be enabled in [M).
106 Liveness Criteria for Special Classes of Nets
- - - - - - - - - - - - - - - - ---------..::.;".---
"-\
'\
; \ Q1
/ \
./ \
1------ - Q
1
I Q2
I
I
Fig. 90. A deadlock Q with the maximal trap QI' The thick arcs represent a cycle free allo-
cation of Q2' The sets Bo, ... , B3 of places are also represented
Proof Let QI be the maximal trap of Q and let Q2 = Q\QI' Using Lemma
7.2 (j), there exists some cycle-free allocation r:t. of Q2 such that r:t. (Q2) n 'QI = 0.
The following notions will be applied during this proof: Call a marking
M" E [MN) properly reached iff there exists a firing sequence MN [t l ) MI'"
Mn- 1 [tn> Mn such that YI:-:;; i:-:;; n: tj <t Ii (Q2)'
For s, s' E Q2 let s < s' iff :3 So , ... ,Sn with r:t. (Si) E 'Sj + 1 (i = I, ... , n) 1\ So = s
1\ Sn = s'. S ~ Q2 is left closed iff Y s E S, S' E Q2 : s' < s => S' E S.
A subset S ~ Q2 is detached by a marking M iff for all properly reached
markings M' E [M), no transition in r:t. (S) is M'-enabled. The proof will be based
on five propositions:
Proposition 1. For some place s E Q2 let S = {s' E Q21 s' < s} be detached by a
marking M Then there exists a properly reached marking M' E [M) such that
S u {s} is detached by M'.
Proof Let Q2 = {SI' ... , sn} such that, for all 0:-:;; i:-:;; n, Sj = {Sl' ... , sd is left
closed. As Q2 is finite, this can easily be achieved.
For each subset Sj (0 :-:;; i:-:;; n) we show by induction on i that there exists
a properly reached marking M j E [MN) such that Sj is detached by Mi. For
i = 0, Sj = 0 and the Proposition holds with M = M N .
By induction hypothesis assume a properly reached marking M j E [MN)
such that Sj is detached by Mi. With Proposition I, there exists a properly
reached marking M i + 1 E [M) such that Si+1 is detached by M i + l • Obviously,
M;+I is properly reached from M N . For i = n, the Proposition follows.
7.2 Free Choice Nets 107
Proof By construction, Q" = Qi u lI. (Q2) u IX (Q2)' For t E Qi, apply Proposi-
tion 3. For tEll. (Q2) notice that Q2 is detached by M. So, let t E IX (Q2). Then
there exists a place s E Q2 such that t E s" and t =1= lI. (s). By the free choice
properly of N, "t = "lI. (s) = s. As lI. (s) is not M-enabled, M (s) = 0, hence t is
also not M-enabled.
(I) Corollary" Afree choice net N is live if and only if every non-empty deadlock of
N contains a trap which is marked under M N.
(m) Corollary" Let Nand N' be free choice nets such that (SN, TN; F N) =
(SN' , TN'; FN') and MN :s; M N,. Then the liveness of N implies the liveness of N'.
108 Liveness Criteria for Special Classes of Nets
Figure 61 shows that this conjecture turns out to be false for the general
case of marked nets.
(b) Definition. Let N be a marked graph. A sequence w = (so, ... , sn) of places
is called a path of length n iff, for i = 1, ... , n, S;·_I = ·s; and for all 1 ::;; i =l= j ::;; n
s; =l= sj /\ ·s; =l= ·Sj. w starts at ·so and ends at s~. w is called a cycle iff w is a path
such that ·so = s~ .
(c) Lemma. Let N be a marked graph and let (so, ... , sn) be a cycle of N. Then,
n n
for all markings M E [MN), L, M (s;) = L, MN (s;).
;=0 ;=0
(d) Corollary. If a set of places of a marked graph is a cycle then its characteristic
vector is an S-invariant.
Exercises for Chapter 7 109
(e) Theorem. Let N be a marked graph. N is live if and only if every cycle of N
contains at least one place which is marked under M N.
Proof If there is a cycle which has all places unmarked under MN then, using
Lemma 7.3 (c), these places are also unmarked under all markings reachable
from M N • Hence the transitions belonging to this cycle may not be enabled
in [MN).
Conversely let ME [MN). Using Lemma 7.3 (c), every cycle contains at
least one place which is marked under M. Since N is finite, there may not be
arbitrary long paths in N such that all places on the path are unmarked un-
derM.
Now let t E TN and let n be the maximal length of the unmarked paths
under M N , ending with t. The start transition of each such path is enabled
(otherwise there would be a longer unmarked path). Now it is possible to fire
all these transitions independently of each other. This yields a marking
ME [MN) such that the maximal length of the paths unmarked under M, ending
at t, is n - I. The iteration of this procedure yields, after n - I steps, a marking
such that t is enabled. 0
(0 Definition. A PIT-net N is called safe iff, for all ME [MN) and all s E SN,
M(s) :::;; 1.
(g) Theorem. Let N be a marked graph which is live. N is safe if and only if each
place s E SN belongs to a cycle, which possesses exactly one place which is
marked under M N.
(h) Corollary. A marked graph N is live and safe if every cycle of N contains at
least one marked place and if every place of N belongs to a cycle which contains
exactly one marked place.
1. For which initial markings MN of the following net N do not any dead
reachable markings M E [MN) exist?
110 Liveness Criteria for Special Classes of Nets
2. Does an initial marking exist such that the following net is live?
3. Construct an initial marking such that the following marked graph is live
and safe:
*4. Show that the initial marking of each marked graph can be modified such
that a live and safe marked graph is obtained.
Part 3. Nets with Individual Tokens
The markings of the nets considered so far are fully determined by the number
and the distribution of tokens on the S-elements. Now we shall allow indi-
vidual objects as tokens. A marking then also depends on the nature of its
tokens. We have already seen an example for such a net, called a predicate I
event-net, with the library system in Fig. 18. As in Sect. 4.5, we shall show how
relations between individuals which hold in all cases may be formulated in
predicate logic. Again, they may be represented, in such nets as T-elements
which are never enabled. A concept of "invariants" (as used for PIT-nets in
Chap. 6) again helps us to verify properties of such nets. Such invariants will
be defined for relation nets, which are introduced in Chap. 9.
The step from predicate/event-nets to relation nets is the same as from
CI E-systems to PIT-nets: Instead of single individual objects we allow several
individuals of the same kind. Then a linear algebraic calculus may be used to
compute invariants.
Chapter 8
Predicate/Event-Nets
Uz
t,
true may be modified by events. Such events are again represented as T-ele-
ments connecting the predicates. The arcs are labelled to indicate which ob-
jects are affected by an event. In this way we obtain the representation in
Fig. 94, equivalent to the system shown in Fig. 92.
In Fig. 94, the events 11 ,12 and 13 have equal pre- and postsets; they only
differ with respect to the affected objects. These three events can be repre-
sented by one single T-element as shown in Fig. 95; the affected sets of objects
are indicated by arc inscriptions consisting of variables and functions. The
functions I and r associate with each philosopher his left and his right fork,
respectively. It is possible to derive the concrete events Ii (1 :;:;; i :;:;; 3) from the
event schema t by substituting for the variable x the respective philosopher Pi.
Correspondingly, the T-element u in Fig. 95 is a unification of the events UI,
U2 and U3 of Fig. 94.
P = {Pl'P 2 ,P S }
x G = {gl,g2,gS}
x
UN = PUG
t(x)
t
r(x) l: P-- G
Pi .... gi
x r: P -- G
PC
P2 g2
g3
P 3>-> g1
Fig. 95. The system of philosophers using predicates and event schemas
8.2 Predicate/Event-Nets
Using these notions, we are now able to define the class of nets we dis-
cussed informally in the previous section and for which Fig. 95 shows an
example.
We denote the six components of a PIE-net N by P N, EN, FN, J)N, AN, CN.
In the following we assume the set of variables X and write Y (N) for
Y (J)N, X), and Jfor AN (f) (f E FN). In Fig. 95, the sets of terms, J, are written
without brackets.
To decide whether an event e of a PIE-net is enabled, one has to consider
valuations P and to apply them to the arc inscriptions around e. For arcs (p, e)
the set pep, e) must be contained in the marking of p, for arcs (e, p) no element
of P(e,p) may already be contained in the marking of p. When e occurs, the
elements of pep, e) are removed from the predicates p E °e, and the elements
of P(e, p) are added to the predicates p E eO. Figure 96 shows an example.
Fig. 96. The occurrence of the event t in the system of Fig. 95 with f3 (x) = P2
116 Predicate/Event-Nets
C (P) otherwise.
We say, e transforms the case c to c' under 13, and we write c [e)p c'. Let
[CN) be the smallest set which contains CN and which is closed with respect
to event occurrences.
To represent a case c graphically, the elements c (P) are written into the
circle for p.
start of cycle
initialization
initial values
compute ne1J
values
computed values
delete values
Fig. 97. The System of Fig. 11, represented as a PIE-net with !2 = ({ 0, 1), {v, I\})
8.3 An Organization Scheme for Distributed Databases 117
pix) ... P. p
passive
sites
All updates of the database have to be carried out in the same way in all
copies of the database. An update is invoked by a particular site, called the
sender, which sends a message to all other sites. Each receiver of such a
message updates its copy of the database and sends an acknQwledgement back
to the sender. The update is successfully completed when the sender has
received acknowledgements from all other sites. Since all sites act according to
the same scheme we are able to model them as tokens in one single net
(Fig. 98).
The message interchange is realized by packages which contain the update
message and which are labelled with the identification of the sender and the
receiver. Since we are only interested in the organization of the updates and
not in the contents of the update messages, we represent each package by a
pair consisting of sender and receiver identifications.
Let K = {~, ... , dn } be the set of involved sites. As long as no messages are
being interchanged, the predicate "idle component" is true for all sites d; and
the predicate "inactive package" is true for all packages (d;, dj ) (see Fig. 98).
A site d; E K invokes an update procedure by occurrence of the event el with
fJ (x) = d;. Then all packages PI (d;), ... , Pn (d;) with Pj (d;) = (d;, dU+j ) mod n) are
The set of objects for which some predicate of a PIE-net is true changes by
event occurrences. Nevertheless there may be relations between predicates
which hold for all cases. By analogy with CI E-systems, such relations may be
expressed as logical formulae and may be represented as T-elements which are
never enabled. In this section we shall derive, as in 4.5, a dependency between
the validity of logical formulae and the possibility of events to be enabled.
First, we define those logical formulae which we need to build facts. In
terms of the predicate calculus, we have first order formulae in prenex normal
form without existential quantifiers. The universal quantifiers may then be
omitted.
p (t)
1-+ {I iff /3(t) E c(P) (l == true),
o iff /3(t) ¢ c (P) (0 == false),
al 1\ a2 1-+ min {cp (ad, Cp (az)},
al Vaz 1-+ max {cp (al), Cp (az)},
al ----ta2 1-+ Cp (,al V (2),
,a 1-+ 1- cp(a).
(iii) For each case c of N, let the function c be defined as c: d N ----t to, I},
h
were
'()
c a =
{I
iff,forallvaluations/3,cp(a)=J,
.
o
otherwIse.
(iv) Two formulae al ,a2 E d N are called equivalent (we write ttl == (2) iff, for
each case c of N, c (al) = c(al).
120 Predicate/Event-Nets
(c) Theorem, Let N be a finite P / E-net and let e E EN. Then, for each case
c E [CN): C(a(e)) = I iff e is not c-enabled with any valuation fJ.
By analogy with 4.5, we saw in the previous section that T-elements which
never become enabled represent formulae which are valid for all cases. Now
we shall show that each valid formula may be represented by such T-elements.
x x x
x x x
Figure 100 shows some facts in the system of the dining philosophers.
Their meaning may be explained as follows:
tI: I (d (x) 1\ e (x)): A thinking philosopher is not eating and an eating phi-
losopher is not thinking.
t2: p(x) --+ d(x) V e(x): Each philosopher is either eating or thinking. There
is no other activity represented in this system.
t3: g (l (x)) --+ d (x): Whenever the left fork of some philosopher is not being
used then he is thinking.
t4: As t3, with respect to the right fork.
t5: I (e (x) 1\ g (I (x)): whenever a philosopher is eating then his left fork is
not available, and whenever his left fork is available he is not eating.
t6: As t5, with respect to the right fork.
(e) Theorem. Let N be a P / E-net and let a E .9/N' a is valid in N iff there exist
facts t I , ... , tn such that a is logically equivalent to a (tI) 1\ ... 1\ a (tn).
Proof The if-part follows immediately using Theorem 8.4 (c). Conversely, a
can be transformed into a logical equivalent formula a' = 0,\ 1\ ... 1\ ak in con-
junctive normal form. Each a g (1 S g s k) is a term of the form I qI (t I ) V ...
v,qn(tn)Vqn+I (t n+I) v ... vqm(tm) with qI, ... ,qmEPN andtI, ... ,tmE.'T(N).
For each PEP N, let Yp={ti!lsisnl\qi=p} and ~={tj!n+lsjsm
I\qj=p}. Now let tg be a new element with ·tg ={p!Yp=l=0} and t;=
{p! ~ =1= 0}, and let (p, tg) = Yp and (tg, p) = ~. Cleaily, ag = a(tg)
(g=l, ... ,k). Hence each tg is a fact and a is logically equivalent to
a(t I) 1\ ... 1\ a(tg). D
In the normal form we are going to construct, we shall reduce the number of
variables in the environment of events. Instead of variables x], ... , Xn which
are valuated by single elements of DN we use one variable x which is now
valuated by objects of (DNt. The variables Xi are then simulated by projec-
tions. So only the arc inscriptions have to be changed and other valuations of
the variables have to be used for event occurrences.
(a) Definition. Let N be a finite PIE-net and let X = {x], ... , x n } be the vari-
ables occuring in terms of N.
(i) With DN = (D, (/)), let J]:= (D u Dn, (/) u {pri I ~ i ~ n D. We associate with
each term t E.Y (N) a term t EY (J], {x}) i~he following way:
t= pri(X) iff t = Xi (1 ~ i ~ n),
i= f(~, ... , t,.) iff t = f(t] , ... ,tn)'
(ii) Let IV = (PN, EN; F N, J], A, CN), where A(f) = {ilt E AN (f)}.
(d) Definition. Two PIE-nets Nand N' are called equivalent iff D N = D N' 1\
EN=EN'I\FN=FN,I\(YC],C2E[CN), YeEEN:there exists a valuation fJ
with C] [e)p C2 in N iff there exists a valuation fJ' with C] [e )p' C2 in N').
in N
ditional predicates which must be fulfilled before an event occurs and which
are not changed by the occurrence of this event. In the calculus of P / E-nets
they have to be represented as additional S-elements.
For system design, it is of course recommended that more than one vari-
able is used and that events are labelled by conditions. Such conditions have
only to be substituted if system properties are represented as facts. Also the
restriction to one variable in the environment of events is necessary only if
invariants are to be calculated.
*3. Supplement the system of dining philosophers (Fig. 95) with a fair
schedule such that each philosopher who wants to eat, will eventually be
able to eat.
Chapter 9
Relation Nets
After introducing PIE-nets, we now present a further net model using in-
dividuals as tokens. This new model, in particular, supports a calculus of in-
variants.
In Chap. 6 we introduced the idea of invariants for PIT-nets. Now we
generalize the notion of markings of PIT-nets to individual tokens in the same
way as we generalized the notion of cases of C IE-systems, when defining PI E-
nets. A marking will now indicate, for each place, not only the number but also
the sorts of its tokens. Thus a marking M (s) of some place s is a mapping
M(s): D ---+ N giving for each sort dE D the number of tokens of this sort d
on s. Whenever a transition fires, the distribution of the typed tokens over the
places is changed.
We recall, from Chap. 6, some prerequisites for the construction of S-
invariants. For expressions of the form l'f' . x = 0 or i· M = i . MN to be sen-
sible it must be possible to multiply matrix entries with each other and with
markings, the results of these operations have to be summed. With respect to
addition, a neutral element "0" is required and the multiplication must be
distributive over the addition.
As the arc inscriptions are used as matrix entries, these inscriptions and the
whole net model must be chosen in such a way that such operations are pos-
sible. As the arcs will be labelled using relations, the resulting nets will be
called relation nets.
We shall show in which way PIE-nets may be considered as special
relation nets. Using a matrix representation, a calculus for S-invariants is ob-
tained. This may be used to verify facts.
We start with the illustration of the main idea underlying the concept of rela-
tion nets, by considering a special case. We show how to represent PIE-nets as
relation nets. Every PIE-net may be transformed into a relation net in the fol-
lowing way: Each arc inscri ption 1 of a PIE-net in normal form yields, for each
valuation fJ of the variable x, the set fJ (f) s; D. Hence we may consider the
meaning of 1 as a set of tuples (fJ(x),y) with y E fJ (f), i.e.l denotes the
relation {(a, b) 1::J valuation fJ with a = fJ (x) and b E fJ (1)} s; D x D}. A transi-
tion t fires with respect to some parameter d by removing, from each place
Introductory Examples 125
id 'i id
'd
t4
t6 id
id
Fig. 102. The dining philosophers represented as a relation net (cf. Fig. 100)
S E °t, the elements (s,t) [d] and by adding to each place s E to, the elements
(t ,s) [d] (see A6 (iv)). Figure 102 shows a relation net with the same meaning
as the net shown in Fig. 100. Thereby the graph of a function is considered as
a relation (id denotes the identity relation).
We see that, when constructing a relation net N' from a P / E-net N,
markings M (s) <;: D are represented by their characteristic mapping M (s):
D --4 {O, l}. Each arc inscription ]<;:Y(!2, {xD of N is transformed into a
relation] <;: D x D which again may be considered as a characteristic mapping
l: D x D --4 {O, I}. In the general case, we shall have markings of the form
M(s): D --4 IN and arc inscriptions of the form]: D x D --4 IN in relation nets. A
transition t fires with respect to some parameter a by removing, from each
Let D={a,b} .
P4(X,y) =2
for X,Y ED
r:::\~
~
mar7cing after finne wi th a marking after firing wi th b
Fig. 103. The firing of a transition, t, of a relation net
126 Relation Nets
Fig. 104. The system of reader and writer processes of Fig. 66, identifying single processes
place s E 'f, (s, t) (a, d) elements of each sort d E D and by adding, to each
place s E (, (f,S) (a, d) elements of each sort d ED.
It is convenient to use relation nets if several individuals of some sort do
not have to be distinguished. One should not be forced to distinguish indi-
viduals if one doesn't wish to. This would lead to overspecification. The sys-
tem of reader and writer processes shown in Fig. 66 is an example of this.
There it might be convenient to distinguish the processes but it is certainly not
necessary to distinguish the k control tokens. Figure 104 shows a representa-
tion as a relation net where this is realized. Mappings of the form A: D --+ 7L
and Q: D x D --+ 7L will, in the following, be called multisets and multirelations,
respectively. These names reflect their nature as generalizations of charac-
teristic mappings of sets and relations, respectively.
(..§l) A+B: D -4 7L
d 1--* A (d) + B (d),
~2) z·A: D-47L
d 1--* z . A (d),
For the handling of multi sets in our calculus the following notations and short-
hands are convenient:
l
(iii) A transition t E TN which is M-enabled with d yields a follower marking
M'of Mby
M(S) - (i,t) [d] iff S E ·t\t",
M' , _ M (s) + (t-;S) [d] iff S E (\·t,
(5) - M(s) - (i,t) [d] + (0) [d] iff S E ·t n (,
M (s), otherwise.
We say tfiresfrom M to M' and we write M [t)d M'.
(iv) Let [M) be the smallest set of markings which contains M and which is
closed with respect to transition firings.
(a) Definition.
(i) Let 11 be an algebra. For terms t E.Y (11, {x}), let the multirelation
Q(t): D2 --+ {O, l} be given by Q(t) (a, b) = 1 iff there exists a valuation p
with a = P(x) and b = P(t).
(ii) Let N be a PIE-net in normal form with terms over {x}. Let QN: FN --+
~+ (DN) be defined as QN (f) = L. Q(t). By Definition 8.2 (b) we have
tel
QN(f) (a, b) ::;: 1. For arbitrary cases e of N, let Me: PN -+JI+ (DN) be de-
fined as Me (P) (d) = 1 iff dEe (P), and Me (P) (d) = 0, otherwise.
(b) Theorem. Let N = (P, E; F, 11, .Ie, e) be a P / E-net in normal form and let the
relation net N' be given by N' = (P, E; F, K, D, QN, Me) with Vp E P: K (P) = 1.
Then, Ve, e' E eN Ve E E V valuations p: {x} --+ D: e [e)p e' in N iff Me [e)p(x)
Me' in N'.
°:
<;:::> (V dE D with QN (p, e) (p (x), d) = 1 : Me (P) (d) = 1 1\ Me' (P) (d) =
Analogously, Vp E e'\'e: c' (P) = C (P) up (p, e) <;:::> Me' (P) = Me (P) +
[P (x)]. By a similar treatment of the remaining cases the result fol-
QN (p, e)
lows. 0
(a) Definition. Let D be a set. Let a ED, A E vii (D), 0, a E f?hJ (D) and z E lL.
The addition and the product with integers for multirelations are given as
the corresponding multiset operations:
(f?hJ1) 0 + a: D2 ~ lL (f?hJ2) z· 0: D2 ~ lL
(a, b) 1-+ 0 (a, b) + a (a, b) (a, b) 1-+ z· (0 (a, b».
The application of a multi relation to a single element and to a multiset,
respectively, are defined as
(f?hJ3) o[a]: D ~ lL and (f?hJ4) O[A]: D ~ lL
d 1-+ o(a, d) d 1-+ L, A (e) ·0 (e, d).
e E D
The composition of multi relations is defined as
(f?hJs) 0 0 a: D2 ~ lL
(a, b) 1-+ L, 0 (a, e) . a (e, b).
eE D
As an example, with the multiset A, defined as A (a) = 2 and A (b) = -1,
we find using the relations 01 and 03 of Fig. 103:
= ( L A (e) . 0 (e, a») + ( L B (e) . 0 (e, a») ~ 0 [A] (a) + 0 [B] (a)
eED eED
(c) Definition. Let Sand D be two sets. Let X, Y: S -+ J( (D) be vectors con-
sisting of multi sets, and let ifJ, 'l': S -+ ~(S) be multirelation vectors. Let d ED
and let Z E 7L. As usual, we define addition and product with integers:
the vector application (Y6) I/J [X] = L I/J (s) [X (s)] E vii (D)
S E S
and the vector product (Y-)) I/J * IJf = L I/J (s) 0 IJf (s) E §i (D).
SE S
Proof (i) I/J * (1Jf + Q) ~ L I/J (s) 0 «1Jf + Q) (s)) ~ L I/J (s) 0 (1Jf (s) + Q (s))
S E S S E S
9.4~vii L (I/J (s) 0 lJf(s)) + (I/J (s) 0 Q (s)) 9.4~)ii L I/J (s) 0 lJf(s)
SE S S E S
SES
(ii) I/J * (z . If/) ~ L I/J (s) 0 «z . 1Jf) (s))~ L I/J (s) 0 (z . (1Jf (s)))
SE S S E S
9.4~)iv L z· (I/J (s) 0 lJf(s)) 9.4~)iii z· (L I/J (s) 0 lJf(s))~ z' (I/J * 1Jf).
SES SES
(iii) I/J [1Jf (d)]'~ L I/J (s) [1Jf (d) (s)] ';;; L I/J (s) [1Jf (s) [d]]
SE S S E S
9.4~ViiL (lJf(s) 0 I/J (s)) [d] 9.4~)v ( L lJf(s) 0 I/J (s)) [d]~ (1Jf* I/J) [d]. 0
SES SES
l
(i) For transitions t E TN, let the vector f: SN --> §i(DN) be defined as
-(s:t) iff sE't\t',
U;-s) iff s E t'\'t,
1 (s) = (0) - (s:t) iff s E 't n t',
0, otherwise.
(ii) Let the matrix 1:1 : SN x TN --> §i (DN) be defined as 1:1 (s, t) = 1 (s).
(iii) For 1Jf: SN --> §i (D N), let 1:1' * 1Jf: TN --> §i (DN)
t 1--+ t * 1Jf.
(b) Theorem, Let N be a relation net, let M, M' E [MN), let t E TN and d E D N.
1ft is M-enabledwith d then M[t)dM' iff M + 1 (d) = M'.
Proof Let s E 't\t'. Then M' (s) 9.;Je) M (s) - (s;t) [d] 9.~a) M (s) + 1 (s) [d]
'~M(s) + 1(d) (s).
9.7 An Example for Applying S-Invariants: The Verification of Facts l33
t u il i2 i3 MN
For s E ("\'t, S E (" n 't and s ~ [" u 't, it can be shown analogously that
M' (s) = M(s) + 1 (d) (s). The result follows. 0
(b) Corollary, Let i l and i2 be two S-invariants of a relation net N and let Z E 7L.
Then i l + i2 and z . i l are also S-invariants of N.
Proof Let M, M' E [MN), let d E DN and let t E TN such that M[t)d M'.
i[M,]9.~b)i[M+1(d)]~ L i(s)[(M+1(d» (s)]
Often it is possible to use invariants for proving system properties which are
formulated as facts. We shall show this for the facts specified in Fig. 100 in
134 Relation Nets
the system of the dining philosophers. Figure 102 shows this system for an
arbitrary number, n, of philosophers, represented as a relation net, N. The
capacity KN is given as KN (s) = 1 for all s E S N. The matrix and some in-
variants of the system are shown in Fig. 106. In the following, we use the nota-
tion and abbreviations of9.2 (b).
Proposition. The T-elements tl , ... , t6 of the system shown in Fig. 102 are facts.
Proof Using Definition 9.2 (e), we have M(d) ;:0: id [a] and M(e) ;:0: id [a], and
henceM(d) +M(e);:O: 2a.
Proof Using Definition 9.2 (e), M(d) ::;;1- a and M(g);:o: I [a], hence
(l + r) [M(d)]::;; (l + r) [1- a] and - M (g) ::;; - I [a]. This yields (l + r) [M (d)]
- M (g) ::;; (l + r) [1 - a] - I [a] = (l + r) [1] - (l + r)[ a] - I [a] = [I + r][l] - 21 [a]
- r [a] = 1[1] + r [1] - 21 [a] - r [a] = G + G - 21 [a] - r [a] = 2 G - 21 [a] - r [a] =1= G.
Proof Using Definition 9.2, M(e) :2': a and M(g) :2': 1 (a), hence (l + r) [M(e)]
:2': (l+r)[a] and M(g):2':/(a). This yields (l+r) [M(e)]+M(g):2': (l+r)[a]
+ 1[a] = 1[a] + r [a] + 1[a] = 21 [a] + r [a] =l= G.
,,
/ ,
/'
/!,///
it,
/ I
/
t ./
~ I-we::::;
t,
"'-t--·
I ••
I
-,
id:
I
51
'-----------------1 a
So
Fig. 107. A net scheme with two facts, 14 and Is
136 Relation Nets
t1 t2 t3 i MN
8 0 -id id a
81 id -id f
82 f -id id
8 3 f -id -id
Fig. 108. Matrix, an invariant and the initial case of the net shown in Fig. 107
(a) Figure 107 shows such a relation net scheme with two facts. Indeed, t4
and t5 are facts for each concrete interpretation off and a. We prove this using
the invariant which is given in Fig. 108.
Proposition. The T-elements t4 and t5 of the net N shown in Fig. 107 arefacts for
any algebra llN = (D; {f}), assuming the capacity KN = 1.
Proof Let llN (D; {f}) be an arbitrary algebra for N. The proof is based on
three propositions.
Proof Using Definition 9.2 (e), M (s,) ~ d and M (S3) :s: 1 - f[d], hence
f[M(s,)]+M(S2)-M(S3) ~f[d]+M(s2)-1+f[d] = 2f[d]-1+M(s2) ~
2f[d] -1 =l= .Q.
Proof Using Definition 9.2 (e), M (S3) ~f[a], M (s,) :s: 1 - a, M (S2) :s: 1 - f[a],
hencef[M(s,)] + M(S2) -M(S3) :s:f[l- a] + (1- f[aD - f[a] = f[l] - f[a] +
I - f[a] - f[a] = I + f[1] - 3 f[a] =l= .Q.
To show that t5 is a fact, using Proposition 2 and Proposition 3, we find
that t5 is not enabled for any marking M E [MN) and any d E D N. 0
9.8 Relation Net Schemes 137
\ h
\
\
\
.
\
\, ," '. t
\.-","
'\ k
\
\
\
So
Fig. 109. A net scheme
(b) In the relation net scheme shown in Fig. 109 we assume, for each place
s E SN, the capacity KN (s) = 1. N contains aT-element t, drawn with broken
lines, which is a fact for some but not for all interpretations. For the free al-
gebra, generated by the (unary) operationsf, g, hand k, t is certainly a fact: If t
could be M-enabled with some a then we would have k (a) EM (S2)' Since no
arc ending at S2 is labelled with k, this is impossible. t is also a fact if
f = g = h = k or, as we shall see later, k = g 0 g-l = id or h = g-l 0 f. t is not a
fact if k = g-l and h =l= f, because t would then be enabled with d for the mark-
ing (Q.,.Q,g[d],J[d]) (a marking Mof N is here represented as (M(so), ... ,
M(s3))'
t1 t2 t3 i1 i2 i3 i4 i5 MN
So -id id g f d
sl id -id g id fog f
s2 g -g id g-1 f g-lof
s3 f -f id -r1 -g -id
id gof id
=
gog-l
Fig. 110. Matrix, invariants and the initial case of the net shown in Fig. 109
138 Relation Nets
Accordingly, we find for the invariants of N (see Fig.IIO) that only iJ and
i2 are invariants under all interpretations. The vectors i3 to i5 are only in-
variants if the interpretation fulfils the respective conditions.
Again, we can use the knowledge about invariants to verify facts. We show
that t is a fact for all interpretations with k = g 0 g-J = id and h = g-J 0 f
Proof Using Definition 9.2 (a), M(S2) :2 id [d] 1\ M(S3) ::s:;: 1- h [d], i.e. M(S2)
:2dl\-M(S3):2h[d]-L This yields h[M(S2)]:2h[d]I\-M(S3):2h[d]-L
Hence h [M(S2)] - M(S3) :2 2 h [d]-l and, since M (sJ) :2 Q, f[M (sJ)] +
h[M(s2)]-M(s3):22h[d]-1. In particular we have (2h[d]-l)(h[d])=
2 h [d] - h [d] = h [d] and the result follows. 0
I. Sets
AI. As usual we use, for sets M, the notation x EM and A s; M to denote that
x is an element of M and A is a subset of M. 9' (M) denotes the powerset of M.
II. Relations
AS. Definition. Let M be a set. For x, y EM, (x, y) is called a pair over M. For
A,Bs;M, let AxB={(x,y)lxEAI\YEB}. Qs;MxM is called a relation
and we write x Q y for (x, y) E Q.
A6. Definition. Let M be a set and let Q, as; M x M be two relations over M.
We define:
(i) Q-l={(y,x)l(x,y) E Q}.
(ii)Q o a={(x,z)I::3YEM xQyl\yaz}. 00
Proof (i) Q U r S; (J* U Ijf* S; «(J U Ijf)* ~ (Q U r)* S; «(J U Ijf)*)* =; «(J U Ijf)*.
(ii)
Q S; (J* ~ Q U (J* S; (J* ~ (Q U (J*)* S; «(J*)* = (J* ~ (Q U (J)* S; (J*. 0
V. Graphs
A14. Definition. Let Gi = (Hi,P;) be graphs over Li (i= 1, 2). G1 is called r:t.-
[J-isomOlphic (isomorphic, for short) to G2 iff r:t.: HI -4 H2 and [J: Ll -4 L2 are
bijective mappings such that (h, I, h') E PI <=:> (r:t. (h), [J (I), r:t. (h')) E P2.
A16. Theorem. Let G = (H, P) be an acyclic, finitely based and finitely branched
graph. If em)' path of G is finite then G itself is finite.
Proof For h E H, let suc (h) be the set of nodes h' E H such that there exists a
path from h to h'.
Assume G is infinite. We construct an infinite path hi 11 h2 12 ... as follows:
As G is finitely based there exists at least one initial node h such that suc (h) is
infinite. Let hi = h. By induction assume hi being given, and let suc (h;) be
infinite. As hi is finitely branched, there exists at least one arc (hi, I, h') such
that suc (h') is infinite. Then let Ii = I and hi + 1 = h'. 0
A17. Definition. (i) We expand the canonical ordering < and the operations +
and - on N to Nu{w} such that VnEN:n<w and VmENu{w}:
m + w = w + m = w; w - m = w.
(ii) For A ~ N u {w}, let
su (A) = {a iff a E A /\ Va' E A: a' :s; a,
~ w iff Vn E N:3a EA: n:S; a.
AIS. Corollary. Let A,B ~ N u {w} with A = {ai, a2, ... ,} and B = {b 1, b2, ... }.
If al < b1 /\ a2 < b2 /\ ... , then sup (A) :s; sup (B).
142 Appendix. Mathematical Notions and Notation
We shall use arbitrary finite sets to index vectors and matrices (instead of the
more usual sequences of natural numbers). The components will be integers.
A2l. Definition. Let A and B be non-empty, finite sets which are disjoint.
(i) A mapping C: A x B ---+ 7L is called a matrix.
(ii) The transposed matrix C' of a matrix C: A x B ---+ 7L is the matrix C':
B xA ---+ 7L with C ' (b, a) = C (a, b).
(iii) The product of a matrix C: A x B ---+ 7L with a vector v: B ---+ 7L yields the
vector C· v: A ---+ 7L with Co v (a) = L. C (a, b) . v (b).
bEB
v C bl b
1:
m
al c ll (Jlm
a2 V2 a2 c 2l c 2m
,
a
n Ivn a
n
c nl c
nm
We start with a very brief review on the development of Net Theory. Then we survey other
text books and mention detailed bibliographies on nets.
Separately for each chapter we will mention a selection of papers which
- are sources of the material presented in this book
- have been the very first ones in the field
- might be considered as typical
- have recently been published and might be a formal basis for further studies.
Finally, we mention modifications and generalizations of place/transition-nets, survey
applications and implementations of nets and outline related system models.
[18] C. Girault, W. Reisig (eds.): Application and Theory of Petri Nets. Informatik Fach-
bericht 52, Springer Publishing Company (1982)
and
[19] A Pagnoni, G. Rozenberg (eds.): Application and Theory of Petri Nets. Informatik Fach-
berichte 66, Springer Publishing Company (1983).
3. Text Books
Until recently, there did not exist any text books on Petri Nets. As a substitute, the proceed-
ings [17] have sometime been used as an introductory text. In particular, this volume contains
a proposal for a standard terminology which we observed in this book:
[20] H. 1. Genrich, E. Stankiewicz-Wiechno: A Dictionary of Some Basic Notions of Net
Theory, in [17].
In the following we refer to books which are distributed by professional publishers. The
many introductory texts in journals or internal reports are not mentioned here.
in English:
[21] J. L. Peterson: Petri Net Theory and the Modeling of Systems. Prentice-Hall, Inc., Engle-
wood Cliffs, N.1. 07632 ISMN 0-13-661983-5 (1981)
in French:
[22] G. W. Brams (nom collective): Reseaux de Petri, Theorie et Pratique. Masson, Editeur,
120 boulevard Saint-Germain 75280 Paris Cedex 06 ISMN 2-903-60712-5 (1982). Two
volumes
in German:
[23] P. H. Starke: Petri-Netze. VeB Deutscher Verlag der Wissenschaften, Berlin (DDR)
(1981)
[24] U. Winand, B. Rosenstengel: Petri-Netze. Eine anwendungsorientierte Einfuhrung. Vie-
weg-Verlag Braunschweig. ISBN 3-528-03582-X (1981).
The original german version of the present book is published by Springer Verlag. An
Italian translation is published by Arnoldo Mondadori Editore, Milano (Italy).
All four books [21] to [24] concentrate on nets consisting of places and transitions.
4. Bibliographies
Many papers are referenced in the various contributions of [17]. A detailed and annotated
bibliography, covering papers until 1979, is contained in the book of Peterson [21]. The bi-
bliography
[25] E. Pless, H. Pliinnecke: A Bibliography of Net Theory. Second Edition ISF-Report 80.05.
Gesellschaft fUr Mathematik und Datenverarbeitung Bonn, Germany (1980)
reports about 500 papers which were published up to 1980. More recent references are con-
tinuously published in the newsletter of the GI-Special Interest Group on Petri Nets and
Related System Models:
[26] Newsletter of the Special Interest Group "Petri Nets and Related System Models". Ge-
sellschaft fUr Informatik (Computer Science Society in Germany), Bonn, Germany.
ISSN 0173-7473.
146 Further Reading
5. References to Chapter 2
Conditions and events have been fundamental notions of Net Theory from the very begin-
ning. The first extensive studies were published in [5], and can also be found in
[27] A Holt: Introduction to Occurrence Systems. Associative Information Techniques, New
York: American Elsevier (1971), pp. 175- 203.
For a further early study see also [6].
The notation we use is based on the following two papers:
[28] C. A Petri: Interpretations of Net Theory. Internal Report 75-07, second edition, 20. 12.
1976. Gesellschaft fiir Mathematik und Datenverarbeitung, Institut fiir Informations-
systemforschung, Bonn (1976)
[29] H. 1. Genrich, K Lautenbach, P. S. Thiagarajan: Elements of General Net Theory, in
[17].
6. References to Chapter 3
The idea of unfolding a condition/event-system to partially ordered event occurrences was
introduced in [5].
The notion of a process, as defined in 3.3 (a), was first discussed by C. A. Petri in [9].
Petri introduces a lot of properties which a "reasonable" notion of process should meet.
In [28] a collection of five such properties is chosen to define this notion. The theorems which
we prove in Chapt. 3.3 to 3.5 are not given in the literature.
An early paper on K-density is
[30] E. Best: A Theorem on the characteristics of non-sequential processes. Fundamenta Infor-
maticae IlL I (1980), pp. 77 - 94.
More recently, occurrence nets have been studied independently of any correspondence to
condition/event systems. As examples see
[31] E. Best, A Merceron: Discreteness, K-density and D-continuity of Occurrence Nets. 6th
GI Conference on Theoretical Computer Science. Lecture Notes in Computer Science
145, Springer-Vedag (1983)
[32] C. Fernandez, P. S. Thiagarajan: D-Continuous Causal Nets: A Model of Non-Sequential
Processes. Theoretical Computer Science 28 (1984), pp. 171-196.
In the context of schemes for nonsequential systems, the following papers describe pro-
cesses with the use of partial orders:
[33] A Mazurkiewicz: Concurrent Program Schemes and their Interpretation. University of
Aarhus, DAIMI PB-78 (1978)
[34] 1. Winkowski: Behaviours of Concurrent Systems. Theoretical Computer Science 12
(1980), pp. 39-60
[35] W. Reisig: Schemes for Nonsequential Processing Systems. 9th Symposium on Mathe-
matical Foundations of Computer Science, Lecture Notes in Computer Science 88,
Springer-Verlag (1980)
[36] M. Nielsen, G. Plotkin, G. Winskel: Petri Nets, Event Structures and Domains, Part I.
Theoretical Computer Science 13 (1981), pp. 85 - 108
[37] 1. Winkowski: An Algebraic Description of System Behaviours. Theoretical Computer
Science 21 (1982),pp. 315-340
[38] G. Winskel: Events in Computation. Ph. D. thesis, University of Edinburgh (1980).
8. References to Chapter 5 147
7. References to Chapter 4
Synchronic distance was first mentioned in
[39] C. A Petri: Concepts of Net Theory. Mathematical Foundations of Computer Science,
1973. High Tatra; Mathematics Institute of Slovak Academy of Science (1973), pp.
137-146.
There have been some formal definitions, e.g. in [28], but there are some problems in the
case of non-cyclic systems. In [29] a definition for synchronic distance is given which is
equivalent to ours. More on synchronic distances can be found in
[40] C. Andre, P. Armand, F. Boeri: Synchronic Relations and Applications in Parallel Com-
putation. Digital Processes 5 (1979), pp. 339 - 354
[41] U. Goltz, W. Reisig, P. S. Thiagarajan: Two Alternative Definitions of Synchronic Dis-
tance, in [18].
The extension to weighted synchronic distances is discussed in [29] and in
[42] U. Goltz, W. Reisig: Weighted Synchronic Distances, in [18].
A typical application of synchronic distances is
[43] A C. Pagnoni: A Fair Competition Between Two or More Partners, in [18].
The idea of facts was first mentioned in [28]. Further investigations on facts can be found
III
8. References to Chapter 5
To a large extent, papers on Petri Nets deal with place/transition-nets. Indeed, often both
notions are synonymously used.
In order to give a representative survey over the area, we subdivide this section into
several sub-sections.
(b) Liveness
The notion of liveness has often been considered as a mayor problem for analysis. There exist
different reasonable notions of liveness, cf.
148 Further Reading
[48] K Lautenbach: Liveness in Petri Nets. Internal Report GMD-ISF 72-02.1 (1972).
Papers on liveness include
[49] M. Hack: The Recursive Equivalence of the Reachability Problem and the Liveness Prob-
lem for Petri Nets and Vector Addition Systems. Proceedings of the 15th Annual Sym-
posium on Switching and Automata Theory, New York IEEE (1974)
[50] K Gostelow: Computation Modules and Petri Nets. Third IEEE-ACM Milwaukee Sym-
posium on Automatic Computation and Control, New York (1975)
[51] H. Schmid, E. Best: Towards a Constructive Solution of the Liveness Problem in Petri
Nets. Technical Report 4/76, Institut fiir Informatik, Universitat Stuttgart, West Ger-
many (1976)
[52] Y. Lien: Termination Properties of Generalized Petri Nets. SIAM Journal of Computing
5, Nr. 2 (1976), pp. 251- 265.
Liveness is also discussed in [8] and [5].
[64] M Toulotte, 1. P. Parsy: A Method for Decomposing Interpreted Petri Nets and its
Utilization. Digital Processes 5 (1979), pp. 223 - 234
[65] 1. Suzuki, T. Murata: A Method for Hierarchically Representing Large Scale Petri Nets.
Proceedings of the 1980 International Conference on Circuits and Computer, October
1980
[66] M. Silva: Simplification des Reseaux de Petri par elimination des places implicites. Digi-
tal Processes 6 (1980), pp. 245 - 256.
[78] T. Araki, T. Kasami: Decidable Problems on the Strong Connectivity of Petri Net
Reachability Sets. Theoretical Computer Science 4 (1977), pp. 99 -' 119
[79] N. Jones, L. Landweber, Y. E. Lien: Complexity of Some Problems in Petri Nets.
Theoretical Computer Science 4 (1977), pp. 277 - 299
[80] C. Rackoff: The Covering and Boundedness Problem for Vector Addition Systems.
Theoretical Computer Science 6 (1978), pp. 223 - 231
[81] E. W. Mayr: The Complexity of the Finite Containment Problem for Petri Nets. Cam-
bridge, Mass., MIT Lab. for Computer Science, Technical Report 181 (1977)
[82] E. W. Mayr, A. R. Meyer: The Complexity of the Finite Containment Problem for Petri
Nets. Journal of the ACM 28,3 (1981), pp. 561 - 576
[83] M Jantzen, H. Bramhoff: Notions of Computability by Petri Nets, in [19].
9. References to Chapter 6
S-Invariants and T-Invariants were introduced by K. Lautenbach in [48]. An overview of
more net properties which can be derived by linear algebraic techniques is given in
[98] 1. Sifakis: Structural Properties oj Petri Nets. Mathematical Foundations of Computer
Science, Lecture Notes in Computer Science 64, Springer-Verlag (1978), pp. 474-483
and in
[99] G. Memmi, G. Roucairol: Linear Algebra in Net Theory, in [17].
Detailed considerations are also contained in the first volume of [22] and in
[100] 1. Martinez, M. Silva: A Simple and Fast Algorithm to obtain all Invariants oj a Gen-
eralized Petri Net, in [18].
The seat reservation system of Chap. 6.5 was constructed by Kurt Lautenbach (private
communication) and is based on an example by E. Ashcroft.
[107] E. Best, K Voss: Free Choice Systems have Home States. Acta Informatica 21 (1984),
pp.89-100
Similar results on further net classes are discussed in [47]. "Bipolar Schemata" may be
considered as a special class of free choice nets:
[108] H. 1. Genrich, P. S. Thiagarajan: A Theory for Bipolar Synchronization Schemes. Theo-
retical Computer Science 30 (1984), pp. 241- 318
They are also mentioned in [29].
A fundamental step was the introduction of variables as arc labels in the model of pre-
dicate/transition-nets which was introduced in [10]. As a special case of this model one may
consider the predicate/event-nets which we introduced in Chap. 8.
A further study of this model is
[118] H. Genrich, K Lautenbach: S-Invariance in Predicate/Transition Nets, in [19].
The distributed database example of Chap. 8.3 is taken from [29].
This paper gives also an overview of several net models, their modifications and their
properties.
Different types of nets are also compared in
[128] K Jensen: A Method to Compare the Descriptive Power oj Different Types oj Petri Nets.
Mathematical Foundations of Computer Science 1980, Lecture Notes in Computer Sci-
ence 88, Springer-Verlag (1980), pp. 348- 361
[129] S. Porat, M. Yoeli: Towards a Hierarchy oj Nets. Technion-Israel Institute of Technol-
ogy, Dept of Computer Science Technical Report No. 224 (1981).
Notions of time are introduced in the following papers:
[\30] C. Ramchandani: AnalYSis oj Asynchronous Concurrent Systems by Petri Nets. Techni-
cal Report 120, Project MAC, MIT Cambridge, Massachusetts (1974)
[\33] 1. Skifakis: Pelformance Evaluation oj Systems Using Nets in [17]
Dept. of Information and Computer Science, University of California, Irvine, California
(1974)
[132] S. Ghosh: Some Comments on Time in Petri Nets in [16]
[133] 1. Skifakis: Performance Evaluation oj Systems Using Nets in [17]
[\34] W. M. Zuberek: Timed Petri Nets and Preliminary PerJormance Evaluation. Proceed-
ings of the 7th Annual Symposium on Computer Architecture, May 6 - 8, 1980, La
Baule, France (1980), pp. 88-96.
Further modifications are given in
[135] M. Moalo, 1. Poulou, 1. Skifakis: Synchronized Petri Nets: A Model Jor the Description
oj Non-Autonomous Systems. Mathematical Foundations of Computer Science 1978,
Lecture Notes in Computer Science 64, Springer-Verlag (1978), pp. 374- 384
[136] M. Yoeli, Z. Barzilai: Behavioural Descriptions oj Communication Switching Systems
using Extended Petri Nets. Digital Processes 3 (1977), pp. 307 - 320
[137] H. D. Burkhard: On Priorities oj Parallelism: Petri Nets under the Maximum Firing
Strategy. Logics of Programs and their Applications, Lecture Notes in Computer Science
148 (1982)
[\38] A. Pistorello, C. Romoli, S. Crespi-Reghizzi: Threshold Nets and Cell-Assemblies. Infor-
mation and Control 49 (1982), pp. 239- 264
[139] H. D. Burkhard: Control oj Petri Nets by Finite Automata. Fundamenta Informaticae
Series IV, No.2, Warszawa (1973)
[140] T. Etzion and M. Yoeli: Super Nets and Their Hierarchy. Theoretical Computer Science
25, (2) (1983).
As more general and abstract models one might consider transition systems and subsitu-
tion systems:
[141] R. M. Keller: Vector Replacement Systems: A Formalism Jor Modelling Asynchronous
Systems. Technical Report 117 Computer Science Laboratory, Princeton University,
Princeton, New Jersey (December 1972), revised January 1974
[142] H. 1. Genrich, K Lautenbach, P. S. Thiagarajan: Substitution Systems - A Family oj
System Models based on Concurrency. Mathematical Foundations of Computer Science
1980, Lecture Notes in Computer Science 88, Springer-Verlag (1980), pp. 698 -723
[143] 1. Sifakis: A Unified Approach Jor Studying the Properties oj Transition Systems. Theo-
retical Computer Science 18 (1982), pp. 227 - 258.
14. Applications 155
14. Applications
In this book we presented a few examples of applying nets in system modelling and analysis.
Hints on applications in system modelling are also found in the books [20, 22, 23]. A broader
spectrum of applications and implementations is contained in the second volume of [22]. Ap-
plications are also found in the volumes [17,18,19].
Early applications include R. Shapiro's and H. Saint's translation of Fortran programs
into nets, showing precedence constraints between operations, and J. Noe's net model of the
SCOPE 3.2 operating system:
(a) Hardware
Hardware components are modelled in [125,136] and in the following papers:
K.Mehlhorn
K.Mehlhom
K.Mehlhom