Abstract
Quantitative prediction of non-functional properties, such as performance, reliability, and costs, of software architectures supports systematic software engineering. Even though there usually is a rough idea on bounds for quality of service, the exact required values may be unclear and subject to trade-offs. Designing architectures that exhibit such good trade-off between multiple quality attributes is hard. Even with a given functional design, many degrees of freedom in the software architecture (e.g. component deployment or server configuration) span a large design space. Automated approaches search the design space with multi-objective metaheuristics such as evolutionary algorithms. However, as quality prediction for a single architecture is computationally expensive, these approaches are time consuming. In this work, we enhance an automated improvement approach to take into account bounds for quality of service in order to focus the search on interesting regions of the objective space, while still allowing trade-offs after the search. We compare two different constraint handling techniques to consider the bounds. To validate our approach, we applied both techniques to an architecture model of a component-based business information system. We compared both techniques to an unbounded search in 4 scenarios. Every scenario was examined with 10 optimization runs, each investigating around 1600 architectural candidates. The results indicate that the integration of quality of service bounds during the optimization process can improve the quality of the solutions found, however, the effect depends on the scenario, i.e. the problem and the quality requirements. The best results were achieved for costs requirements: The approach was able to decrease the time needed to find good solutions in the interesting regions of the objective space by 25% on average.
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
Aleti, A., Björnander, S., Grunske, L., Meedeniya, I.: Archeopterix: An extendable tool for architecture optimization of AADL models. In: Proc. of ICSE 2009 Workshop on Model-Based Methodologies for Pervasive and Embedded Software (MOMPES), pp. 61–71. IEEE Computer Society, Los Alamitos (2009)
Balsamo, S., Di Marco, A., Inverardi, P., Simeoni, M.: Model-Based Performance Prediction in Software Development: A Survey. IEEE Transactions 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)
Branke, J.: Consideration of partial user preferences in evolutionary multiobjective optimization. In: Multiobjective Optimization: Interactive and Evolutionary Approaches, pp. 157–178. Springer, Heidelberg (2008)
Brosch, F., Koziolek, H., Buhnova, B., Reussner, R.: Parameterized Reliability Prediction for Component-based Software Architectures. In: Heineman, G.T., Kofron, J., Plasil, F. (eds.) QoSA 2010. LNCS, vol. 6093, pp. 36–51. Springer, Heidelberg (2010)
Canfora, G., Penta, M.D., Esposito, R., Villani, M.L.: An approach for QoS-aware service composition based on genetic algorithms. In: Proc. of Genetic and Evolutionary Computation Conference (GECCO), pp. 1069–1075. ACM, New York (2005)
Coello Coello, C.A., Dhaenens, C., Jourdan, L.: Multi-objective combinatorial optimization: Problematic and context. In: Advances in Multi-Objective Nature Inspired Computing. SCI, vol. 272, pp. 1–21. Springer, Heidelberg (2010)
Deb, K.: Multi-Objective Optimization using Evolutionary Algorithms. John Wiley & Sons, Chichester (2001)
Deb, K., Pratap, A., Agarwal, S., Meyarivan, T.: A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Transactions on Evolutionary Computation 6(2), 182–197 (2002)
Fonseca, C.M., Fleming, P.J.: Genetic algorithms for multiobjective optimization: Formulation, discussion and generalization. In: ICGA, pp. 416–423. Morgan Kaufmann, San Francisco (1993)
Frølund, S., Koistinen, J.: QML: A Language for Quality of Service Specification. Tech. Report HPL-98-10, Hewlett-Packard Laboratories (1998)
Gokhale, S.S.: Architecture-based software reliability analysis: Overview and limitations. IEEE Trans. on Dependable and Secure Computing 4(1), 32–40 (2007)
Lukasiewycz, M., Glaß, M., Reimann, F., Helwig, S.: Opt4J - The Optimization Framework for Java (2010), http://www.opt4j.org
Martens, A., Koziolek, H., Becker, S., Reussner, R.: Automatically improve software architecture models for performance, reliability, and cost using evolutionary algorithms. In: Proceedings of the First Joint WOSP/SIPEW International Conference on Performance Engineering (WOSP/SIPEW), pp. 105–116. ACM, New York (2010)
McGregor, J.D., Bachmann, F., Bass, L., Bianco, P., Klein, M.: Using arche in the classroom: One experience. Tech. Rep. 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 esign in SASSY. In: Proceedings of the First Joint WOSP/SIPEW International Conference on Performance Engineering (WOSP/SIPEW), pp. 27–36. ACM, New York (2010)
Noorshams, Q.: Focusing the Optimization of Software Architecture Models Using Non-Functional Requirements. Master’s thesis, Karlsruhe Institute of Technology, Germany (2010)
Noorshams, Q., Martens, A., Reussner, R.: Using quality of service bounds for effective multi-objective software architecture optimization. In: QUASOSS 2010: Proceedings of the 2nd International Workshop on the Quality of Service-Oriented Software Systems, pp. 1:1–1:6. ACM, New York (2010)
Xu, J.: Rule-based automatic software performance diagnosis and improvement. Performance Evaluation 67(8), 585–611 (2010); special Issue on Software and Performance
Zitzler, E., Knowles, J.D., Thiele, L.: Quality Assessment of Pareto Set Approximations. In: Branke, J., Deb, K., Miettinen, K., Słowiński, R. (eds.) Multiobjective Optimization. LNCS, vol. 5252, pp. 373–404. Springer, Heidelberg (2008)
Zitzler, E., Thiele, L.: Multiobjective evolutionary algorithms: a comparative case study and the strength pareto approach. IEEE Trans. Evolutionary Computation 3(4), 257–271 (1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Koziolek, A., Noorshams, Q., Reussner, R. (2011). Focussing Multi-Objective Software Architecture Optimization Using Quality of Service Bounds. In: Dingel, J., Solberg, A. (eds) Models in Software Engineering. MODELS 2010. Lecture Notes in Computer Science, vol 6627. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21210-9_37
Download citation
DOI: https://doi.org/10.1007/978-3-642-21210-9_37
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-21209-3
Online ISBN: 978-3-642-21210-9
eBook Packages: Computer ScienceComputer Science (R0)