Coloured Petri nets are a backward compatible extension of the mathematical concept of Petri nets.

Coloured Petri nets preserve useful properties of Petri nets and at the same time extend the initial formalism to allow the distinction between tokens.[1]

Coloured Petri nets allow tokens to have a data value attached to them. This attached data value is called the token color. Although the color can be of arbitrarily complex type, places in coloured Petri nets usually contain tokens of one type. This type is called the color set of the place.

Definition 1. A net is a tuple N = (P, T, A, Σ, C, N, E, G, I ) where:

  • P is a set of places.
  • T is a set of transitions.
  • A is a set of arcs

In coloured Petri nets, sets of places, transitions and arcs are pairwise disjoint PT = PA = TA = ∅

  • Σ is a set of color sets. This set contains all possible colors, operations and functions used within the coloured Petri net.
  • C is a color function. It maps places in P into colors in Σ.
  • N is a node function. It maps A into (P × T) ∪ (T × P).
  • E is an arc expression function. It maps each arc aA into the expression e. The input and output types of the arc expressions must correspond to the type of the nodes the arc is connected to.

Use of node function and arc expression function allows multiple arcs connect the same pair of nodes with different arc expressions.

  • G is a guard function. It maps each transition tT to a guard expression g. The output of the guard expression should evaluate to a Boolean value (true or false). If false, t cannot be fired.
  • I is an initialization function. It maps each place p into an initialization expression i. The initialization expression must evaluate to multiset of tokens with a color corresponding to the color of the place C(p).

A well-known program for working with coloured Petri nets is cpntools.

References

edit
  1. ^ Jensen, Kurt (1996). Coloured Petri Nets (2 ed.). Berlin: Heidelberg. pp. 234. ISBN 3-540-60943-1.
edit