Petri nets are widely used for the specification of problems, in particular for describing concurrent systems. On the other hand, new versions of the UML specification precisely define the semantics of activity diagrams, and state machines, which can also be used to describe parallel systems.
An interesting question is whether we can replace any Petri net machine status describing the same behavior, and vice versa.