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.
This type is called the color set of the place.
A well-known program for working with coloured Petri nets is cpntools.