Skip to main content
Log in

Stateful component-based performance models

  • Special Section Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

The accuracy of performance-prediction models is crucial for widespread adoption of performance prediction in industry. One of the essential accuracy-influencing aspects of software systems is the dependence of system behaviour on a configuration, context or history related state of the system, typically reflected with a (persistent) system attribute. Even in the domain of component-based software engineering, the presence of state-reflecting attributes (the so-called internal states) is a natural ingredient of the systems, implying the existence of stateful services, stateful components and stateful systems as such. Currently, there is no consensus on the definition or method to include state-related information in component-based prediction models. Besides the task to identify and localise different types of stateful information across component-based software architecture, the issue is to balance the expressiveness and complexity of prediction models via an effective abstraction of state modelling. In this paper, we identify and classify stateful information in component-based software systems, study the performance impact of the individual state categories, and discuss the costs of their modelling in terms of the increased model size. The observations are formulated into a set of heuristics-guiding software engineers in state modelling. Finally, practical effect of state modelling on software performance is evaluated on a real-world case study, the SPECjms2007 Benchmark. The observed deviation of measurements and predictions was significantly decreased by more precise models of stateful dependencies.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23
Fig. 24
Fig. 25
Fig. 26
Fig. 27

Similar content being viewed by others

Notes

  1. Note that the PCM supports value-passing and value-guarded control-flow constructs, which imply that already a minor modification of an input value in the usage profile may influence system behaviour significantly.

References

  1. Bagrodia, R., Shen, C.: Midas: integrated design and simulation of distributed systems. Trans. Softw. Eng. 17(10), 1042–1058 (1991)

    Article  Google Scholar 

  2. Balsamo, S., Di Marco, A., Inverardi, P., Simeoni, M.: Model-based performance prediction in software development: a survey. IEEE Trans. Softw. Eng. 30(5), 295–310 (2004)

    Article  Google Scholar 

  3. Becker, S., Grunske, L., Mirandola, R., Overhage, S.: Performance prediction of component-based systems. In: Architecting Systems with Trustworthy Components. LNCS, vol. 3938, pp. 169–192. Springer, Berlin (2006)

  4. Becker, S., Happe, J., Koziolek, H.: Putting components into context: supporting QoS-predictions with an explicit context model. In: Proceedings of the Workshop on Component Oriented Programming (WCOP) (2006)

  5. Becker, S., Koziolek, H., Reussner, R.: The palladio component model for model-driven performance prediction. J. Syst. Softw. 82(1), 3–22 (2009)

    Article  Google Scholar 

  6. Bertolino, A., Mirandola, R.: Modeling and analysis of non-functional properties in component-based systems. In: Proceedings of the International Workshop on Test and Analysis of Component-Based Systems (TACoS). ENTCS, vol. 82, pp. 158–168. Elsevier, Amsterdam (2003)

  7. Bertolino, A., Mirandola, R.: CB-SPE tool: Putting component-based performance engineering into practice. In: Proceedings of Component-Based Software Engineering (CBSE). LNCS, vol. 3054, pp. 233–248. Springer, Berlin (2004)

  8. Diaconescu, A., Murphy, J.: Automating the performance management of component-based enterprise systems through the use of redundancy. In: Proceedings of Conference on Automated software engineering (ASE). IEEE (2005)

  9. Firus, V., Becker, S., Happe, J.: Parametric performance contracts for QML-specified software components. In: Proceedings of Formal Foundations of Embedded Software and Component-based Software Architectures (FESCA). ENTCS, vol. 141, pp. 73–90. Elsevier, Amsterdam (2005)

  10. Gallotti, S., Ghezzi, C., Mirandola, R., Tamburrelli, G.: Quality prediction of service compositions through probabilistic model checking. In: Proceedings of Quality of Software Architectures (QoSA). LNCS, vol. 5281, pp. 119–134. Springer, Berlin (2008)

  11. Hamlet, D.: Subdomain testing of units and systems with state. In: Proceedings of Symposium on Software testing and analysis (ISSTA). ACM (2006)

  12. Hapner, M., Burridge, R., Sharma, R., Fialli, J., Stout, K.: Java Message Service Specification-Version 1.1. http://www.oracle.com/technetwork/java/jms/index.html, (2012)

  13. Happe, J., Becker, S., Rathfelder, C., Friedrich, H., Reussner, R.H.: Parametric performance completions for model-driven performance prediction. Perform. Eval. 67(8), 694–716 (2009)

    Article  Google Scholar 

  14. Happe, J., Westermann, D., Sachs, K., Kapova, L.: Statistical inference of software performance models for parametric performance completions. In: Research into Practice-Reality and Gaps (Proceedings of QoSA 2010). LNCS, vol. 6093, pp. 20–35. Springer, Berllin (2010)

  15. Hissam, S., Moreno, G., Stafford, J., Wallnau, K.: Enabling predictable assembly. J. Syst. Softw. 65(3), 185–198 (2003)

    Article  Google Scholar 

  16. Kapova, L., Buhnova, B., Martens, A., Happe, J., Reussner, R.: State dependence in performance evaluation of component-based software systems. In: Proceedings of the Joint WOSP/SIPEW International Conference on Performance engineering (ICPE). ACM (2010)

  17. Kapova, L., Buhnova, B., Reussner, R.: Stateful software performance egineering. http://sdqweb.ipd.kit.edu/wiki/Stateful_Software_Performance_Engineer (2012)

  18. Kapova, L., Reussner, R.: Application of advanced model-driven techniques in performance engineering. In: Computer Performance Engineering. LNCS, vol. 6342, pp. 17–36. Springer, Berlin (2010)

  19. Koziolek, H.: Performance evaluation for component-based software systems: a survey. Perform. Eval. 67(8), 634–658 (2010)

    Article  Google Scholar 

  20. Koziolek, H., Becker, S.: Transforming operational profiles of software components for quality of service predictions. In: Proceedings of Workshop on Component Oriented Programming (WCOP) (2005)

  21. Koziolek, H., Becker, S., Happe, J.: Predicting the performance of component-based software architectures with different usage profiles. In: Proceedings of Quality of Software Architectures (QoSA). LNCS, vol. 4880, pp. 145–163. Springer, Berlin (2007)

  22. Koziolek, H., Happe, J., Becker, S.: Parameter dependent performance specifications of software components. In: Proceedings of Quality of Software Architectures (QoSA). LNCS, vol. 4214, pp. 163–179. Springer, Berlin (2006)

  23. Liu, Y., Fekete, A., Gorton, I.: Design-level performance prediction of component-based applications. Trans. Softw. Eng. 31(11), 928–941 (2005)

    Article  Google Scholar 

  24. Meyerhofer, M., Meyer-Wegener, K.: Estimating non-functional properties of component-based software based on resource consumption. In: Proceedings of the Software Composition Workshop (SC). ENTCS, vol. 114, pp. 25–45. Elsevier, Amsterdam (2005)

  25. Microsoft Corporation: COM: Component Object Model Technologies. http://www.microsoft.com/com/, (2012)

  26. Mos, A., Murphy, J.: Performance management in component-oriented systems using a model driven architecture approach. In: Proceedings of Enterprise Distributed Object Computing Conference, pp. 227–237. IEEE (2002)

  27. Object Management Group: CORBA Component Model 4.0 Specification. Tech. Rep. formal/06-04-01, Object Management Group (2006)

  28. Object Management Group: MOF 2.0 Query/View/Transfor- mation, version 1.0 (2008)

  29. Sentilles, S., Vulgarakis, A., Bureš, T., Carlson, J., Crnković, I.: A component model for control-intensive distributed embedded systems. In: International Symposium on Component-Based Software Engineering (CBSE). LNCS, vol. 5282, pp. 310–317. Springer, Berlin (2008)

  30. Smith, C.U., Williams, L.G.: New software performance antipatterns: more ways to shoot yourself in the foot. In: Proceedings of International CMG Conference. Computer Measurement Group (2002)

  31. Standard Performance Evaluation Corp.: SPECjms2007 Benchmark. http://www.spec.org/jms2007/, (2007)

  32. Sun Microsystems: Java System Message Queue -Version 4.3. http://java.net/downloads/mq/OpenMQ4.3Related/MQ4.3_RelNotes_preFCS.pdf (2012)

  33. Sun Microsystems: Enterprise JavaBeans 3.0 Specification. http://java.sun.com/ (2006)

  34. Szyperski, C.: Component software—beyond object-oriented programming. Addison-Wesley, Reading (2002)

  35. Westermann, D., Happe, J., Hauck, M., Heupel, C.: The performance cockpit approach: a framework for systematic performance evaluations. In: Proceedings of the EUROMICRO Conference on Software Engineering and Advanced Applications (SEAA), pp. 31–38. IEEE Computer Society (2010)

  36. Woodside, M., Franks, G., Petriu, D.C.: The future of software performance engineering. In: Proceedings of Conference on Software Engineering (ICSE), pp. 171–187. IEEE (2007)

  37. Zimmerova, B.: Modelling and formal analysis of component-based systems in view of component interaction. Ph.D. thesis, Masaryk University, Czech Republic (2008)

  38. Zimmerova, B., Vařeková, P., Beneš, N., Černá, I., Brim, L., Sochor, J.: The common component modeling example: comparing software component models. LNCS, vol. 5153, chap. Component-Interaction Automata Approach (CoIn), pp. 146–176. Springer, Berlin (2008)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Lucia Happe.

Additional information

Communicated by Prof. Dr. Dorina Petriu and Dr. Jens Happe.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Happe, L., Buhnova, B. & Reussner, R. Stateful component-based performance models. Softw Syst Model 13, 1319–1343 (2014). https://doi.org/10.1007/s10270-013-0336-6

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-013-0336-6

Keywords

Navigation