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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
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)
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)
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)
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)
Leveson, N., Stolzy, J.: Safety analysis using petri nets. IEEE Transactions on Software Engineering SE-13, 386–397 (1987) 19 refs.
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)
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)
Merlin, P., Faber, D.J.: Recoverability of communication protocols. IEEE Transactions on Communication 24, 1036–1043 (1976)
Berthomieu, B., Diaz, M.: Modeling and verification of time dependent systems using time Petri nets. IEEE Transactions on Software Engineering 17, 259–273 (1991)
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)
Nissanke, N.: Realtime Systems. International series in computer science. Prentice-Hall, Englewood Cliffs (1997)
T.D.C., L., A., G.: Synchronisation and storage models for multimedia objects. IEEE Journal on Selected Areas in Communications 8, 413–427 (1990)
Wahl, T., Rothermel, K.: Representing time in multimedia systems. In: Proceedings of the International Conference on Multimedia Computing and Systems, Boston, USA (1994)
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)
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)
Vazirgiannis, M.: Interactive Multimedia Documents. LNCS, vol. 1564, p. 43. Springer, Heidelberg (1999)
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)
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)
Florin, G., Natkin, S.: Generalization of queueing network product form solutions to stochastic Petri nets. IEEE Transactions on Software Engineering 17, 99–107 (1991)
Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide, 1st edn. Addison-Wesley, Reading (1999)
Ramchandani, C.: Analysis of asynchronous concurrent systems by timed Petri nets. Technical Report Project MAC Tech. Rep. 120, Massachusetts Institute of Technology (1974)
Sifakis, J.: Use of Petri nets for performance evaluation. Acta Cybernetica 4, 185–202 (1978)
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)
Ambriola, V., Conradi, R., Fuggetta, A.: Assessing Process-Centered Software Engineering environments. ACM Transactions on Software Engineering and Methodology 6, 283–328 (1997)
Paulk, M., Curtis, B., Chrissis, M., Weber, C.: Capability maturity model, version 1.1. IEEE Software 10 (1993)
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)
Ghezzi, C., Jazayeri, M., Mandrioli, D.: Fundamentals of Software Engineering, 2nd edn. Prentice Hall, Englewood Cliffs (1999)
Sommerville, I.: Software Engineering, 6th edn. Addison-Wesley, Reading (2001)
van Vliet, H.: Software Engineering: Principles and Practice. John Wiley & Sons, Chichester (1993)
Wing, J.: A specifier’s introduction to formal methods. Computer 23(8), 10–22 (1990)
Saiedian, H.: An invitation to formal methods. IEEE Computer 29, 16–30 (1996)
Murata, T.: Petri nets: properties, analysis, and applications. Proceedings of the IEEE 77, 541–580 (1989)
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)
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)
Jensen, K. (ed.): Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Uses, vol. 3: Practical Uses. LNCS, vol. 1217. Springer, Heidelberg (1997)
Agha, G., Cindio, F.D., Rozenberg, G.: APN 2001. LNCS, vol. 2001. Springer Inc., Heidelberg (2001)
France, R.: Semantically extended data flow diagrams: A formal specification tool. IEEE Transactions on Software Engineering 18, 329–346 (1992)
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)
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)
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)
Richter, G., Maffeo, B.: Toward a rigorous interpretation of ESML-extended systems modeling language. IEEE Transactions on Software Engineering 19, 165–180 (1993)
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)
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)
Bause, F., Kritzinger, P.: Stochastic Petri Nets - An Introduction to the Theory. Advanced Studies in Computer Science. Vieweg Verlag (1996)
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)
Ghezzi, C., Morasca, S., Pezzè, M.: Validating timing requirements of time basic net specifications. Journal of Systems and Software 27, 97–117 (1994)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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