A Hybrid Approach for Multi-attribute QoS Optimisation in Component Based Software Systems

  • Anne Martens
  • Danilo Ardagna
  • Heiko Koziolek
  • Raffaela Mirandola
  • Ralf Reussner
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6093)


Design decisions for complex, component-based systems impact multiple quality of service (QoS) properties. Often, means to improve one quality property deteriorate another one. In this scenario, selecting a good solution with respect to a single quality attribute can lead to unacceptable results with respect to the other quality attributes. A promising way to deal with this problem is to exploit multi-objective optimization where the objectives represent different quality attributes. The aim of these techniques is to devise a set of solutions, each of which assures a trade-off between the conflicting qualities. To automate this task, this paper proposes a combined use of analytical optimization techniques and evolutionary algorithms to efficiently identify a significant set of design alternatives, from which an architecture that best fits the different quality objectives can be selected. The proposed approach can lead both to a reduction of development costs and to an improvement of the quality of the final system. We demonstrate the use of this approach on a simple case study.


Pareto Front Hybrid Approach Failure Probability Evolutionary Optimisation Design Alternative 
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.
    Ardagna, D., Pernici, B.: Adaptive service composition in flexible processes. IEEE Trans. on Soft. Eng. 33(6), 369–384 (2007)CrossRefGoogle Scholar
  2. 2.
    Avizienis, A., Laprie, J.C., Randell, B., Landwehr, C.: Basic concepts and taxonomy of dependable and secure computing. IEEE Trans. on Dependable and Secure Computing 1(1), 11–33 (2004)CrossRefGoogle Scholar
  3. 3.
    Balsamo, S., Di Marco, A., Inverardi, P., Simeoni, M.: Model-Based Performance Prediction in Software Development: A Survey. IEEE Trans. on Software Engineering 30(5), 295–310 (2004)CrossRefGoogle Scholar
  4. 4.
    Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison-Wesley, Reading (2003)Google Scholar
  5. 5.
    Becker, S., Koziolek, H., Reussner, R.: The Palladio component model for model-driven performance prediction. Journal of Systems and Software 82, 3–22 (2009)CrossRefGoogle Scholar
  6. 6.
    Blum, C., Roli, A.: Metaheuristics in combinatorial optimization: Overview and conceptual comparison. ACM Computing Surveys 35(3), 268–308 (2003)CrossRefGoogle Scholar
  7. 7.
    Boehm, B.W., Abts, C., Brown, A.W., Chulani, S., Clark, B.K., Horowitz, E., Madachy, R., Reifer, D.J., Steece, B.: Software Cost Estimation with Cocomo II. Prentice-Hall PTR, Upper Saddle River (2000)Google Scholar
  8. 8.
    Brosch, F., Zimmerova, B.: Design-Time Reliability Prediction for Software Systems. In: International Workshop on Software Quality and Maintainability, pp. 70–74 (2009)Google Scholar
  9. 9.
    Chen, E.J., Kelton, W.D.: Batching methods for simulation output analysis: a stopping procedure based on phi-mixing conditions. In: Winter Simulation Conference, pp. 617–626 (2000)Google Scholar
  10. 10.
    Clements, P.C., Kazman, R., Klein, M.: Evaluating Software Architectures. SEI Series in Software Engineering. Addison-Wesley, Reading (2001)Google Scholar
  11. 11.
    Clements, P.C., Northrop, L.: Software Product Lines: Practices and Patterns. SEI Series in Software Engineering. Addison-Wesley, Reading (August 2001)Google Scholar
  12. 12.
    Coello Coello, C.A.: A comprehensive survey of evolutionary-based multiobjective optimization techniques. Knowledge and Information Systems 1, 269–308 (1999)Google Scholar
  13. 13.
    Cortellessa, V., Di Marco, A., Eramo, R., Pierantonio, A., Trubiani, C.: Approaching the model-driven generation of feedback to remove software performance flaws. In: EUROMICRO Conf. on Softw. Engineering and Advanced Applications, pp. 162–169. IEEE Computer Society, Los Alamitos (2009)CrossRefGoogle Scholar
  14. 14.
    Deb, K., Agrawal, S., Pratap, A., Meyarivan, T.: A fast elitist non-dominated sorting genetic algorithm for multi-objective optimization: NSGA-II. In: Deb, K., Rudolph, G., Lutton, E., Merelo, J.J., Schoenauer, M., Schwefel, H.-P., Yao, X. (eds.) PPSN 2000. LNCS, vol. 1917, pp. 849–858. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  15. 15.
    Dobrica, L., Niemela, E.: A survey on software architecture analysis methods. IEEE Trans. on Software Engineering 28(7), 638–653 (2002)CrossRefGoogle Scholar
  16. 16.
    Ehrgott, M.: Multicriteria Optimization. Springer, Heidelberg (2005)zbMATHGoogle Scholar
  17. 17.
    Gokhale, S.S.: Architecture-based software reliability analysis: Overview and limitations. IEEE Trans. on Dependable and Secure Computing 4(1), 32–40 (2007)CrossRefGoogle Scholar
  18. 18.
    Grunske, L.: Identifying “good” architectural design alternatives with multi-objective optimization strategies. In: Intl. Conf. on Softw. Engineering, pp. 849–852. ACM, New York (2006)Google Scholar
  19. 19.
    Harman, M.: The current state and future of search based software engineering. In: Briand, L.C., Wolf, A.L. (eds.) Workshop on the Future of Softw. Engin., pp. 342–357. IEEE, Los Alamitos (2007)CrossRefGoogle Scholar
  20. 20.
  21. 21.
    Kavimandan, A., Gokhale, A.S.: Applying model transformations to optimizing real-time QoS configurations in DRE systems. In: Quality of Softw. Architectures, pp. 18–35. Springer, Heidelberg (2009)Google Scholar
  22. 22.
    Kazman, R., Bass, L., Abowd, G., Webb, M.: SAAM: A method for analyzing the properties of software architectures. In: Intl. Conf. on Softw. Engineering, pp. 81–90. IEEE, Los Alamitos (May 1994)Google Scholar
  23. 23.
    Kazman, R., Klein, M., Barbacci, M., Longstaff, T., Lipson, H., Carrière, S.: The architecture tradeoff analysis method. In: Intl. Conf. on Engineering of Complex Computer Systems, pp. 68–78. IEEE, Los Alamitos (1998)Google Scholar
  24. 24.
    Knuth, D.E.: The Art of Computer Programming. Seminumerical Algorithms, vol. 2. Addison-Wesley, Reading (1969)zbMATHGoogle Scholar
  25. 25.
    Koziolek, H.: Performance evaluation of component-based software systems: A survey. Performance Evaluation (in Press) (Corrected Proof) (2009)Google Scholar
  26. 26.
    Lukasiewycz, M.: Opt4j - the optimization framework for java (2009),
  27. 27.
    Martens, A., Koziolek, H., Becker, S., Reussner, R.H.: Automatically improve software models for performance, reliability and cost using genetic algorithms. In: WOSP/SIPEW International Conference on Performance Engineering. ACM, New York (2010)Google Scholar
  28. 28.
    McGregor, J.D., Bachmann, F., Bass, L., Bianco, P., Klein, M.: Using arche in the classroom: One experience. Technical Report CMU/SEI-2007-TN-001, Software Engineering Institute, Carnegie Mellon University (2007)Google Scholar
  29. 29.
    Menascé, D.A., Ewing, J.M., Gomaa, H., Malex, S., Sousa, J.P.: A framework for utility-based service oriented design in SASSY. In: WOSP/SIPEW International Conference on Performance Engineering, pp. 27–36. ACM, New York (2010)CrossRefGoogle Scholar
  30. 30.
    Parsons, T., Murphy, J.: Detecting performance antipatterns in component based enterprise systems. Journal of Object Technology 7(3), 55–90 (2008)Google Scholar
  31. 31.
    Smith, C.U., Williams, L.G.: Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software. Addison-Wesley, Reading (2002)Google Scholar
  32. 32.
    Wolsey, L.: Integer Programming. John Wiley and Sons, Chichester (1998)zbMATHGoogle Scholar
  33. 33.
    Wu, X., Woodside, M.: Performance Modeling from Software Components. SIGSOFT Softw. Eng. Notes 29(1), 290–301 (2004)CrossRefGoogle Scholar
  34. 34.
    Xu, J.: Rule-based automatic software performance diagnosis and improvement. In: International Workshop on Software and Performance, pp. 1–12. ACM, New York (2008)CrossRefGoogle Scholar
  35. 35.
    Yang, J., Huang, G., Zhu, W., Cui, X., Mei, H.: Quality attribute tradeoff through adaptive architectures at runtime. Journal of Systems and Software 82(2), 319–332 (2009)CrossRefGoogle Scholar
  36. 36.
    Details on case study for the hybrid optimisation approach (2010),

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Anne Martens
    • 1
  • Danilo Ardagna
    • 2
  • Heiko Koziolek
    • 3
  • Raffaela Mirandola
    • 2
  • Ralf Reussner
    • 1
  1. 1.Karlsruhe Institute of Technology, KarlsruheGermany
  2. 2.Dipartimento di Elettronica e InformazionePolitecnico di MilanoMilanoItaly
  3. 3.ABB Corporate ResearchLadenburgGermany

Personalised recommendations