Skip to main content

Petri Nets and Software Engineering

  • Chapter
Lectures on Concurrency and Petri Nets (ACPN 2003)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3098))

Included in the following conference series:

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 “software engineering” 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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Young, M.: Neat models of messy problems: Notes on the interplay between solution- and problem-centered disciplines, and more particularly on the interaction between Petri net research and software engineering research. International Journal of Computer Systems Science and Engineering 16 (2001)

    Google Scholar 

  2. Oswald, H., Esser, R., Mattmann, R.: An environment for specifying and executing hierarchical petri nets. In: Proceedings of the 12th International Conference on Software Engineering, pp. 164–172 (1990)

    Google Scholar 

  3. Duri, S., Buy, U., Devarapalli, R., Shatz, S.: Application and experimental evaluation of state space reduction methods for deadlock analysis in ada. ACM Transactions on Software Engineering and Methodology 3, 340–380 (1994)

    Article  Google Scholar 

  4. Jahnke, J., Schafer, W., Zundorf, A.: Generic fuzzy reasoning nets as a basis for reverse engineering relational database applications. In: Proceedings of the European Conference on Software Engineering 1997. Springer, Heidelberg (1997)

    Google Scholar 

  5. Bastide, R., Palanque, P.: A Petri net based environment for the design of eventdriven interfaces. In: DeMichelis, G., Díaz, M. (eds.) ICATPN 1995. LNCS, vol. 935. Springer, Heidelberg (1995)

    Google Scholar 

  6. Leveson, N., Stolzy, J.: Safety analysis using petri nets. IEEE Transactions on Software Engineering SE-13, 386–397 (1987) 19 refs.

    Article  Google Scholar 

  7. Azema, P., Juandle, G., Sanchis, E., Montbernard, M.: Specification and verification of distributed systems using PROLOG interpreted Petri nets. In: Proceedings of the 7th International Conference on Software Engineering, pp. 510–519. IEEE Computer Society Press, Los Alamitos (1984)

    Google Scholar 

  8. Suzuki, T., Shatz, S.M., Murata, T.: A protocol modeling and verification approach based on a specification language and petri nets. IEEE Transactions on Software Engineering 16, 523–536 (1990)

    Article  Google Scholar 

  9. Merlin, P., Faber, D.J.: Recoverability of communication protocols. IEEE Transactions on Communication 24, 1036–1043 (1976)

    Article  MATH  Google Scholar 

  10. Berthomieu, B., Diaz, M.: Modeling and verification of time dependent systems using time Petri nets. IEEE Transactions on Software Engineering 17, 259–273 (1991)

    Article  MathSciNet  Google Scholar 

  11. Ghezzi, C., Mandrioli, D., Morasca, S., Pezzè, M.: A unified High-Level Petri Net formalism for time-cricical systems. IEEE Transactions on Software Engineering 17, 160–172 (1991)

    Article  Google Scholar 

  12. Nissanke, N.: Realtime Systems. International series in computer science. Prentice-Hall, Englewood Cliffs (1997)

    Google Scholar 

  13. T.D.C., L., A., G.: Synchronisation and storage models for multimedia objects. IEEE Journal on Selected Areas in Communications  8, 413–427 (1990)

    Google Scholar 

  14. Wahl, T., Rothermel, K.: Representing time in multimedia systems. In: Proceedings of the International Conference on Multimedia Computing and Systems, Boston, USA (1994)

    Google Scholar 

  15. Willrich, R., Saqui-Sannes, P.D., Senac, P., Diaz, M.: Multimedia authoring with hierarchical timed stream Petri nets and Java. Multimedia Tools and Applications 16, 7–27 (2002)

    Article  MATH  Google Scholar 

  16. Engels, G., Sauer, S.: Object-Oriented Modeling of Multimedia Applications. In: Chang, S.K. (ed.) Handbook of Software Engineering and Knowledge Engineering, vol. 2, pp. 21–52. World Scientific, Singapore (2002)

    Google Scholar 

  17. Vazirgiannis, M.: Interactive Multimedia Documents. LNCS, vol. 1564, p. 43. Springer, Heidelberg (1999)

    Google Scholar 

  18. Emmerich, W., Gruhn, V.: FUNSOFT Nets: a Petri-Net based Software Process Modeling Language. In: Ghezzi, C., Roman, G. (eds.) Proceedings of the 6th ACM/IEEE Int. Workshop on Software Specification and Design (IWSSD), Como, Italy, pp. 175–184. IEEE Computer Society Press, Los Alamitos (1991)

    Chapter  Google Scholar 

  19. Bandinelli, S., Fuggetta, A., Ghezzi, C., Lavazza, L.: SPADE: An environment for software process analysis, design, and enactment. In: Nuseibeh, B., Finkelstein, A., Kramer, J. (eds.) Software Process Modelling and Technology, pp. 33–70. John Wiley and Sons, Chichester (1994)

    Google Scholar 

  20. Florin, G., Natkin, S.: Generalization of queueing network product form solutions to stochastic Petri nets. IEEE Transactions on Software Engineering 17, 99–107 (1991)

    Article  MathSciNet  Google Scholar 

  21. Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide, 1st edn. Addison-Wesley, Reading (1999)

    Google Scholar 

  22. Ramchandani, C.: Analysis of asynchronous concurrent systems by timed Petri nets. Technical Report Project MAC Tech. Rep. 120, Massachusetts Institute of Technology (1974)

    Google Scholar 

  23. Sifakis, J.: Use of Petri nets for performance evaluation. Acta Cybernetica 4, 185–202 (1978)

    MathSciNet  Google Scholar 

  24. Osterweil, L.: Software processes are software too. In: Proceedings of the 9th International Conference on Software Engineering, pp. 2–13. IEEE Computer Society Press, Los Alamitos (1987)

    Google Scholar 

  25. Ambriola, V., Conradi, R., Fuggetta, A.: Assessing Process-Centered Software Engineering environments. ACM Transactions on Software Engineering and Methodology 6, 283–328 (1997)

    Article  Google Scholar 

  26. Paulk, M., Curtis, B., Chrissis, M., Weber, C.: Capability maturity model, version 1.1. IEEE Software 10 (1993)

    Google Scholar 

  27. Finkelstein, A. (ed.): The future of software engineering (part of the Proceedings of the 22th International Conference on Software Engineering). ACM Press, New York (2000)

    Google Scholar 

  28. Ghezzi, C., Jazayeri, M., Mandrioli, D.: Fundamentals of Software Engineering, 2nd edn. Prentice Hall, Englewood Cliffs (1999)

    Google Scholar 

  29. Sommerville, I.: Software Engineering, 6th edn. Addison-Wesley, Reading (2001)

    Google Scholar 

  30. van Vliet, H.: Software Engineering: Principles and Practice. John Wiley & Sons, Chichester (1993)

    Google Scholar 

  31. Wing, J.: A specifier’s introduction to formal methods. Computer 23(8), 10–22 (1990)

    Article  MathSciNet  Google Scholar 

  32. Saiedian, H.: An invitation to formal methods. IEEE Computer 29, 16–30 (1996)

    Google Scholar 

  33. Murata, T.: Petri nets: properties, analysis, and applications. Proceedings of the IEEE 77, 541–580 (1989)

    Article  Google Scholar 

  34. Jensen, K.: Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Uses, vol. 1: Basic Concepts. EATCS Monographs on Theoretical Computer Science. Springer, Heidelberg (1992)

    Google Scholar 

  35. Jensen, K.: Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Uses, vol. 2: Analysis Methods. EATCS Monographs on Theoretical Computer Science. Springer, Heidelberg (1995)

    Google Scholar 

  36. Jensen, K. (ed.): Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Uses, vol. 3: Practical Uses. LNCS, vol. 1217. Springer, Heidelberg (1997)

    Google Scholar 

  37. Agha, G., Cindio, F.D., Rozenberg, G.: APN 2001. LNCS, vol. 2001. Springer Inc., Heidelberg (2001)

    Book  MATH  Google Scholar 

  38. France, R.: Semantically extended data flow diagrams: A formal specification tool. IEEE Transactions on Software Engineering 18, 329–346 (1992)

    Article  Google Scholar 

  39. Fencott, P., Galloway, A., Lockyer, M., O’Brien, S.: Formalising the semantics of Ward/Mellor SA/RT essential models using a process algebra. In: Naftalin, M., Bertrán, M., Denvir, T. (eds.) FME 1994. LNCS, vol. 873. Springer, Heidelberg (1994)

    Google Scholar 

  40. Petersohn, C., Huizing, C., Peleska, J., de Roever, W.: Formal semantics for Ward and Mellor’s transformation schemas and its application to fault tolerant systems. International Journal of Computer Systems Science and Engineering 13, 131–136 (1998)

    Google Scholar 

  41. Shi, L., Nixon, P.: An improved translation of SA/RT specification model to highlevel timed Petri nets. In: Gaudel, M.-C., Woodcock, J.C.P. (eds.) FME 1996. LNCS, vol. 1051, pp. 518–537. Springer, Heidelberg (1996)

    Google Scholar 

  42. Richter, G., Maffeo, B.: Toward a rigorous interpretation of ESML-extended systems modeling language. IEEE Transactions on Software Engineering 19, 165–180 (1993)

    Article  Google Scholar 

  43. Paige, R.F.: A meta-method for formal method integration. In: Fitzgerald, J.S., Jones, C.B., Lucas, P. (eds.) FME 1997. LNCS, vol. 1313. Springer, Heidelberg (1997)

    Google Scholar 

  44. Baresi, L., Orso, A., Pezzè, M.: Introducing formal specification methods in industrial practice. In: Proceedings of the 19th International Conference on Software Engineering (ICSE 1997), pp. 56–67. ACM, New York (1997)

    Google Scholar 

  45. Bause, F., Kritzinger, P.: Stochastic Petri Nets - An Introduction to the Theory. Advanced Studies in Computer Science. Vieweg Verlag (1996)

    Google Scholar 

  46. Marsan, M.A., Balbo, G., Conte, G., Donatelli, S., Franceschinis, G.: Modelling with Generalized Stochastic Petri Nets. Wiley Series in Parallel Computing. John Wiley and Sons, Chichester (1995)

    MATH  Google Scholar 

  47. Ghezzi, C., Morasca, S., Pezzè, M.: Validating timing requirements of time basic net specifications. Journal of Systems and Software 27, 97–117 (1994)

    Article  Google Scholar 

  48. Montangero, C., Ambriola, V.: OIKOS: Constructing process-centred SDEs. In: Finkelstein, A., Kramer, J., B.N.(eds.) Software Process Modelling and Technology, pp. 131–151. John Wiley and Sons, Chichester (1994)

    Google Scholar 

  49. Conradi, R., Hagaseth, M., Larsen, J., Nguyen, M., Munch, B., Westby, P., Zhu, W., Jaccheri, M., Liu, C.: EPOS: Object-oriented cooperative process modeling. In: Nuseibeh, B., Finkelstein, A., Kramer, J. (eds.) Software Process Modelling and Technology, pp. 33–70. John Wiley and Sons, Chichester (1994)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Denaro, G., Pezzè, M. (2004). Petri Nets and Software Engineering. In: Desel, J., Reisig, W., Rozenberg, G. (eds) Lectures on Concurrency and Petri Nets. ACPN 2003. Lecture Notes in Computer Science, vol 3098. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-27755-2_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-27755-2_12

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-22261-3

  • Online ISBN: 978-3-540-27755-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics