Using formal methods for the specification and verification of hardware and software systems is becoming increasingly important as systems increase in size and complexity. The aim of the book is to illustrate progress in formal methods based on Petri net formalisms. It presents both practical and theoretical foundations for the use of Petri nets in complex system engineering tasks. In doing so it bridges the gap between Petri nets and the systems modeling and implementation process. It contains a collection of examples arising from different fields, such as flexible manufacturing, telecommunication and workflow management systems.