Applications and Theory of Petri Nets