Application of Advanced Model-Driven Techniques in Performance Engineering

  • Lucia Kapova
  • Ralf Reussner
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6342)


Software performance engineering supports software architects to identify potential performance problems, such as bottlenecks, in their software systems during the design phase. In such early stages of the software life-cycle, only little information is available about the system’s implementation and execution environment. However, these details are crucial for accurate performance predictions. Performance completions close the gap between available high-level models and required low-level details. Using model-driven technologies, transformations can include details of the implementation and execution environment into abstract performance models. Existing approaches do not consider the relation of actual implementations and performance models used for prediction. Furthermore, they neglect the broad variety of implementations and middleware platforms, possible configurations, and varying usage scenarios. To allow more accurate performance predictions, we extend classical performance engineering by automated model refinements based on a library of reusable performance completions. We use model-driven techniques, more specifically higher-order transformations, to implement and automatically integrate performance completions in the context of the Palladio Component Model. With our tool set, software architects can model an application in a language specific to their domain. They can annotate the model elements that require further refinement. Higher-order transformations then apply the selected completion with its configuration. In a case study of a middleware configuration, we illustrate the benefit of performance completions with respect to the accuracy of performance predictions.


Model Transformation Object Management Group Mark Model Performance Completion Palladio Component Model 
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.
    Balsamo, S., Di Marco, A., Inverardi, P., Simeoni, M.: Model-Based Performance Prediction in Software Development: A Survey. Transactions on Software Engineering 30(5), 295–310 (2004)CrossRefGoogle Scholar
  2. 2.
    Becker, S., Koziolek, H., Reussner, R.: Model-based Performance Prediction with the Palladio Component Model. In: Proceedings of the 6th International Workshop on Software and Performance (WOSP 2007). SIGSOFT Software Engineering Notes, pp. 56–67. ACM, New York (February 2007)Google Scholar
  3. 3.
    Becker, S., Koziolek, H., Reussner, R.: The Palladio component model for model-driven performance prediction 82, 3–22 (2009)Google Scholar
  4. 4.
    Bernardo, M., Hillston, J. (eds.): Formal Methods for Performance Evaluation (7th International School on Formal Methods for the Design of Computer, Communication, and Software Systems, SFM 2007). LNCS, vol. 4486. Springer, Heidelberg (May 2007)zbMATHGoogle Scholar
  5. 5.
    Cortellessa, V., Pierini, P., Rossi, D.: Integrating Software Models and Platform Models for Performance Analysis. Transactions on Software Engineering 33(6), 385–401 (2007)CrossRefGoogle Scholar
  6. 6.
    Czarnecki, K., Eisenecker, U.W.: Generative Programming (2000)Google Scholar
  7. 7.
    Czarnecki, K., Eisenecker, U.W.: Generative Programming - Methods, Tools and Applications. Addison-Wesley, Reading (2000)Google Scholar
  8. 8.
    Douglass, B.P.: Real-Time Design Patterns. Object Technology Series. Addison-Wesley Professional, Reading (2002)Google Scholar
  9. 9.
    Goldschmidt, T., Wachsmuth, G.: Refinement transformation support for QVT Relational transformations. In: 3rd Workshop on Model Driven Software Engineering, MDSE 2008 (2008)Google Scholar
  10. 10.
    Grassi, V., Mirandola, R., Sabetta, A.: A Model Transformation Approach for the Early Performance and Reliability Analysis of Component-Based Systems. In: Gorton, I., Heineman, G.T., Crnković, I., Schmidt, H.W., Stafford, J.A., Szyperski, C., Wallnau, K. (eds.) CBSE 2006. LNCS, vol. 4063, pp. 270–284. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  11. 11.
    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), pp. 165–176. ACM, New York (2008)CrossRefGoogle Scholar
  12. 12.
    Happe, J., Westermann, D., Sachs, K., Kapova, L.: Statistical Inference of Software Performance Models for Parametric Performance Completions. In: Heineman, G.T., Kofron, J., Plasil, F. (eds.) Research into Practice – Reality and Gaps. LNCS, vol. 6093, pp. 20–35. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  13. 13.
    Kapova, L., Becker, S.: Systematic refinement of performance models for concurrent component-based systems. In: 7th International Workshop on Formal Engineering approaches to Software Components and Architectures (FESCA). ENTCS. Elsevier, Amsterdam (2010)Google Scholar
  14. 14.
    Kapova, L., Goldschmidt, T.: Automated feature model-based generation of refinement transformations. In: Proceedings of the 35th EUROMICRO Conference on Software Engineering and Advanced Applications (SEAA). IEEE, Los Alamitos (2009)Google Scholar
  15. 15.
    Kapova, L., Goldschmidt, T., Becker, S., Henss, J.: Evaluating Maintainability with Code Metrics for Model-to-Model Transformations. In: Heineman, G.T., Kofron, J., Plasil, F. (eds.) Research into Practice – Reality and Gaps. LNCS, vol. 6093, pp. 151–166. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  16. 16.
    Kapova, L., Zimmerova, B., Martens, A., Happe, J., Reussner, R.H.: State dependence in performance evaluation of component-based software systems. In: Proceedings of the 1st Joint WOSP/SIPEW International Conference on Performance Engineering (WOSP/SIPEW 2010). ACM, New York (2010)Google Scholar
  17. 17.
    Koziolek, H., Becker, S., Happe, J.: Predicting the Performance of Component-based Software Architectures with different Usage Profiles. In: Overhage, S., Szyperski, C., Reussner, R., Stafford, J.A. (eds.) QoSA 2007. LNCS, vol. 4880, pp. 145–163. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  18. 18.
    Koziolek, H., Happe, J., Becker, S.: Parameter Dependent Performance Specifications of Software Components. In: Hofmeister, C., Crnković, I., Reussner, R., Becker, S. (eds.) QoSA 2006. LNCS, vol. 4214, pp. 163–179. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  19. 19.
    Object Management Group. MOF 2.0 Query/View/Transformation, version 1.0 (April 2008)Google Scholar
  20. 20.
    Object Management Group (OMG). Unified Modeling Language Specification: Version 2, Revised Final Adopted Specification, ptc/05-07-04 (2005)Google Scholar
  21. 21.
    Object Management Group (OMG). Model Driven Architecture - Specifications (2006)Google Scholar
  22. 22.
    Object Management Group (OMG). UML Profile for Schedulability, Performance and Time (2005), (last retrieved 2008-01-13)
  23. 23.
    Object Management Group (OMG). UML Profile for Modeling and Analysis of Real-Time and Embedded systems (MARTE), Beta 1 (2007) (last retrieved 2008-01-13)Google Scholar
  24. 24.
    Object Management Group (OMG). Unified Modeling Language: Superstructure version 2.1.1 (2007) (last retrieved 2008-01-13)Google Scholar
  25. 25.
    Reussner, R.H., Becker, S., Koziolek, H., Happe, J., Kuperberg, M., Krogmann, K.: The Palladio Component Model. Interner Bericht 2007-21, Universität Karlsruhe (TH) (October 2007)Google Scholar
  26. 26.
    Smith, C.U.: Performance Solutions: A Practical Guide To Creating Responsive, Scalable Software. Addison-Wesley, Reading (2002)Google Scholar
  27. 27.
    Szyperski, C., Gruntz, D., Murer, S.: Component Software: Beyond Object-Oriented Programming, 2nd edn. ACM Press/Addison-Wesley, New York (2002)Google Scholar
  28. 28.
    Verdickt, T., Dhoedt, B., Gielen, F., Demeester, P.: Automatic Inclusion of Middleware Performance Attributes into Architectural UML Software Models. IEEE Transactions on Software Engineering 31(8), 695–711 (2005)CrossRefGoogle Scholar
  29. 29.
    Woodside, M.: Tutorial Introduction to Layered Modeling of Software Performance (May 2002) (last retrieved 2008-01-13)Google Scholar
  30. 30.
    Woodside, M., Franks, G., Petriu, D.C.: The Future of Software Performance Engineering. In: Proceedings of ICSE 2007, Future of SE, pp. 171–187. IEEE Computer Society, Washington (2007)Google Scholar
  31. 31.
    Wu, X., Woodside, M.: Performance Modeling from Software Components. SIGSOFT Softw. Eng. Notes 29(1), 290–301 (2004)CrossRefGoogle Scholar
  32. 32.
    Wu, X., Woodside, M.: Performance Modeling from Software Components. SIGSOFT Softw. Eng. Notes 29(1), 290–301 (2004)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Lucia Kapova
    • 1
  • Ralf Reussner
    • 1
  1. 1.Software Design and Quality GroupKarlsruhe Institute of Technology (KIT)Germany

Personalised recommendations