High-level Petri nets are now widely used in both theoretical analysis and practical modelling of concurrent systems. The main reason for the success of this class of net models is that they make it possible to obtain much more succinct and manageable descriptions than can be obtained by means of low-level Petri nets - while, on the other hand, they still offer a wide range of analysis methods and tools. The step from low-level nets to high-level nets can be compared to the step from assembly languages to modern programming languages with an elaborated type concept. In low-level nets there is only one kind of token and this means that the state of a place is described by an integer (and in many cases even by a boolean). In high-level nets each token can carry a complex information/data - which, e.g., may describe the entire state of a process or a data base. Today most practical applications of Petri nets use one of the different kinds of high-level nets. A considerable body of knowledge exists about high-level Petri nets - this includes theoretical foundations, analysis methods and many applications. Unfortunately, the papers on high-level Petri nets have been scattered throughout various journals and collections. As a result, much of this knowledge is not readily available to people who may be interested in using high-level nets. Within the Petri net community this problem has been discussed many times, and as an outcome this book has been compiled. The book contains reprints of some of the most important papers on the application and theory of high-level Petri nets. In this way it makes the relevant literature more available. It is our hope that the book will be a useful source of information and that, e.g., it can be used in the organization of Petri net courses. To make the book as useful as possible, the selected papers represent the current "state of the art" of high-level nets. This means that we have been forced to leave out a number of older papers which have had a profound influence on the development of high-level Petri nets - but by now have been superseded by other papers. Thus, e.g., none of the original papers introducing the first versions of high-level Petri nets have been included. The introductions to the individual sections mention a number of researchers who have contributed to the development of high-level Petri nets. Detailed references to their work can be found in the individual papers and in the available bibliographies of Petri nets, e.g., Stefan Dress et. al: Bibliography of Petri Nets. In: G. Rozenberg (ed.): Advances in Petri Nets 1987, Lecture Notes in Computer Science, vol. 266, Springer-Verlag 1987, 309-451. Updated versions of this bibliography will appear in Advances of Petri Nets with regular intervals. In the preparation of the book the editors have been assisted by an advisory board consisting of the following well-known Petri net researchers: M. Ajmone-Marsan, H.J. Genrich, C. Girault, W. Reisig, M. Silva and P.S. Thiagarajan. The members of the advisory board have been very active and discussions with them have had a profound influence on the selection criteria, the actual selection of papers, and the entire organization of the book. The members of the advisory board have also been involved in the preparation of the introductions to the individual sections. We are very grateful for the assistance provided by these colleagues. This book would not have been possible without their help. Moreover, we are indebted to the different publishing houses and the authors for their kind permission to reprint the papers. Dr. H. Wässner and Mrs. I. Mayer from Springer-Verlag have been very helpful and cooperative in the difficult task of producing this book.
High-level Petri nets; Basic models; Abstract data types; Hierarchical nets; Modularity; Invariants; State spaces; Transformations; Stochastic nets; Applications; Computer tools