Application and Theory of Petri Nets