In: Lectures on Concurrency and Petri Nets: Advances in Petri Nets, pages 439-466. Volume 3098 of Lecture Notes in Computer Science / Jörg Desel, Wolfgang Reisig, Grzegorz Rozenberg (Eds.) --- Springer-Verlag, June 2004.
Abstract: Software engineering and Petri net theory are disciplines of different nature. Research on software engineering focuses on a problem domain, i.e., the development of complex software systems, and tries to find a coherent set of solutions to cope with the different aspects of the problem, while research on Petri nets investigates applications and properties of a specific model (Petri nets). When Petri nets can solve some problems of software development, the two disciplines meet with mutual benefits: software engineers may find useful solutions, while Petri net experts may find new stimuli and challenges in their domain. Petri nets and software engineering have similar age: Karl Adam Petri wrote his thesis in 1962, while the term ldquosoftware engineeringrdquo was coined in 1968 at a NATO conference held in Germany. The two disciplines met several times in the past forty years with alternate fortune. Presently, software engineering and Petri nets do not find many meeting points, as witnessed by the scarce references to Petri nets in software engineering journals and conferences and vice versa, but software engineering is facing many new challenges and the Petri net body of knowledge is extending with new results. This paper attempts to illustrate the many dimensions of software engineering, to point at some aspects of Petri nets that have been or can be exploited to solve software engineering problems, and to identify new software engineering challenges that may be solved with Petri net results. This paper does not have the ambition of completely surveying either discipline, but hopes to help scientists and practitioners in identifying interesting areas where software engineers and Petri net experts can fruitfully collaborate.
Back to the Petri Nets Bibliography