In modern society services and support provided by computer-based systems have become ubiquitous and indeed have started to fund amentally alter the way people conduct their business. Moreover, it has become apparent that among the great variety of computer technologies available to potential users a crucial role will be played by concurrent systems. The reason is that many commonly occurring phenomena and computer applications are highly con current : typical examples include control systems, computer networks, digital hardware, business computing, and multimedia systems. Such systems are characterised by ever increasing complexity, which results when large num bers of concurrently active components interact. This has been recognised and addressed within the computing science community. In particular, sev eral form al models of concurrent systems have been proposed, studied, and applied in practice. This book brings together two of the most widely used formalisms for de scribing and analysing concurrent systems: Petri nets and process algebras. On the one hand , process algebras allow one to specify and reason about the design of complex concurrent computing systems by means of algebraic operators corresponding to common programming constructs. Petri nets, on the other hand, provide a graphical representation of such systems and an additional means of verifying their correctness efficiently, as well as a way of expressing properties related to causality and concurrency in system be haviour.
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.
From the reviews:
"The monograph presents a step-by step development of rigorous framework for the specification and verification of concurrent systems. ? The book contains full proofs, carefully chosen examples and several possible directions for further research. The development of the Petri net algebra is handled in such a way that it allows for further application-oriented extensions and modifications. The book is self-contained in the sense that no previous knowledge of Petri nets and process algebras is required." (Ryszard Janicki, Mathematical Reviews, Issue 2003 g)
"This monograph combines two theories of concurrency: process algebras and Petri nets. ? The book can serve researches and practitioners working in concurrency theory or in formalization of parallel and distributed systems. It can also be used in an advanced graduate course as a textbook or as a reference. The book contains numerous examples and exercises included in the text immediately following the relevant material. ? it is well organized and coherent both in structure and content." (Boleslaw Mikolajczak, SIGACT News, Vol. 33 (2), 2002)