Advertisement

Petri Nets and Software Engineering

  • Giovanni Denaro
  • Mauro Pezzè
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3098)

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.

Keywords

Software Engineering Software Engineer Modeling Language Software Process Black Transition 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. 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. 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)CrossRefGoogle Scholar
  4. 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. 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. 6.
    Leveson, N., Stolzy, J.: Safety analysis using petri nets. IEEE Transactions on Software Engineering SE-13, 386–397 (1987) 19 refs.CrossRefGoogle Scholar
  7. 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. 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)CrossRefGoogle Scholar
  9. 9.
    Merlin, P., Faber, D.J.: Recoverability of communication protocols. IEEE Transactions on Communication 24, 1036–1043 (1976)zbMATHCrossRefGoogle Scholar
  10. 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)CrossRefMathSciNetGoogle Scholar
  11. 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)CrossRefGoogle Scholar
  12. 12.
    Nissanke, N.: Realtime Systems. International series in computer science. Prentice-Hall, Englewood Cliffs (1997)Google Scholar
  13. 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. 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. 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)zbMATHCrossRefGoogle Scholar
  16. 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. 17.
    Vazirgiannis, M.: Interactive Multimedia Documents. LNCS, vol. 1564, p. 43. Springer, Heidelberg (1999)Google Scholar
  18. 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)CrossRefGoogle Scholar
  19. 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. 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)CrossRefMathSciNetGoogle Scholar
  21. 21.
    Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide, 1st edn. Addison-Wesley, Reading (1999)Google Scholar
  22. 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. 23.
    Sifakis, J.: Use of Petri nets for performance evaluation. Acta Cybernetica 4, 185–202 (1978)MathSciNetGoogle Scholar
  24. 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. 25.
    Ambriola, V., Conradi, R., Fuggetta, A.: Assessing Process-Centered Software Engineering environments. ACM Transactions on Software Engineering and Methodology 6, 283–328 (1997)CrossRefGoogle Scholar
  26. 26.
    Paulk, M., Curtis, B., Chrissis, M., Weber, C.: Capability maturity model, version 1.1. IEEE Software 10 (1993)Google Scholar
  27. 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. 28.
    Ghezzi, C., Jazayeri, M., Mandrioli, D.: Fundamentals of Software Engineering, 2nd edn. Prentice Hall, Englewood Cliffs (1999)Google Scholar
  29. 29.
    Sommerville, I.: Software Engineering, 6th edn. Addison-Wesley, Reading (2001)Google Scholar
  30. 30.
    van Vliet, H.: Software Engineering: Principles and Practice. John Wiley & Sons, Chichester (1993)Google Scholar
  31. 31.
    Wing, J.: A specifier’s introduction to formal methods. Computer 23(8), 10–22 (1990)CrossRefMathSciNetGoogle Scholar
  32. 32.
    Saiedian, H.: An invitation to formal methods. IEEE Computer 29, 16–30 (1996)Google Scholar
  33. 33.
    Murata, T.: Petri nets: properties, analysis, and applications. Proceedings of the IEEE 77, 541–580 (1989)CrossRefGoogle Scholar
  34. 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. 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. 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. 37.
    Agha, G., Cindio, F.D., Rozenberg, G.: APN 2001. LNCS, vol. 2001. Springer Inc., Heidelberg (2001)zbMATHCrossRefGoogle Scholar
  38. 38.
    France, R.: Semantically extended data flow diagrams: A formal specification tool. IEEE Transactions on Software Engineering 18, 329–346 (1992)CrossRefGoogle Scholar
  39. 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. 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. 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. 42.
    Richter, G., Maffeo, B.: Toward a rigorous interpretation of ESML-extended systems modeling language. IEEE Transactions on Software Engineering 19, 165–180 (1993)CrossRefGoogle Scholar
  43. 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. 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. 45.
    Bause, F., Kritzinger, P.: Stochastic Petri Nets - An Introduction to the Theory. Advanced Studies in Computer Science. Vieweg Verlag (1996)Google Scholar
  46. 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)zbMATHGoogle Scholar
  47. 47.
    Ghezzi, C., Morasca, S., Pezzè, M.: Validating timing requirements of time basic net specifications. Journal of Systems and Software 27, 97–117 (1994)CrossRefGoogle Scholar
  48. 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. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Giovanni Denaro
    • 1
  • Mauro Pezzè
    • 1
  1. 1.Dipartimento di Informatica Sistemistica e ComunicazioneUniversità degli Studi di Milano-BicoccaMilanoItaly

Personalised recommendations