2 Modeling primitives


A. Törn - Contents - - Previous chapter - Next chapter - - Previous page - Next page

2.1 "Queues" and inhibitor arcs

We have already introduced the extension that a place may contain several tokens, and that there may be several arcs from the same place to the same transition (which may be alternatively represented by a multiplicity inscription on the arc).

If we know the maximum number of tokens k that a place can have (the place is k-safe), then it is possible to represent such a place with a chain of places (a queue), where each place contains max one token (a safe place).

The solution idea is illustrated below for k = 2:

                                Q1    Q2
                               ( )   ( )
         P    Q    C       P   ^ \   ^ \  C
          _         _        _/   v_/   v_     
         |_|->( )->|_|      |_|   |_|   |_| 
                             ^    /^    / 
                              \  v  \  v
                              (•)    (•)
                   
A very usable primitive, not least from a modeling point of view, is the inhibitor arc, represented as an arc with a ball head. The arc is always from a place p to a transition t, see below. The meaning is that if p has a token it will hinder t from firing, i.e., opposite to that of a normal arc.
                      p       _
                     ( )----o|_| t
If the maximal number of tokens p can have, a say k, is known then we can get rid of the inhibitor arc by introducing an additional place p' to be modeled so that the sum of tokens in p and p' always is k, and then use the condition p' = k instead of the inhibitor arc, see illustration below for k = 2.
                      p'  2   _
                     ( )<--->|_| t
The double arrow is because we do not want to change the marking of p'. In an application, that might be just what we want.

Generally the introduction of inhibitor arcs is an essential extension to Petri Nets. The modeling power of Petri Nets seems to be just below that of Turing machines and every essential extension penetrates the border.