Software Performance Modeling Using UML and Petri Nets

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


Software systems are today one of the most complex artifacts, they are simultaneously used by hundred-thousand of people sometimes in risk real time operations, such as auctions or electronic commerce. Nevertheless, it is a common practice to deploy them without the expected performance. Software Performance Engineering has emerged as a discipline to complement Software Engineering research in order to address this kind of problems. In this work, we survey some recent contributions in the field of Software Performance Engineering. The approach surveyed has as main features that it uses the UML diagrams to specify the functional and performance requeriments of the system and the stochastic Petri nets formalism to analyse it.


Sequence Diagram Activity Diagram Continuous Time Markov Chain Case Diagram Basic Skeleton 
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.
    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)zbMATHGoogle Scholar
  2. 2.
    Aquilani, F., Balsamo, S., Inverardi, P.: Performance analysis at the software architectural design level. Performance Evaluation 45, 147–178 (2001)zbMATHCrossRefGoogle Scholar
  3. 3.
    Bernardi, S.: Building Stochastic Petri Net models for the verification of complex software systems, Ph.D. thesis, Dipartimento di Informatica, Università di Torino (April 2003)Google Scholar
  4. 4.
    Bernardi, S., Donatelli, S., Merseguer, J.: From UML sequence diagrams and statecharts to analysable Petri net models. In: Proceedings of the ThirdInternational Workshop on Software and Performance (WOSP 2002), Rome, Italy, July 2002, pp, pp. 35–45. ACM, New York (2002)CrossRefGoogle Scholar
  5. 5.
    Berthelot, G.: Transformations and decompositions of nets. In: Brauer, W., Reisig, W., Rozenberg, G. (eds.) APN 1986. LNCS, vol. 254, pp. 359–376. Springer, Heidelberg (1987)Google Scholar
  6. 6.
    Brooks, F.P.: Essence and accidents of software engineering. IEEE Computer 20(4), 10–19 (1987)MathSciNetGoogle Scholar
  7. 7.
    Campos, J., Chiola, G., Silva, M.: Properties and performance bounds for closed free choice synchronized monoclass queueing networks. IEEE Transactions on Automatic Control 36 (12), 1368–1382 (1991)zbMATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    Campos, J., Donatelli, S., Silva, M.: Structured solution of asynchronously communicating stochastic modules. IEEE Transactions on Software Engineering 25(2), 147–165 (1999)CrossRefGoogle Scholar
  9. 9.
    Chiola, G., Anglano, C., Campos, J., Colom, J.M., Silva, M.: Operational analysis of timed Petri nets and application to the computation of performance bounds. In: Proceedings of the 5th International Workshop on Petri Nets and Performance Models, Toulouse, France, October 1993, pp. 128–137. IEEE-Computer Society Press, Los Alamitos (1993)CrossRefGoogle Scholar
  10. 10.
    Colom, J.M., Silva, M.: Improving the linearly based characterization of P/T nets. In: Rozenberg, G. (ed.) APN 1990. LNCS, vol. 483, pp. 113–145. Springer, Heidelberg (1991)Google Scholar
  11. 11.
    Cortellessa, V., Mirandola, R.: Deriving a queueing network based performance model from UML diagrams. In: Woodside et al. [46], pp. 58–70Google Scholar
  12. 12.
    de Miguel, M., Lambolais, T., Hannouz, M., Betge, S., Piekarec, S.: UML extensions for the specification of latency constraints in architectural models. In: Woodside et al. [46], pp. 83–88Google Scholar
  13. 13.
    Domínguez, E., Rubio, A.L., Zapata, M.A.: Dynamic semantics of UML state machines: A metamodelling perspective. Journal of Database Management 13, 20–38 (2002)CrossRefGoogle Scholar
  14. 14.
    Dumke, R.R., Rautenstrauch, C., Schmietendorf, A., Scholz, A. (eds.): WOSP 2000 and GWPESD 2000. LNCS, vol. 2047. Springer, Heidelberg (2001)zbMATHGoogle Scholar
  15. 15.
    Gomaa, H., Menascé, D.: Design and performance modeling of component interconnection patterns for distributed software architectures. In: Woodside et al. [46], pp. 117–126Google Scholar
  16. 16.
  17. 17.
    Hermanns, H., Herzog, U., Katoen, J.P.: Process algebra for performance evaluation. Theoretical Computer Science 274(1-2), 43–87 (2002)zbMATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    Inverardi, P., Balsamo, S., Selic, B. (eds.): Proceedings of the Third International Workshop on Software and Performance, Rome, Italy, July 24-26. ACM, New York (2002)Google Scholar
  19. 19.
    Jacobson, I., Christenson, M., Jhonsson, P., Overgaard, G.: Object-oriented software engineering: A use case driven approach. Addison-Wesley, Reading (1992)zbMATHGoogle Scholar
  20. 20.
    Kant, K.: Introduction to computer system performance evaluation. Mc Graw-Hill, New York (1992)Google Scholar
  21. 21.
    King, P., Pooley, R.: Using UML to derive stochastic Petri nets models. In: Bradley, J., Davies, N. (eds.) Proceedings of the Fifteenth Annual UK Performance Engineering Workshop, Department of Computer Science, University of Bristol, July 1999, pp. 45–56 (1999)Google Scholar
  22. 22.
    López-Grao, J.P., Merseguer, J., Campos, J.: From UML activity diagrams to stochastic PNs: Application to software performance engineering. In: Proceedings of the Fourth International Workshop on Software and Performance (WOSP 2004), Redwood City, California, USA, January 2004, ACM, New York (2004)Google Scholar
  23. 23.
    Merseguer, J.: Software performance engineering based on UML and Petri nets, Ph.D. thesis, University of Zaragoza, Spain (March 2003)Google Scholar
  24. 24.
    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, October 2002, pp. 295–302. IEEE Computer Society Press, Los Alamitos (2002)CrossRefGoogle Scholar
  25. 25.
    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, June 2003, pp. 43–47. CSREA Press (2003)Google Scholar
  26. 26.
    Merseguer, J., Campos, J., Mena, E.: A pattern-based approach to model software performance. In: Woodside et al. [46], pp. 137–142Google Scholar
  27. 27.
    Merseguer, J., Campos, J., Mena, E.: A performance engineering case study: Software retrieval system. In: Dumke et al. [14], pp. 317–332Google Scholar
  28. 28.
    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
  29. 29.
    Molloy, M.K.: Performance analysis using stochastic Petri nets. IEEE Transactions on Computers 31(9), 913–917 (1982)CrossRefGoogle Scholar
  30. 30.
    Object Management Group.:
  31. 31.
    Object Management Group: UML Profile for Schedulabibity, Performance and Time Specification (March 2002),
  32. 32.
    Object Management Group: OMG Unified Modeling Language specification, version 1.5 (March 2003),
  33. 33.
    Pérez-Jiménez, C.J., Campos, J.: On state space decomposition for the numerical analysis of stochastic Petri nets. In: Proceedings of the 8th International Workshop on Petri Nets and Performance Models, Zaragoza, Spain, September 1999, pp. 32–41. IEEE Computer Society Press, Los Alamitos (1999)Google Scholar
  34. 34.
    Petriu, D., Shen, H.: Applying the UML performance profile: Graph grammarbased 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
  35. 35.
    Pooley, R., King, P.: The Unified Modeling Language and performance engineering. In: IEE Proceedings Software, February 1999, pp. 2–10. IEE (1999)Google Scholar
  36. 36.
    ArgoUML project,
  37. 37.
    Rumbaugh, J., Blaha, M., Premerlani, W., Frederick, E., Lorensen, W.: Object oriented modeling and design. Prentice-Hall, Englewood Cliffs (1991)Google Scholar
  38. 38.
    Schmietendorf, A., Scholz, A.: Aspects of performance engineering - An overview. In: Dumke et al. [14], pp. IX–XIIGoogle Scholar
  39. 39.
    Silva, M.: Las redes de Petri en la automática y la informática. Editorial AC, Madrid (1985) (in Spanish)Google Scholar
  40. 40.
    Smith, C.U.: Performance engineering of software systems. The Sei Series in Software Engineering. Addison–Wesley, Reading (1990)Google Scholar
  41. 41.
    Smith, C.U.: Increasing information systems productivity by software performance engineering. In: Deese, D.R., Bishop, R.J., Mohr, J.M., Artis, H.P. (eds.) Proceedings of the Seventh International Computer Measurement Group Conference, New Orleans, LA, USA, December 1-4, pp. 5–14. Computer Measurement Group (1981)Google Scholar
  42. 42.
    Smith, C.U.: Origins of software performance engineering: Highlights and outstanding problems. In: Dumke et al. [14], pp. 96–118Google Scholar
  43. 43.
    Smith, C.U., Williams, L.l.G.: Software performance antipatterns. In: Woodside et al. [46], pp. 127–136.Google Scholar
  44. 44.
    Smith, C.U., Woodside, M., Clements, P. (eds.): Proceedings of the First International Workshop on Software and Performance, Santa Fe, New Mexico, USA, October 12-16. ACM, New York (1998)Google Scholar
  45. 45.
    Utton, P., Hill, B.: Performance prediction: an industry perspective. In: Performance Tools 1997 Conference, St Malo, June 1997, pp. 1–5 (1997)Google Scholar
  46. 46.
    Woodside, M., Gomaa, H., Menascé, D. (eds.): Proceedings of the Second International Workshop on Software and Performance, Ottawa, Canada, September 17-20. ACM, New York (2000)Google Scholar
  47. 47.
    Woodside, M., Hrischuck, C., Selic, B., Bayarov, S.: A wideband approach to integrating performance prediction into a software design environment. In: Smith et al. [44], pp. 31–41Google Scholar
  48. 48.
    Woodside, M., Hrischuck, C., Selic, B., Bayarov, S.: Automated performance modeling of software generated by a design environment. Performance Evaluation 45, 107–123 (2001)zbMATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

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

Personalised recommendations