Graphics Programs Reference
can be successfully employed to support many aspects of the development
of complex systems, such as:
• formal specification
• verification of correctness
• rapid prototyping
This means that PNs can play a very important role in the life cycle of a
distributed system, starting from the initial phases of the design, on to the
system development, and to the maintenance during its operational phase.
PNs were originally introduced by Carl Adam Petri in his doctoral thesis
[ 58] to describe concurrent systems in terms of cause/effect relations without
explicit time considerations. The introduction of temporal concepts into PN
models was proposed several years later by C.Ramchandani [ 60] , P.M.Merlin
ety of different proposals followed, mostly based on the use of determin-
istic timing. The first definitions of PNs with stochastic timing are due
proposals opened the possibility of linking PNs to the field of performance
evaluation, traditionally based on a stochastic modelling approach. Such
models, and their offsprings, are today collectively named Stochastic PNs
(SPNs). An extension of the approach proposed by Molloy was provided
in  , where stochastic timing is mixed with deterministic null delays, so
that both the temporal and the logic evolution of a system can be described
within one model. The resulting modelling paradigm, named Generalized
SPNs (GSPNs), is the subject of this topic.
PNs will be formally introduced and defined in the next chapter. In the rest
of this chapter we shall instead provide an informal description of PNs, to
help the reader intuitively understand what they are, and what they can be
used for. This will be done with the aid of some very simple examples of
the use of PNs for the description of a few basic elementary behaviours of
A PN comprises places, transitions, and arcs, which define its structural
component. Places are used to describe possible local system states (named
modify the system state. Arcs specify the relation between local states and
events in two ways: they indicate the local state in which the event can
occur, and the local state transformations induced by the event.
1 The term “condition” actually stands for “boolean condition”, in the sense that con-
ditions can be associated with boolean variables.
On the contrary, situations can be
associated with nonnegative integer variables.