Abstract
Software performance engineering supports software architects in identifying potential performance problems in software systems during the design phase. Details of the implementation and execution environment of a system are crucial for accurate performance predictions. Yet, only little information about these details is available during early stages of the software life-cycle; furthermore, model-based architectural description languages used by software architects are lacking support for performance-relevant information. Architectural models need to be extended, so they are ready to include design details as they become available when development advances. Model extensions, however, give rise to the problem of model and metamodel evolution. We report on our experiences with a variety of metamodel extension techniques, covering completions, direct invasive techniques, decorator models, and profiles in the context of model-driven performance engineering. Our goal is to enable performance engineers to find the optimal solution when metamodel variability and evolution support is required. In a case study, we extend a component-based system with thread management information, thereby illustrating the benefit of performance completions with respect to the accuracy of performance predictions.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Balsamo S et al (2004) Model-based performance prediction in software development: a survey. Trans Softw Eng 30(5):295–310
Baniassad E, Clarke S (2004) Theme: an approach for aspect-oriented analysis and design. In: Proceedings of the 26th international conference on software engineering. ICSE’04. IEEE Computer Society, Washington, DC, USA, pp 158–167
Becker S, Koziolek H, Reussner R (2007) Model-based performance prediction with the Palladio component model. In: Proceedings of the 6th international workshop on software and performance (WOSP2007). SIGSOFT software engineering notes. ACM, New York, USA, pp 56–67
Becker S, Koziolek H, Reussner R (2009) The Palladio component model for model-driven performance prediction. J Syst Softw 82:3–22
Bernardo M, Hillston J (eds) (2007) Formal methods for performance evaluation (7th international school on formal methods for the design of computer, communication, and software systems, SFM2007). Lecture notes in computer science, vol 4486. Springer, Berlin
Bézivin J et al (2006) A canonical scheme for model composition. In: Rensink A, Warmer J (eds) Model driven architecture-foundations and applications. LNCS, vol 4066. Springer, Berlin, pp 346–360
Burger E, Gruschko B (2010) A change metamodel for the evolution of MOF-based metamodels. In: Engels G, Karagiannis D, Mayr HC (eds) Modellierung 2010. GI-LNI, vol P-161. Klagenfurt
Czarnecki K, Eisenecker UW (2000) Generative programming: methods, tools and applications. Addison-Wesley, Boston
Edapt: framework for ecore model adaptation and instance migration. Retrieved 5 Apr 2013. http://www.eclipse.org/edapt/
EMF compare. Retrieved 5 Apr 2013. Dec 2013. http://wiki.eclipse.org/EMF/_Compare/FAQ
EMF diff/merge. Retrieved 5 Apr 2013. http://www.eclipse.org/diffmerge/
Garg RP, Sharapov I (2002) Techniques for optimizing applications: high performance computing. Prentice Hall Professional Technical Reference
Goldschmidt T, Wachsmuth G (2008) Refinement transformation support for QVT relational transformations. In: 3rd workshop on model driven software engineering (MDSE 2008)
Happe J et al (2008) A pattern-based performance completion for message-oriented middleware. In: Proceedings of the 7th international workshop on software and performance (WOSP’08). ACM, Princeton, USA, pp 165–176
Herrmann C et al (2007) An algebraic view on the semantics of model composition. In: Akehurst D, Vogel R, Paige R (eds) Model driven architecture—foundations and applications. Lecture notes in computer science, vol 4530. Springer, Berlin, pp 99–113
Herrmannsdoerfer M, Benz S, Juergens E (2008) COPE: a language for the coupled evolution of metamodels and models. In: Proceedings of the 1st international workshop on model co-evolution and consistency management
Herrmannsdörfer M, Vermolen SD, Wachsmuth G (2011) An extensive catalog of operators for the coupled evolution of metamodels and models. In: Proceedings of the third international conference on software language engineering. SLE’10. Springer, Berlin
Kapova L, Goldschmidt T (2009) Automated feature model-based generation of refinement transformations. In: Proceedings of the 35th EUROMICRO conference on software engineering and advanced applications (SEAA). IEEE
Kapova L, Reussner R (2010) Application of advanced model-driven techniques in performance engineering. In: Aldini A et al (ed) Computer performance engineering. Lecture notes in computer science, vol 6342. Springer, Berlin, pp 17–36 10.1007/978-3-642-15784-4_2
Kramer ME et al (2012) Extending the Palladio component model using profiles and stereotypes. In: Becker S et al (ed) Proceedings of Palladio days 2012 (appeared as technical report). Karlsruhe reports in informatics 2012, 21. KIT, Faculty of Informatics, Karlsruhe, pp 7–15
Kramer ME et al (2013) Achieving practical genericity in model weaving through extensibility. In: Duddy K, Kappel G (eds) Theory and practice of model transformations. Lecture notes in computer science, vol 7909. Springer, Berlin, pp 108–124
Kruse S (2011) On the use of operators for the co-evolution of metamodels and transformations. In: Schätz B et al (ed) International workshop on models and evolution. ACM/IEEE 14th international conference on model driven engineering languages and systems. Wellington, New Zealand
Langer P et al (2011) From UML profiles to EMF profiles and beyond. In: Bishop J, Vallecillo A (eds) Objects, models, components, patterns. Lecture notes in computer science, vol 6705. Springer, Berlin, pp 52–67
Langer P et al (2012) EMF profiles: a lightweight extension approach for EMF models. J Object Technol 8:1–29
OMG (2005) UML Profile for schedulability, performance and time. http://www.omg.org/cgi-bin/doc?formal/2005-01-02. Last Retrieved 13 Jan 2008
OMG (2007) UML profile for modeling and analysis of real-time and embedded systems (MARTE), Beta 1. Last Retrieved 13 Jan 2008
Smith CU (2002) Performance solutions: a practical guide to creating responsive, scalable software. Addison-Wesley, Boston
Steinberg D et al (2009) EMF: eclipse modeling framework 2.0, 2nd edn. Addison-Wesley Professional, Boston
Tisi M, Cabot J, Jouault F (2010) Improving higher-order transformations support in ATL. In: Proceedings of the third international conference on theory and practice of model transformations. ICMT’10. Springer, Málaga, Spain, pp 215–229
Woodside M (2002) Tutorial introduction to layered modeling of software performance. Last Retrieved 13 Jan 2008
Woodside M, Franks G, Petriu DC (2007) The future of software performance engineering. In: Proceedings of ICSE 2007, future of SE. IEEE Computer Society, Washington, DC, USA, pp 171–187
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Happe, L., Burger, E., Kramer, M., Rentschler, A., Reussner, R. (2014). Completion and Extension Techniques for Enterprise Software Performance Engineering. In: Brunetti, G., Feld, T., Heuser, L., Schnitter, J., Webel, C. (eds) Future Business Software. Progress in IS. Springer, Cham. https://doi.org/10.1007/978-3-319-04144-5_11
Download citation
DOI: https://doi.org/10.1007/978-3-319-04144-5_11
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-04143-8
Online ISBN: 978-3-319-04144-5
eBook Packages: Computer ScienceComputer Science (R0)