Software & Systems Modeling

, Volume 13, Issue 4, pp 1291–1317 | Cite as

Modeling event-based communication in component-based software architectures for performance predictions

  • Christoph Rathfelder
  • Benjamin Klatt
  • Kai Sachs
  • Samuel Kounev
Theme Section Paper

Abstract

Event-based communication is used in different domains including telecommunications, transportation, and business information systems to build scalable distributed systems. Such systems typically have stringent requirements for performance and scalability as they provide business and mission critical services. While the use of event-based communication enables loosely-coupled interactions between components and leads to improved system scalability, it makes it much harder for developers to estimate the system’s behavior and performance under load due to the decoupling of components and control flow. In this paper, we present our approach enabling the modeling and performance prediction of event-based systems at the architecture level. Applying a model-to-model transformation, our approach integrates platform-specific performance influences of the underlying middleware while enabling the use of different existing analytical and simulation-based prediction techniques. In summary, the contributions of this paper are: (1) the development of a meta-model for event-based communication at the architecture level, (2) a platform aware model-to-model transformation, and (3) a detailed evaluation of the applicability of our approach based on two representative real-world case studies. The results demonstrate the effectiveness, practicability and accuracy of the proposed modeling and prediction approach.

Keywords

Event-based Performance model  Performance evaluation Software architecture Component-based 

References

  1. 1.
    Descartes Research Group; http://www.descartes-research.net
  2. 2.
  3. 3.
    Bacon, J., Beresford, A. R., Evans, D., Ingram, D., Trigoni, N. Guitton, A., Skordylis A.: TIME: an open platform for capturing, processing and delivering transport-related data. In: Proceedings of the IEEE consumer communications and networking conference, pp. 687–691 (2008)Google Scholar
  4. 4.
    Balasubramanian, K., Balasubramanian, J., Parsons, J., Gokhale, A., Schmidt, D.C.: A platform-independent component modeling language for distributed real-time and embedded systems. J. Comput. Syst. Sci. 73(2), 171–185 (2007)CrossRefMATHGoogle Scholar
  5. 5.
    Becker, S.: Coupled model transformations for QoS enabled component-based software design, Karlsruhe Series on Software Design and Quality, vol. 1. Universitätsverlag Karlsruhe (2008)Google Scholar
  6. 6.
    Becker, S., Koziolek, H., Reussner, R.: The Palladio component model for model-driven performance prediction. J. Syst. Softw. 82, 3–22 (2009)CrossRefGoogle Scholar
  7. 7.
    Brosig, F., Huber, N., Kounev, S.: Automated extraction of architecture-level performance models of distributed component-based systems. In 26th IEEE/ACM international conference on automated software engineering (ASE 2011), Oread, Lawrence, Kansas, November 2011. To appear. Acceptance Rate (Full Paper): 14.7% (37/252)Google Scholar
  8. 8.
    Carzaniga, A., Di Nitto, E., Rosenblum, D.S., Wolf, A. L.: Issues in supporting event-based architectural styles. In: Proceedings of the Third International Workshop on Software Architecture, ISAW ’98, pp. 17–20, ACM, New York, NY, USA (1998)Google Scholar
  9. 9.
    Castelli, S., Costa, P., Picco, G.P.: Modeling the communication costs of content-based routing: the case of subscription forwarding. In DEBS ’07: Proceedings of the International Conference on Distributed Event-Based Systems, pp. 38–49, ACM, New York, NY, USA, (2007)Google Scholar
  10. 10.
    Cortellessa, V.: How far are we from the definition of a common software performance ontology? In WOSP ’05: Proceedings of the 5th International Workshop on Software and Performance, pp. 195–204, ACM Press, New York, NY, USA (2005) .Google Scholar
  11. 11.
    Cortellessa, V., Di Marco, A., Inverardi, P.: Integrating performance and reliability analysis in a non-functional MDA framework. In: Dwyer, M., B., Lopes, A. (eds.) Fundamental Approaches to Software Engineering, 10th international conference, FASE 2007, held as part of the joint European conferences, on theory and practice of software, ETAPS 2007, Braga, Portugal, March 24–April 1, 2007, Proceedings, volume 4422 of Lecture Notes in Computer Science, pp. 57–71. Springer (2007)Google Scholar
  12. 12.
    Cortellessa, V., Pierini, P., Rossi, D.: Integrating software models and platform models for performance analysis. IEEE Transact. Softw. Eng. 33(6), 385–401 (2007)CrossRefGoogle Scholar
  13. 13.
    Di Marco, A., Inveradi, P.: Compositional generation of software architecture performance QN Models. In: Proceedings of WICSA 2004, pp. 37–46 (2004)Google Scholar
  14. 14.
    Eugster, P.T., Felber, P.A., Guerraoui, R., Kermarrec, A.-M.: The many faces of publish/subscribe. ACM Comput. Surv. 35, 114–131 (2003)CrossRefGoogle Scholar
  15. 15.
    Evans, D., Bacon, J., Beresford, A.R., Gibbens, R., Ingram, D.: Time for change, pp. 52–56. In Intertraffic World, Annual Showcase (2010)Google Scholar
  16. 16.
    Gokhale, A., Natarjan, B., Schmidt, D.C., Nechypurenko, A., Wang, N., Gray, J., Neema, S., Bapty, T., Parsons, J., Cosmic: an MDA generative tool for distributed real-time and embdedded component middleware and applications. In: Proceedings of the OOPSLA, : Workshop on Generative Techniques in the Context of Model Driven Architecture. Seattle, WA (2002)Google Scholar
  17. 17.
    Gomaa H., Menascé D.A.: Design and performance modeling of component interconnection patterns for distributed software architectures. In: Proceedings of the Second International Workshop on Software and Performance, pp. 117–126. ACM Press, (2000)Google Scholar
  18. 18.
    Grassi, V., Mirandola, R., Sabetta, A.: From design to analysis models: a Kernel language for Performance and reliability analysis of component-based systems. In: WOSP ’05: Proceedings of the 5th international workshop on Software and Performance, pp. 25–36, New York, NY, USA, ACM Press (2005)Google Scholar
  19. 19.
    Gu G.P., Petriu, D.C.: Xslt transformation from uml models to lqn performance models. In: Proceedings of the Third International Workshop on Software and Performance, pp. 227–234. ACM Press (2002)Google Scholar
  20. 20.
    Happe, J., Becker, S., Rathfelder, C., Friedrich, H., Reussner, R.H.: Parametric performance completions for model-driven performance prediction. Perform. Evaluation 67(8), 694–716 (2010)CrossRefGoogle Scholar
  21. 21.
    Happe, J., Koziolek, H., Reussner, R.: Facilitating performance predictions using software components. IEEE Software 28(3), 27–33 (2011)Google Scholar
  22. 22.
    Henjes, R., Menth, M., Zepfel C., Throughput performance of java messaging services using WebsphereMQ. In: Distributed Computing Systems Workshops, 2006. ICDCS Workshops 2006. 26th IEEE International Conference on (2006)Google Scholar
  23. 23.
    Hinze, A., Buchmann, A.P. (eds.) Principles and applications of distributed event-based systems, IGI Global (2010)Google Scholar
  24. 24.
    Hinze, A., Sachs, K., Buchmann A.: Event-based applications and enabling technologies. In: Proceedings of the Third ACM International Conference on Distributed Event-Based Systems, DEBS ’09, pp. 1:1–1:15, ACM, New York, NY, USA (2009)Google Scholar
  25. 25.
    Hohpe, G., Woolf, B.: Enterprise Integration Patterns. Addison-Wesley, USA (2008)Google Scholar
  26. 26.
    Hunt, P.B., Robertson, D. I., Bretherton, R.D., Winton R. I.: SCOOT–a traffic responsive method of coordinating signals. Technical Report LR1014, Transport and Road Research Laboratory (1981)Google Scholar
  27. 27.
    Ingram D.: Reconfigurable middleware for high availability sensor systems. In: Proceedings of the Third ACM International Conference on Distributed Event-Based Systems, DEBS ’09, pp. 20:1–20:11, ACM, New York, NY, USA (2009)Google Scholar
  28. 28.
    Kaplan, J.M., Forrest, W., Kindler, N.: Revolutionizing data center energy efficiency. McKinsey & Company,Technical report (2008)Google Scholar
  29. 29.
    Klatt, B., Rathfelder, C., Kounev S.: Integration of event-based communication in the Palladio software quality prediction framework. In 7th ACM SIGSOFT international conference on the quality of software architectures (QoSA 2011), Boulder, Colorado, USA, June 20–24 (2011)Google Scholar
  30. 30.
    Kounev, S.: Engineering of next generation self-aware software systems: a research roadmap. In: Emerging Research Directions in Computer Science. Contributions from the Young Informatics Faculty in Karlsruhe. KIT Scientific Publishing, July (2010). ISBN 978-3-86644-508-6Google Scholar
  31. 31.
    Kounev S., Sachs K.: Benchmarking and performance modeling of event-based systems. it - Information Technology, 5, Sept. (2009)Google Scholar
  32. 32.
    Kounev, S., Sachs, K., Bacon,J., Buchmann. A.: A methodology for performance modeling of distributed event-based systems. In: Proceedings of the 11th IEEE Intl. Symposium on Object/Component/Service-oriented Real-time, Distributed Computing, May (2008)Google Scholar
  33. 33.
    Koziolek, H.: Performance evaluation of component-based software systems: a survey. Elsevier Perform. Evaluation 67(8), 634–658 (August 2010)Google Scholar
  34. 34.
    Koziolek, H., Reussner R., A model transformation from the Palladio component model to layered queueing networks. In: Performance Evaluation: Metrics, Models and Benchmarks, SIPEW 2008, volume 5119 of Lecture Notes in Computer Science, pp. 58–78. Springer, Heidelberg (2008)Google Scholar
  35. 35.
    Liu, Y., Gorton, I.: Performance prediction of J2EE applications Usuing messaging protocols, pp. 1–16. Component-Based, Software Engineering (2005)Google Scholar
  36. 36.
    Martinsky, O.: Javaanpr-automatic number plate recognition system. http://javaanpr.sourceforge.net/ (2006)
  37. 37.
    Marzolla, M.: Simulation-based performance modeling of UML software architectures. PhD Thesis TD-2004-1, Dipartimento di Informatica, Università Ca’ Foscari di Venezia, Mestre, Italy (2004)Google Scholar
  38. 38.
    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), Singapore, 25–27 (2011)Google Scholar
  39. 39.
    Menascé, D.A., Almeida, V.A.F., Dowdy L.W.: Performance by design, Prentice Hall(2004)Google Scholar
  40. 40.
    Menth M., Henjes R.: Analysis of the message waiting time for the FioranoMQ JMS server. In: Proceedings of ICDCS ’06, Washington, DC, USA (2006)Google Scholar
  41. 41.
    Mühl, G., Fiege, L., Pietzuch, P.R.: Distributed event-based systems, Springer (2006)Google Scholar
  42. 42.
    Mühl, G., Schröter, A., Parzyjegla, H., Kounev, S., Richling, J.: Stochastic analysis of hierarchical publish/subscribe systems. In: Proceedings of the 15th International European Conference on Parallel and Distributed Computing (Euro-Par 2009), Delft, The Netherlands, August 25–28. Springer (2009)Google Scholar
  43. 43.
    OMG O.: Mda guide v1.0.1. http://www.omg.org/cgi-bin/doc?omg/03-06-01 (2003)
  44. 44.
    OMG, O.: UML profile for schedulability, performance, and time (SPT), v1.1, Jan(2005)Google Scholar
  45. 45.
    OMG, O.: UML profile for modeling and analysis of real-time and embedded systems (MARTE), May (2006)Google Scholar
  46. 46.
    Petriu, D.C., Wang X.: From UML description of high-level software architecture to LQN performance models. In: Nagl, M., Schürr, A., Münch, M. (ed.) Proceedings of AGTIVE’99 Kerkrade, vol. 1779. Springer (2000)Google Scholar
  47. 47.
    Rathfelder C.: Modelling event-based interactions in component-based architectures for quantitative system evaluation. PhD thesis, Karlsruhe Institute of Technology (KIT), Dezember (2012)Google Scholar
  48. 48.
    Rathfelder C., Evans D., Kounev S.: Predictive modelling of peer-to-peer event-driven communication in component-based systems. In: Aldini, A., Bernardo, M., Bononi, L., Cortellessa, V. (eds.)Proceedings of the 7th European Performance Engineering Workshop (EPEW’10), University Residential Center of Bertinoro, Italy, volume 6342 of Lecture Notes in Computer Science, pp. 219–235. Springer, Heidelberg (2010)Google Scholar
  49. 49.
    Rathfelder C., Klatt, B., Kounev, S., Evans D.: Towards middleware-aware integration of event-based communication into the Palladio component model (Poster Paper). In: Proceedings of the 4th ACM International Conference on Distributed Event-Based Systems (DEBS-2010), Cambridge, UK: ACM. USA, New York (2010)Google Scholar
  50. 50.
    Rathfelder, C., Kounev, S.: Modeling event-driven service-oriented systems using the Palladio component model. In: Proceedings of the 1st International Workshop on the Quality of Service-Oriented Software Systems (QUASOSS), pp. 33–38. ACM, New York, NY, USA (2009)Google Scholar
  51. 51.
    Sachs K.: Performance modeling and benchmarking of event-based systems. PhD thesis, TU Darmstadt (2011)Google Scholar
  52. 52.
    Sachs, K., Kounev, S., Bacon, J., Buchmann, A.: Benchmarking message-oriented middleware using the SPECjms2007 benchmark. Perform. Evaluation 66(8), 410–434 (2009)CrossRefGoogle Scholar
  53. 53.
    Sachs, K., Kounev, S., Buchmann, A.: Performance modeling and analysis of message-oriented event-driven systems. Software and Systems Modeling, pp. 1–25Google Scholar
  54. 54.
    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). Acceptance Rate: 25%Google Scholar
  55. 55.
    Smith, C.U.: Performance Engineering Software Systems. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA (1990)Google Scholar
  56. 56.
    Sun Microsystems. Java Message Service (JMS) Specification - Ver. 1.1 (2002)Google Scholar
  57. 57.
    Verdickt, T., Dhoedt, B., Gielen, F., Demeester, P.: Automatic inclusion of middleware performance attributes into architectural UML software models. IEEE Transact. Softw. Eng. 31(8), 695–711 (2005)Google Scholar
  58. 58.
    Westermann, D., Happe, J., Hauck, M., Heupel C.: The performance cockpit approach: a framework for systematic performance evaluations. In: Proceedings of the 36th EUROMICRO Conference on Software Engineering and Advanced Applications (SEAA 2010), pp. 31–38. IEEE Computer Society (2010)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Christoph Rathfelder
    • 1
  • Benjamin Klatt
    • 1
  • Kai Sachs
    • 2
  • Samuel Kounev
    • 3
  1. 1.FZI Research Center for Information TechnologyKarlsruheGermany
  2. 2.SAP AGWalldorfGermany
  3. 3.Karlsruhe Institute of Technology (KIT)KarlsruheGermany

Personalised recommendations