Annotation In a component-based approach for system design, one of the difficult problems is how to prove the correctness of the created components. This volume presents a component-based methodology for the creation and verification of design specifications.
In a component-based approach for system design, one of the challenging problems is the way to prove the correctness of the created components. Usually, the constituent components are supposed to be correct — possessing the desirable properties and free from undesirable ones. However, the operators may destroy these properties or create new ones, resulting in an undesirable new component. Hence, every created component has to go through a new process of verification, involving a tremendous amount of effort.This book presents a component -based methodology for the creation and verification of design specifications. The methodology is formally presented as an algebra called Property-Preserving Petri Net Process Algebra (PPPA). PPPA includes five classes of operators, and the authors show that every operator of PPPA can preserve a large number of basic system properties. Therefore, if the initial set of primitive components satisfies some of these properties, the created components will also “automatically” satisfy them without the need for further verification — thus greatly saving verification efforts.
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.
With their intuitive graphical approach and expressive analysis techniques, Petri nets are suitable for a wide range of applications and teaching scenarios, and they have gained wide acceptance as a modeling technique in areas such as software design and control engineering. The core theoretical principles have been studied for many decades and there is now a comprehensive research literature that complements the extensive implementation experience. In this book the author presents a clear, thorough introduction to the essentials of Petri nets. He explains the core modeling techniques and analysis methods and he illustrates their usefulness with examples and case studies. Part I describes how to use Petri nets for modeling; all concepts are explained with the help of examples, starting with a generic, powerful model which is also intuitive and realistic. Part II covers the essential analysis methods that are specific to Petri nets, introducing techniques used to formulate key properties of system nets and algorithms for proving their validity. Part III presents case studies, each introducing new concepts, properties and analysis techniques required for very different modeling tasks. The author offers different paths among the chapters and sections: the elementary strand for readers who wish to study only elementary nets; the modeling strand for those who wish to study the modeling but not the analysis of systems; and finally the elementary models of the modeling strand for those interested in technically simple, but challenging examples and case studies. The author achieves an excellent balance between consistency, comprehensibility and correctness in a book of distinctive design. Among its characteristics, formal arguments are reduced to a minimum in the main text with many of the theoretical formalisms moved to an appendix, the explanations are supported throughout with fully integrated graphical illustrations, and each chapter ends with exercises and recommendations for further reading. The book is suitable for students of computer science and related subjects such as engineering, and for a broad range of researchers and practitioners.
This book is a comprehensive, systematic survey of the synthesis problem, and of region theory which underlies its solution, covering the related theory, algorithms, and applications. The authors focus on safe Petri nets and place/transition nets (P/T-nets), treating synthesis as an automated process which, given behavioural specifications or partial specifications of a system to be realized, decides whether the specifications are feasible, and then produces a Petri net realizing them exactly, or if this is not possible produces a Petri net realizing an optimal approximation of the specifications. In Part I the authors introduce elementary net synthesis. In Part II they explain variations of elementary net synthesis and the unified theory of net synthesis. The first three chapters of Part III address the linear algebraic structure of regions, synthesis of P/T-nets from finite initialized transition systems, and the synthesis of unbounded P/T-nets. Finally, the last chapter in Part III and the chapters in Part IV cover more advanced topics and applications: P/T-net with the step firing rule, extracting concurrency from transition systems, process discovery, supervisory control, and the design of speed-independent circuits. Most chapters conclude with exercises, and the book is a valuable reference for both graduate students of computer science and electrical engineering and researchers and engineers in this domain.