Classification of Petri nets

Places characteristics

elements

Condition/Event nets

Place/Transitio nets

Colored nets

High Level nets

Core

identifier

yes

yes

yes

yes

token type (color domain)

no

no

yes (color domain identifier)

yes (any type)

Others

place type

no

no

no

optional (FIFO)

capacity

no

optional

optional

optional

time

no

no

no

optional

Marking characteristics

elements

Condition/Event nets

Place/Transitio nets

Colored nets

High Level nets

Core

place reference

yes

yes

yes

yes

value

boolean

integer

bag

terms

Transition characteristics

elements

Condition/Event nets

Place/Transitio nets

Colored nets

High Level nets

Core

identifier

yes

yes

yes

yes

guard

no

no

yes

yes

Others

transition type

no

no

no

optional (Immediate)

delay

optional

optional

optional

optional

priority

optional

optional

optional

optional

probability

optional

optional

optional

optional

time

optional

optional

optional

optional

Arc characteristics

elements

Condition/Event nets

Place/Transitio nets

Colored nets

High Level nets

Core

identifier

yes

yes

yes

yes

place reference

yes

yes

yes

yes

transition reference

yes

yes

yes

yes

label

no

yes (ponderation)

yes (basic functions)

yes (any function)

Others

arc type

yes (pre, post)

yes (pre, post)
optional (test, inhibitor)

yes (pre, post)
optional (test, inhibitor)

yes (pre, post)
optional (test, inhibitor, etc.)

guard

no

no

optional

optional

Net definition

elements

Condition/Event nets

Place/Transitio nets

Colored nets

High Level nets

Core

place*

list of all places

transition*

list of all transitions

arc*

list of all arcs

declaration

no (implicit)

no (implicit)

finite classes,
composed classes,
variables
(bag functions are explicitely declared)

finite classes,
composed classes,
variables,
users' functions,
S-algebra
etc.

Others

 

root class

recommended, it could help to identify the required elements that are systematically contained in each element of the declaration

optional classification*

yes (usefull to disable computation of petri net subclasses such as 1-bounded, finite, state machine etc.)

Net Combination

net_definition | net definition net_combination*. Parenthesis like balises may allow the definition of a tree-hierarchy.