On the Integration of UML and Petri Nets in Software Development

  • Javier Campos
  • José Merseguer
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4024)


Software performance engineering deals with the consideration of quantitative analysis of the behaviour of software systems from the early development phases in the life cycle. This paper summarizes in a semiformal and illustrative way our proposal for a suitable software performance engineering process. We try to integrate in a very pragmatic approach the usual object oriented methodology —supported with UML language and widespread CASE tools— with a performance modelling formalism, namely stochastic Petri nets. A simple case study is used to describe the whole process. More technical details should be looked up in the cited bibliography.


Sequence Diagram Activity Diagram Object Management Group Deployment Diagram Software Performance Engineer 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Murata, T.: Petri nets: Properties, analysis, and applications. Proceedings of the IEEE 77(4), 541–580 (1989)CrossRefGoogle Scholar
  2. 2.
    DiCesare, F., Harhalakis, G., Proth, J.M., Silva, M., Vernadat, F.: Practice of Petri Nets in Manufacturing. Chapman & Hall, London (1993)Google Scholar
  3. 3.
    Ajmone Marsan, M., Balbo, G., Conte, G.: Performance Models of Multiprocessor Systems. MIT Press, Cambridge (1986)Google Scholar
  4. 4.
    Billington, J., Díaz, M., Rozenberg, G. (eds.): APN 1999. LNCS, vol. 1605. Springer, Heidelberg (1999)Google Scholar
  5. 5.
    Ajmone Marsan, M., Balbo, G., Conte, G., Donatelli, S., Franceschinis, G.: Modelling with Generalized Stochastic Petri Nets. John Wiley Series in Parallel Computing - Chichester (1995)Google Scholar
  6. 6.
    Smith, C., Williams, L.: Software Performance Engineering. In: UML for Real: Design of Embedded Real-Time Systems. Kluwer, Dordrecht (2003)Google Scholar
  7. 7.
    Gibbs, W.: Trends in computing: Software’s chronic crisis. Scientific American 271(3), 72–81 (1994)CrossRefGoogle Scholar
  8. 8.
    Smith, C.U.: Performance Engineering of Software Systems. The Sei Series in Software Engineering. Addison–Wesley, Reading (1990)Google Scholar
  9. 9.
    Booch, G., Jacobson, I., Rumbaugh, J.: The Unified Modeling Language. Addison Wesley, Reading (1999)Google Scholar
  10. 10.
    Jacobson, I., Christenson, M., Jhonsson, P., Overgaard, G.: Object-Oriented Software Engineering: A Use Case Driven Approach. Addison-Wesley, Reading (1992)zbMATHGoogle Scholar
  11. 11.
    Object Management Group: UML Profile for Schedulabibity, Performance and Time Specification (2005),
  12. 12.
    Object Management Group: UML Profile for Modeling Quality of Service and Fault Tolerant Characteristics and Mechanisms (2004),
  13. 13.
    Bondavalli, A., Dal Cin, M., Latella, D., Majzik, I., Pataricza, A., Savoia, G.: Dependability analysis in the early phases of UML-based system design. International Journal of Computer Systems Science & Engineering 16(5), 265–275 (2001)Google Scholar
  14. 14.
    Pettit IV, R., Gomaa, H.: Modeling Behavioral Patterns of Concurrent Software Architectures Using Petri Nets. In: 4th Working IEEE IFIP Conference on Software Architecture (WICSA), Oslo, Norway, pp. 57–68. IEEE Computer Society, Los Alamitos (2004)CrossRefGoogle Scholar
  15. 15.
    Saldhana, J., Shatz, S.: UML Diagrams to Object Petri Net Models: An Approach for Modeling and Analysis. In: Twelfth International Conference on Software Engineering and Knowledge Engineering, Chicago, IL, USA, Knowledge Systems Institute, pp. 103–110 (2000)Google Scholar
  16. 16.
    Canevet, C., Gilmore, S., Hillston, J., Kloul, L., Stevens, P.: Analysing UML 2.0 activity diagrams in the software performance engineering process. In: Proceedings of the 4th International Workshop on Software Performance (WOSP 2004), Redwood Shores, California, USA, pp. 74–78. ACM, New York (2004)CrossRefGoogle Scholar
  17. 17.
    Cortellessa, V., Mirandola, R.: Deriving a queueing network based performance model from UML diagrams. In: Proceedings of the Second International Workshop on Software and Performance (WOSP 2000), Ottawa, Canada, pp. 58–70. ACM, New York (2000)CrossRefGoogle Scholar
  18. 18.
    Smith, C.U., Williams, L.: Performance Solutions. Addison–Wesley, Reading (2002)Google Scholar
  19. 19.
    Gu, G., Petriu, D.: XSLT transformation from UML models to LQN performance models. In: Proceedings of the Third International Workshop on Software and Performance (WOSP 2002), Rome, Italy, pp. 25–34. ACM, New York (2002)Google Scholar
  20. 20.
    Petriu, D., Shen, H.: Applying the UML performance profile: Graph grammar-based derivation of LQN models from UML specifications. In: Field, T., Harrison, P.G., Bradley, J., Harder, U. (eds.) TOOLS 2002. LNCS, vol. 2324, pp. 159–177. Springer, Heidelberg (2002)Google Scholar
  21. 21.
    Baresi, L., Pezzè, M.: On formalizing UML with high-level Petri nets. In: Agha, G.A., De Cindio, F., Rozenberg, G. (eds.) APN 2001. LNCS, vol. 2001, pp. 276–304. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  22. 22.
    Gu, G., Petriu, D.: From UML to LQN by XML algebra-based model transformations. In: Proceedings of the Fifth International Workshop on Software and Performance (WOSP 2005), Palma, Spain, pp. 99–110. ACM, New York (2005)CrossRefGoogle Scholar
  23. 23.
    Merseguer, J.: Software Performance Engineering based on UML and Petri nets. PhD thesis, University of Zaragoza, Spain (2003)Google Scholar
  24. 24.
    Balsamo, S., Di Marco, A., Inverardi, P., Simeoni, M.: Model-based performance prediction in software development: a survey. IEEE Transactions on Software Engineering 30(5), 295–310 (2004)CrossRefGoogle Scholar
  25. 25.
  26. 26.
  27. 27.
    The Möbius Tool,
  28. 28.
  29. 29.
  30. 30.
    Cortellessa, V., Gentile, M., Pizzuti, M.: Xprit: An xml-based tool to translate uml diagrams into execution graphs and queueing networks. In: 1st International Conference on Quantitative Evaluation of Systems (QEST 2004), pp. 342–343 (2004)Google Scholar
  31. 31.
    Marzolla, M., Balsamo, S.: UML-PSI: the UML Performance SImulator. In: 1st International Conference on Quantitative Evaluation of Systems (QEST 2004), pp. 340–341 (2004)Google Scholar
  32. 32.
    Woodside, M., Petriu, D., Petriu, D., Shen, H., Israr, T., Merseguer, J.: Performance by unified model analysis (PUMA). In: Fifth International Workshop on Software and Performance (WOSP 2005), Palma, Spain, pp. 1–12. ACM, New York (2005)CrossRefGoogle Scholar
  33. 33.
    Merseguer, J., Campos, J.: Exploring roles for the UML diagrams in software performance engineering. In: Proceedings of the 2003 International Conference on Software Engineering Research and Practice (SERP 2003), Las Vegas, Nevada, USA, pp. 43–47. CSREA Press (2003)Google Scholar
  34. 34.
    Merseguer, J., Bernardi, S., Campos, J., Donatelli, S.: A compositional semantics for UML state machines aimed at performance evaluation. In: Giua, A., Silva, M. (eds.) Proceedings of the 6th International Workshop on Discrete Event Systems, Zaragoza, Spain, pp. 295–302. IEEE Computer Society Press, Los Alamitos (2002)CrossRefGoogle Scholar
  35. 35.
    Bernardi, S., Donatelli, S., Merseguer, J.: From UML sequence diagrams and statecharts to analysable Petri net models. In: Proceedings of the Third International Workshop on Software and Performance (WOSP 2002), Rome, Italy, pp. 35–45. ACM, New York (2002)CrossRefGoogle Scholar
  36. 36.
    López-Grao, J., Merseguer, J., Campos, J.: From UML activity diagrams to stochastic Petri nets: Application to software performance engineering. In: Proceedings of the Fourth International Workshop on Software and Performance (WOSP 2004), Redwood City, California, USA, pp. 25–36. ACM, New York (2004)CrossRefGoogle Scholar
  37. 37.
    Gómez Martínez, E., Merseguer, J.: ArgoSPE: Model-based software performance engineering. In: Donatelli, S., Thiagarajan, P.S. (eds.) ICATPN 2006. LNCS, vol. 4024, pp. 401–410. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  38. 38.
    Petriu, D.B., Woodside, C.M.: A metamodel for generating performance models from UML designs. In: Baar, T., Strohmeier, A., Moreira, A., Mellor, S.J. (eds.) UML 2004. LNCS, vol. 3273, pp. 41–53. Springer, Heidelberg (2004)Google Scholar
  39. 39.
    Grassi, V., Mirandola, R., Sabetta, A.: From design to analysis models: a kernel language for performance and reliability analysis of component-based systems. In: Proceedings of the Fifth International Workshop on Software and Performance (WOSP 2005), pp. 25–36 (2005)Google Scholar
  40. 40.
    Merseguer, J., Campos, J., Mena, E.: Analysing internet software retrieval systems: Modeling and performance comparison. Wireless Networks: The Journal of Mobile Communication, Computation and Information 9(3), 223–238 (2003)Google Scholar
  41. 41.
    Bernardi, S., Merseguer, J.: QoS assesment of fault tolerant applications via stochastics analysis. IEEE Internet Computing (to appear, 2006)Google Scholar
  42. 42.
    López-Grao, J., Merseguer, J., Campos, J.: Performance engineering based on UML and SPNs: A software performance tool. In: Proceedings of the Seventeenth International Symposium On Computer and Information Sciences (ISCIS XVII), Orlando, Florida, USA, pp. 405–409. CRC Press, Boca Raton (2002)Google Scholar
  43. 43.
    Myers, J., Rose, M.: RFC 1725: Post Office Protocol - version 3 (1994)Google Scholar
  44. 44.
    Object Management Group OMG Unified Modeling Language Specification, version 1.5 (2003),
  45. 45.
    Domínguez, E., Rubio, A., Zapata, M.: Dynamic semantics of UML state machines: A metamodelling perspective. Journal of Database Management 13, 20–38 (2002)CrossRefGoogle Scholar
  46. 46.
    Donatelli, S., Franceschinis, G.: PSR Methodology: integrating hardware and software models. In: Billington, J., Reisig, W. (eds.) ICATPN 1996. LNCS, vol. 1091, pp. 133–152. Springer, Heidelberg (1996)Google Scholar
  47. 47.
    Bernardi, S.: Building Stochastic Petri Net models for the verification of complex software systems. PhD thesis, Dipartimento di Informatica, Università di Torino (2003)Google Scholar
  48. 48.
    ArgoUML project:

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Javier Campos
    • 1
  • José Merseguer
    • 1
  1. 1.Departamento de Informática e Ingeniería de SistemasUniversidad de ZaragozaZaragozaSpain

Personalised recommendations