This book presents a step-by-step development of a rigorous framework for the specification and verification of concurrent systems. Petri Net Algebra takes its inspiration and methods from Process Algebra and Petri Nets, two prominent branches of concurrency theory. Added synergistic benefit is derived from combining their respective advantages.
Petri nets are treated as composable objects, and as such they are embedded in a general process algebra. On the other hand, a generic process algebra is given an automatic Petri net semantics so that net-based verification techniques, based on structural invariants and causal partial orders, can be applied to the process algebra. Finally, the theory is applied to a realistic concurrent programming language.
The book contains full proofs, carefully chosen examples and several possible directions for further research. It is self-contained and supposes only acquaintance with basic discrete mathematics. A unique aspect is that the development of the Petri net algebra is handled so as to allow for further application-oriented extensions and modifications.