Petri Net Article Index for
Petri
Website Links For
Petri
 

Information About

Petri Net





BASIC PETRI NETS

A Petri net consists of ''places'', ''transitions'', and '' Directed Arc s''. Arcs run between places and transitions—not between places and places or transitions and transitions. The places from which an arc runs to a transition are called the Input Place s of the transition; the places to which arcs run from a transition are called the Output Places of the transition.

Places may contain any number of tokens. A distribution of tokens over the places of a net is called a ''marking''. Transitions act on input tokens by a process known as ''firing''. A transition is ''enabled'' if it can fire, i.e., there are tokens in every input place. When a transition fires, it consumes the tokens from its input places, performs some processing task, and places a specified number of tokens into each of its output places. It does this atomically, i.e., in one non-interruptible step.

Execution of Petri nets is Nondeterministic . This means two things:
# multiple transitions can be enabled at the same time, any one of which can fire
# none are ''required'' to fire — they fire at will, between time 0 and infinity, or not at all (i.e. it is totally possible that nothing fires at all).
Since firing is nondeterministic, Petri nets are well suited for modeling the Concurrent behavior of distributed systems.


A FORMAL DEFINITION

A Petri net is a 5- Tuple (S,T,F,M_0,W)\!, where (see Desel and JuhásDesel, Jörg and Juhás, Gabriel "''What Is a Petri Net? Informal Answers for the Informed Reader''", Hartmut Ehrig ''et al.'' (Eds.): Unifying Petri Nets, LNCS 2128, pp. 1-25, 2001. {Link without Title} )
  • S is a set of ''places''.

  • T is a set of ''transitions''.

  • F is a set of arcs known as a ''flow relation''. The set F is subject to the constraint that no arc may connect two places or two transitions, or more formally: F \subseteq (S imes T) \cup (T imes S).

  • M_0 : S o \mathbb{N} is an ''initial marking'', where for each place s \in S, there are n_s \in \mathbb{N} tokens.

  • W : F o \mathbb{N^+} is a set of ''arc weights'', which assigns to each arc f \in F some n \in \mathbb{N^+} denoting how many tokens are consumed from a place by a transition, or alternatively, how many tokens are produced by a transition and put into each place.


A variety of other formal definitions exist. Some definitions do not have arc weights, but they allow multiple arcs between the same place and transition, which is conceptually equal to one arc with a weight of more than one.


BASIC MATHEMATICAL PROPERTIES

The state of a Petri net can be represented as an M vector, where the 1st value of the vector is the number of tokens in the 1st place of the net, the 2nd is the number of tokens in the 2nd place, and so on. Such a representation fully describes the state of a Petri net.

A state-transition list, ec \sigma = \langle M_{i_0} t_{i_1} M_{i_1} \ldots t_{i_n} M_{i_n} angle, which can be shortened to simply ec \sigma = \langle t_{i_1} \ldots t_{i_n} angle is called a ''firing sequence'' if each and every transition satisfies the firing criteria (i.e. there are enough tokens in the input for every transition). In this case, the state-transition list of \langle M_{i_0} M_{i_1} \ldots M_{i_n} angle is called a ''trajectory'', and M_{i_n} is called ''reachable'' from M_{i_0} through the firing sequence of ec \sigma. Mathematically written: M_{i_0} [ ec \sigma > M_{i_n}. The set of all firing sequences that can be reached from a net N and an initial marking M_{0} are noted as L(N,M_{0}).

  # "http://wwwinformationdelightinfo/information/entry/State_machine" class="copylinks">State Machine (SM) - here, every transition has one incoming arc, and one outgoing arc This means, that there can ''not'' be ''concurrency'', but there can be ''conflict'' (ie Where should the token from the place go To one transition or the other) Mathematically: <math> orall t\in T: t\bullet=\bullet t=1</math>
  # "http://wwwinformationdelightinfo/information/entry/Marked_Graph" class="copylinks">Marked Graph (MG) - here, every place has one incoming arc, and one outgoing arc This means, that there can ''not'' be ''conflict'', but there can be ''concurrency'' Mathematically: <math> orall s\in S: s\bullet=\bullet s=1</math>
  # Free Choice (FC) - Here, An Arc Is Either The Only Arc Going From The Place, Or It Is The Only Arc Going To A Transition Ie There Can Be ''both Concurrency And Conflict, But Not At The Same Time'' Mathematically: <math> Orall S\in S: (s\bullet\leq 1) Ee (\bullet (s\bullet) \{s\})</math>