Petri Net Article Index for
Petri
Website Links For
Petri
 

Information About

Petri Net





BASIC PETRI NETS


A Petri net consists of '' Place s'', '' Transition s'' 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 run 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 Token s. 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 single non-preemptible 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 non-deterministic, Petri nets are well suited for modeling the Concurrent behavior of distributed systems.


A FORMAL DEFINITION


A Petri net is a 6- Tuple (S,T,F,M_0,W,K), where (see Desel and Juhás )
  • 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 \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.

  • K : S o \mathbb{N^+} is a set of ''capacity restrictions'', which assigns to each place s \in S some positive number n \in \mathbb{N^+} denoting the maximum number of tokens that can occupy that place.


A variety of other formal definitions exist. This definition is for a ''place-transition'' net. Most other definitions do not include ''arc weights'' or ''capacity restrictions''.


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 amount of tokens in the 1st place of the net, the 2nd is amount 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}. 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/encyclopedia/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>
  # 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 P\in P: p\bullet \bullet p=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 P\in P: (p\bullet\leq 1) Ee (\bullet (p\bullet) \{p\})</math>