Petri Nets: Tutorial and Applications