Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
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)
Becker, S., Koziolek, H., Reussner, R.: The Palladio component model for model-driven performance prediction 82, 3–22 (2009)
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)
Cortellessa, V., Pierini, P., Rossi, D.: Integrating Software Models and Platform Models for Performance Analysis. Transactions on Software Engineering 33(6), 385–401 (2007)
Czarnecki, K., Eisenecker, U.W.: Generative Programming (2000)
Czarnecki, K., Eisenecker, U.W.: Generative Programming - Methods, Tools and Applications. Addison-Wesley, Reading (2000)
Douglass, B.P.: Real-Time Design Patterns. Object Technology Series. Addison-Wesley Professional, Reading (2002)
Goldschmidt, T., Wachsmuth, G.: Refinement transformation support for QVT Relational transformations. In: 3rd Workshop on Model Driven Software Engineering, MDSE 2008 (2008)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Object Management Group. MOF 2.0 Query/View/Transformation, version 1.0 (April 2008)
Object Management Group (OMG). Unified Modeling Language Specification: Version 2, Revised Final Adopted Specification, ptc/05-07-04 (2005)
Object Management Group (OMG). Model Driven Architecture - Specifications (2006)
Object Management Group (OMG). UML Profile for Schedulability, Performance and Time (2005), http://www.omg.org/cgi-bin/doc?formal/2005-01-02 (last retrieved 2008-01-13)
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)
Object Management Group (OMG). Unified Modeling Language: Superstructure version 2.1.1 (2007) (last retrieved 2008-01-13)
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)
Smith, C.U.: Performance Solutions: A Practical Guide To Creating Responsive, Scalable Software. Addison-Wesley, Reading (2002)
Szyperski, C., Gruntz, D., Murer, S.: Component Software: Beyond Object-Oriented Programming, 2nd edn. ACM Press/Addison-Wesley, New York (2002)
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)
Woodside, M.: Tutorial Introduction to Layered Modeling of Software Performance (May 2002) (last retrieved 2008-01-13)
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)
Wu, X., Woodside, M.: Performance Modeling from Software Components. SIGSOFT Softw. Eng. Notes 29(1), 290–301 (2004)
Wu, X., Woodside, M.: Performance Modeling from Software Components. SIGSOFT Softw. Eng. Notes 29(1), 290–301 (2004)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kapova, L., Reussner, R. (2010). Application of Advanced Model-Driven Techniques in Performance Engineering. In: Aldini, A., Bernardo, M., Bononi, L., Cortellessa, V. (eds) Computer Performance Engineering. EPEW 2010. Lecture Notes in Computer Science, vol 6342. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-15784-4_2
Download citation
DOI: https://doi.org/10.1007/978-3-642-15784-4_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-15783-7
Online ISBN: 978-3-642-15784-4
eBook Packages: Computer ScienceComputer Science (R0)