Software & Systems Modeling

, Volume 12, Issue 4, pp 705–729 | Cite as

Performance modeling and analysis of message-oriented event-driven systems

  • Kai SachsEmail author
  • Samuel Kounev
  • Alejandro Buchmann
Theme Section Paper


Message-oriented event-driven systems are becoming increasingly ubiquitous in many industry domains including telecommunications, transportation and supply chain management. Applications in these areas typically have stringent requirements for performance and scalability. To guarantee adequate quality-of-service, systems must be subjected to a rigorous performance and scalability analysis before they are put into production. In this paper, we present a comprehensive modeling methodology for message-oriented event-driven systems in the context of a case study of a representative application in the supply chain management domain. The methodology, which is based on queueing Petri nets, provides a basis for performance analysis and capacity planning. We study a deployment of the SPECjms2007 standard benchmark on a leading commercial middleware platform. A detailed system model is built in a step-by-step fashion and then used to predict the system performance under various workload and configuration scenarios. After the case study, we present a set of generic performance modeling patterns that can be used as building blocks when modeling message-oriented event-driven systems. The results demonstrate the effectiveness, practicality and accuracy of the proposed modeling and prediction approach.


Event-based Performance model Performance evaluation Message-oriented middleware Performance pattern 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Hinze, A., Sachs, K., Buchmann, A.: Event-based applications and enabling technologies. In: Proceedings of the International Conference on Distributed Event-Based Systems (DEBS 2009), (2009)Google Scholar
  2. 2.
    Sachs K., Kounev S., Bacon J., Buchmann A.: Performance evaluation of Message-Oriented Middleware using the SPECjms2007 benchmark. Perform. Eval. 66(8), 410–434 (2009)CrossRefGoogle Scholar
  3. 3.
    Bause, F.: Queueing Petri nets—a formalism for the combined qualitative and quantitative analysis of systems. In: Proceedings of the 5th International Workshop on Petri Nets and Performance Models (PNPM 1993), Toulouse (France), (1993)Google Scholar
  4. 4.
    Bause F., Buchholz P.: Queueing Petri nets with product form solution. Perform. Eval. 32(4), 265–299 (1998)CrossRefGoogle Scholar
  5. 5.
    Bause, F., Buchholz, P., Kemper, P.: QPN-tool for the specification and analysis of hierarchically combined queueing Petri nets. In: Quantitative Evaluation of Computing and Communication Systems, ser. LNCS, H. Beilner and F. Bause, Eds., 977. Springer (1995)Google Scholar
  6. 6.
    Kounev S., Buchmann A.: SimQPN—a tool and methodology for analyzing queueing Petri net models by means of simulation. Perform. Eval. 63(4–5), 364–394 (2006)CrossRefGoogle Scholar
  7. 7.
    Sun Microsystems: Java Message Service (JMS) Specification-Ver. (2002)Google Scholar
  8. 8.
    Hohpe G., Woolf B.: Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. Addison-Wesley, Boston (2003)Google Scholar
  9. 9.
    Sachs, K.: Performance modeling and benchmarking of event-based systems. Ph.D. dissertation, TU Darmstadt (2010)Google Scholar
  10. 10.
    Bause, F., Buchholz, P., Kemper, P.: Integrating software and hardware performance models using hierarchical queueing Petri nets. In: Proceedings of the 9. ITG / GI-Fachtagung Messung, Modellierung und Bewertung von Rechen-und Kommunikationssystemen, (MMBÕ97), Freiberg, Germany (1997)Google Scholar
  11. 11.
    Kounev S.: Performance modeling and evaluation of distributed component-based systems using queueing Petri nets. IEEE Trans. Softw. Eng. 32(7), 486–502 (2006)CrossRefGoogle Scholar
  12. 12.
    Kounev, S., Dutz, C.: QPME—a performance modeling tool based on queueing Petri nets. ACM SIGMETRICS Perform. Eval. Rev. 36(4), (2009)Google Scholar
  13. 13.
    Descartes Research Group. (2011) QPME Project Website. [Online]. Available:
  14. 14.
    Meier, P., Kounev, S., Koziolek, H.: Automated transformation of palladio component models to queueing Petri nets. In: 19th IEEE/ACM International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems (MASCOTS 2011), (2011)Google Scholar
  15. 15.
    Kounev, S., Bender, K., Brosig, F., Huber, N., Okamoto, R.: Automated simulation-based capacity planning for enterprise data fabrics. In: 4th International ICST Conference on Simulation Tools and Techniques (SIMUTools 2011), (2011)Google Scholar
  16. 16.
    Henjes, R., Menth, M., Zepfel, C.: Throughput performance of Java messaging services using websphereMQ. In: Proceedings of the 26th IEEE International Conferenceon Distributed Computing Systems Workshops (ICDCSW ’06), (2006)Google Scholar
  17. 17.
    Menth, M., Henjes, R.: Analysis of the message waiting time for the FioranoMQ JMS server. In: Proceedings of the 26th IEEE International Conference on Distributed Computing Systems (ICDCS’06), (2006)Google Scholar
  18. 18.
    Happe, J., Friedrich, H., Becker, S., Reussner, R.H.: A pattern-based performance completion for Message-Oriented Middleware. In: Proceedings of the 7th international workshop on Software and performance (WOSP 2008), (2008)Google Scholar
  19. 19.
    Liu, Y., Gorton, I.: Performance prediction of J2EE applications using messaging protocols. In: Proceedings of Component-Based Software Engineering, 8th International Symposium (CBSE 2005), St. Louis, MO (USA), ser. Lect. Notes Comput. Sci., 3489. Springer, (2005)Google Scholar
  20. 20.
    Carzaniga, A., Rosenblum, D.S., Wolf, A.L.: Design and evaluation of a wide-area event notification service. ACM Trans. Comput. Syst. 19(3), (2001)Google Scholar
  21. 21.
    Jaeger, M.A., Mühl, G.: Stochastic analysis and comparison of self-stabilizing routing algorithms for publish/subscribe systems. In: Proceedings of the 13th IEEE International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS 2005), (2005)Google Scholar
  22. 22.
    Mühl, G., Schröter, A., Parzyjegla, H., Kounev, S., Richling, J.: Stochastic analysis of hierarchical publish/subscribe systems. In: Euro-Par 2009 Parallel Processing, ser. Lect. Notes Comput. Sci., 5704. Springer (2009)Google Scholar
  23. 23.
    Schröter, A., Mühl, G., Kounev, S., Parzyjegla, H., Richling, J.: Stochastic performance analysis and capacity planning of publish/subscribe systems. In: 4th ACM International Conference on Distributed Event-Based Systems (DEBS 2010), July 12–15, Cambridge, UK. ACM, New York, USA (2010)Google Scholar
  24. 24.
    Kounev, S., Sachs, K., Bacon, J., Buchmann, A.P.: A methodology for performance modeling of distributed event-based systems. In: Proceedings of 11th IEEE International Symposium on Object/component/service-oriented Real-time distributed Computing (ISORC’08). IEEE (2008)Google Scholar
  25. 25.
    He, F., Baresi, L., Ghezzi, C., Spoletini, P.: Formal analysis of publish-subscribe systems by probabilistic timed automata. In: Formal Techniques for Networked and Distributed Systems (FORTE 2007), ser. Lect. Notes Comput. Sci., 4574 (2007)Google Scholar
  26. 26.
    Kounev S., Sachs K.: Benchmarking and performance modeling of event-based systems. Inform. Technol. 51(5), 262–269 (2009)Google Scholar
  27. 27.
    Gamma, E., Helm, R., Johnson, R.E., Vlissides, J.M.: Design patterns: abstraction and reuse of object-oriented design. In: Proceedings of the 7th European Conference on Object-Oriented Programming (ECOOP’93), ser. Lect. Notes Comput. Sci., 707. Springer (1993)Google Scholar
  28. 28.
    Naedele, M., Janneck, J.W.: Design patterns in Petri net system modeling. In: Proceedings of the IEEE International Conference on Engineering of Complex Computer Systems (ICECCS’98). IEEE, (1998)Google Scholar
  29. 29.
    Mulyar, N., von der Aalst, W.: Towards a pattern language for colored Petri nets. In: Proceedings of the Sixth Workshop and Tutorial on Practical Use of Coloured Petri Nets and the CPN Tools (CPN ’05), (2005)Google Scholar
  30. 30.
    Mulyar, N., von der Aalst, W.: Patterns in Colored Petri Nets. BETA Working Paper Series, WP 139, Eindhoven University of Technology, Eindhoven, Tech. Rep., (2005)Google Scholar
  31. 31.
    Bellur, U., Shirabate, A.: Performance prediction and physical design of J2EE based web applications. In: World Scientific and Engineering Academy and Society—Circuits, Systems, Communications, Computers (WSEAS CSCC 2004), (2004)Google Scholar
  32. 32.
    Lee, N., Hong, J., Cha, S., Bae, D.: Towards reusable colored Petri nets. In: Proceedings of the International Symposium on Software Engineering for Parallel and Distributed Systems (PDSE’98). IEEE, (1998)Google Scholar
  33. 33.
    Pettit R. IV, Gomaa, H.: Modeling behavioral patterns of concurrent software architectures using Petri nets. In: Proceedings of the Working IEEE/IFIP Conference on Software Architecture (WICSA’04). IEEE, (2004)Google Scholar
  34. 34.
    Pettit R. IV, Gomaa, H.: Modeling Behavioral Patterns of Concurrent Objects Using Petri Nets. In: Proceedings of the IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC’06), (2006)Google Scholar
  35. 35.
    Pettit R. IV, Gomaa, H.: Analyzing behavior of concurrent software designs for embedded systems. In: Proceedings of the IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC’07), (2007)Google Scholar
  36. 36.
    Sachs, K., Appel, S., Kounev, S., Buchmann, A.: Benchmarking publish/subscribe-based messaging systems. In: Database Systems for Advanced Applications (DASFAA 2010) International Workshops: BenchmarX10, ser. Lect. Notes Comput. Sci., 6193. Springer (2010)Google Scholar
  37. 37.
    Bause, F.: QN + PN = QPN—Combining queueing networks and Petri nets. Department of CS, University of Dortmund, Germany, Technical Report No. 461, 1993Google Scholar
  38. 38.
    Kounev, S.: J2EE performance and scalability—from measuring to predicting. In: Proceedings of the SPEC Benchmark Workshop 2006 (SPEC’06). SPEC, (2006)Google Scholar
  39. 39.
    Kounev, S.: Performance engineering of distributed component-based systems—Benchmarking, modeling and performance prediction. Ph.D. dissertation, Technische Universität Darmstadt, (2005)Google Scholar
  40. 40.
    Bause F., Kritzinger F.: Stochastic Petri Nets—An Introduction to the Theory. Vieweg Verlag, Berlin (2002)CrossRefzbMATHGoogle Scholar
  41. 41.
    Bolch G., Greiner S., Meer H.d., Trivedi K.S.: Queueing Networks and Markov Chains. Wiley, Hoboken (2005)Google Scholar
  42. 42.
    Genrich H.J., Lautenbach K.: System Modelling with high-level Petri nets. Theor. Comput. Sci. 13, 109–136 (1981)MathSciNetCrossRefzbMATHGoogle Scholar
  43. 43.
    Jensen, K., Rozenberg, G. (eds): High-level Petri Nets: Theory and Application. Springer, Berlin (1991)zbMATHGoogle Scholar
  44. 44.
    Jensen, K.: How to find invariants for coloured Petri nets. In: Proceedings on Mathematical Foundations of Computer Science, ser. Lect. Notes Comput. Sci., 118. Springer (1981)Google Scholar
  45. 45.
    Jensen K.: Coloured Petri nets and the invariant-method. Theor. Comput. Sci. 14, 317–336 (1981)CrossRefzbMATHGoogle Scholar
  46. 46.
    Bause, F., Kemper, P.: QPN-Tool for qualitative and quantitative analysis of queueing Petri nets. In: Proceedings of the 7th International Conference on Computer Performance Evaluation: Modelling Techniques and Tools, ser. Lect. Notes Comput. Sci., 794. Springer (1994)Google Scholar
  47. 47.
    Kounev, S., Dutz, C., Buchmann, A.: QPME—Queueing Petri Net Modeling Environment. In: Proceedings of the Third International Conference on the Quantitative Evaluaiton of Systems (QEST 2006). IEEE Computer Society (2006)Google Scholar

Copyright information

© Springer-Verlag 2012

Authors and Affiliations

  1. 1.SAP AGWalldorfGermany
  2. 2.Karlsruhe Institute of TechnologyKarlsruheGermany
  3. 3.TU DarmstadtDarmstadtGermany

Personalised recommendations