Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Ardagna, D., Pernici, B.: Adaptive service composition in flexible processes. IEEE Trans. on Soft. Eng. 33(6), 369–384 (2007)
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)
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)
Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison-Wesley, Reading (2003)
Becker, S., Koziolek, H., Reussner, R.: The Palladio component model for model-driven performance prediction. Journal of Systems and Software 82, 3–22 (2009)
Blum, C., Roli, A.: Metaheuristics in combinatorial optimization: Overview and conceptual comparison. ACM Computing Surveys 35(3), 268–308 (2003)
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)
Brosch, F., Zimmerova, B.: Design-Time Reliability Prediction for Software Systems. In: International Workshop on Software Quality and Maintainability, pp. 70–74 (2009)
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)
Clements, P.C., Kazman, R., Klein, M.: Evaluating Software Architectures. SEI Series in Software Engineering. Addison-Wesley, Reading (2001)
Clements, P.C., Northrop, L.: Software Product Lines: Practices and Patterns. SEI Series in Software Engineering. Addison-Wesley, Reading (August 2001)
Coello Coello, C.A.: A comprehensive survey of evolutionary-based multiobjective optimization techniques. Knowledge and Information Systems 1, 269–308 (1999)
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)
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)
Dobrica, L., Niemela, E.: A survey on software architecture analysis methods. IEEE Trans. on Software Engineering 28(7), 638–653 (2002)
Ehrgott, M.: Multicriteria Optimization. Springer, Heidelberg (2005)
Gokhale, S.S.: Architecture-based software reliability analysis: Overview and limitations. IEEE Trans. on Dependable and Secure Computing 4(1), 32–40 (2007)
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)
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)
IBM ILOG. IBM ILOG CPLEX (2010), http://www-01.ibm.com/software/integration/optimization/cplex/about/
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)
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)
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)
Knuth, D.E.: The Art of Computer Programming. Seminumerical Algorithms, vol. 2. Addison-Wesley, Reading (1969)
Koziolek, H.: Performance evaluation of component-based software systems: A survey. Performance Evaluation (in Press) (Corrected Proof) (2009)
Lukasiewycz, M.: Opt4j - the optimization framework for java (2009), http://www.opt4j.org
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)
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)
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)
Parsons, T., Murphy, J.: Detecting performance antipatterns in component based enterprise systems. Journal of Object Technology 7(3), 55–90 (2008)
Smith, C.U., Williams, L.G.: Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software. Addison-Wesley, Reading (2002)
Wolsey, L.: Integer Programming. John Wiley and Sons, Chichester (1998)
Wu, X., Woodside, M.: Performance Modeling from Software Components. SIGSOFT Softw. Eng. Notes 29(1), 290–301 (2004)
Xu, J.: Rule-based automatic software performance diagnosis and improvement. In: International Workshop on Software and Performance, pp. 1–12. ACM, New York (2008)
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)
Details on case study for the hybrid optimisation approach (2010), https://sdqweb.ipd.kit.edu/wiki/PerOpteryx/Hybrid_Optimisation_Case_Study
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
Martens, A., Ardagna, D., Koziolek, H., Mirandola, R., Reussner, R. (2010). A Hybrid Approach for Multi-attribute QoS Optimisation in Component Based Software Systems. In: Heineman, G.T., Kofron, J., Plasil, F. (eds) Research into Practice – Reality and Gaps. QoSA 2010. Lecture Notes in Computer Science, vol 6093. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-13821-8_8
Download citation
DOI: https://doi.org/10.1007/978-3-642-13821-8_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-13820-1
Online ISBN: 978-3-642-13821-8
eBook Packages: Computer ScienceComputer Science (R0)