Abstract
Self-Adaptive Software (SAS) can reconfigure itself to adapt to the changing environment at runtime, aiming to continually optimize conflicted nonfunctional objectives (e.g., response time, energy consumption, throughput, cost, etc.). In this article, we present Feature-guided and knEe-driven Multi-Objective optimization for Self-Adaptive softwAre (FEMOSAA), a novel framework that automatically synergizes the feature model and Multi-Objective Evolutionary Algorithm (MOEA) to optimize SAS at runtime. FEMOSAA operates in two phases: at design time, FEMOSAA automatically transposes the engineers’ design of SAS, expressed as a feature model, to fit the MOEA, creating new chromosome representation and reproduction operators. At runtime, FEMOSAA utilizes the feature model as domain knowledge to guide the search and further extend the MOEA, providing a larger chance for finding better solutions. In addition, we have designed a new method to search for the knee solutions, which can achieve a balanced tradeoff. We comprehensively evaluated FEMOSAA on two running SAS: One is a highly complex SAS with various adaptable real-world software under the realistic workload trace; another is a service-oriented SAS that can be dynamically composed from services. In particular, we compared the effectiveness and overhead of FEMOSAA against four of its variants and three other search-based frameworks for SAS under various scenarios, including three commonly applied MOEAs, two workload patterns, and diverse conflicting quality objectives. The results reveal the effectiveness of FEMOSAA and its superiority over the others with high statistical significance and nontrivial effect sizes.
- Sandro S. Andrade and Raimundo José de A. Macêdo. 2013. A search-based approach for architectural design of feedback control concerns in self-adaptive systems. In Proceedings of the 2013 IEEE 7th International Conference on Self-Adaptive and Self-Organizing Systems. IEEE, 61--70. Google ScholarDigital Library
- Apache Software Foundation. Apache Tomcat. Retrieved from http://tomcat.apache.org/. {Accessed 24 Mar 2018}.Google Scholar
- Apache Software Foundation. Ehcache. Retrieved from http://www.ehcache.org/. {Accessed 24 Mar 2018}.Google Scholar
- Andrea Arcuri and Lionel Briand. 2011. A practical guide for using statistical tests to assess randomized algorithms in software engineering. In Proceedings of the 2011 IEEE 33rd International Conference on Software Engineering (ICSE). IEEE, 1--10. Google ScholarDigital Library
- Martin Arlitt and Tai Jin. 2000. A workload characterization study of the 1998 World Cup web site. Network Mag. of Global Internetworking 14, 3 (May 2000), 30--37. Google ScholarDigital Library
- David Benavides, Sergio Segura, and Antonio Ruiz-Corts. 2010. Automated analysis of feature models 20 years later: A literature review. Information Systems 35, 6 (2010), 615--636. Google ScholarDigital Library
- Aurélien Bourdon, Adel Noureddine, Romain Rouvoy, and Lionel Seinturier. 2013. PowerAPI: A software library to monitor the energy consumed at the process-level. ERCIM News 92 (Jan. 2013), 43--44.Google Scholar
- Xiangping Bu, Jia Rao, and Cheng-Zhong Xu. 2013. Coordinated self-configuration of virtual machines and appliances using a model-free learning approach. IEEE Transactions on Parallel and Distributed Systems 24, 4 (2013), 681--690. Google ScholarDigital Library
- Valeria Cardellini, Emiliano Casalicchio, Vincenzo Grassi, Stefano Iannucci, Francesco Lo Presti, and Raffaela Mirandola. 2012. MOSES: A framework for QoS driven runtime adaptation of service-oriented systems. IEEE Transactions on Software Engineering 38, 5 (Sept 2012), 1138--1159. Google ScholarDigital Library
- Tao Chen and Rami Bahsoon. 2013. Self-adaptive and sensitivity-aware QoS modeling for the cloud. In Proceedings of the 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. ACM/IEEE, 43--52. Google ScholarDigital Library
- Tao Chen and Rami Bahsoon. 2017. Self-adaptive and online QoS modeling for cloud-based software services. IEEE Transactions on Software Engineering 43, 5 (2017), 453--475. Google ScholarDigital Library
- Tao Chen and Rami Bahsoon. 2017. Self-adaptive trade-off decision making for autoscaling cloud-based services. IEEE Transactions on Services Computing 10, 4 (2017), 618--632.Google ScholarCross Ref
- Tao Chen, Rami Bahsoon, Shuo Wang, and Xin Yao. 2018. To adapt or not to adapt? Technical debt and learning driven self-adaptation for managing runtime performance. In Proceedings of the 9th ACM/SPEC International Conference on Performance Engineering (ICPE). ACM, 48--55. Google ScholarDigital Library
- Tao Chen, Rami Bahsoon, and Xin Yao. 2014. Online QoS modeling in the cloud: A hybrid and adaptive multi-learners approach. In Proceedings of the IEEE/ACM 7th International Conference on Utility and Cloud Computing. 327--336. Google ScholarDigital Library
- Tao Chen, Miqing Li, and Xin Yao. 2018. On the effects of seeding strategies: A case for search-based multi-objective service composition. In Proceedings of the 20th International Genetic and Evolutionary Computation Conference (GECCO). ACM. Google ScholarDigital Library
- Krzysztof Czarnecki, Simon Helsen, and Ulrich Eisenecker. 2004. Staged configuration using feature models. In Proceedings of the International Conference on Software Product Lines. Vol. 3154. Springer, 266--283.Google ScholarCross Ref
- Rogério de Lemos, Holger Giese, Hausi A. Müller, Mary Shaw, Jesper Andersson, Marin Litoiu, Bradley Schmerl, Gabriel Tamura, Norha M. Villegas, Thomas Vogel, Danny Weyns, Luciano Baresi, Basil Becker, Nelly Bencomo, Yuriy Brun, Bojan Cukic, Ron Desmarais, Schahram Dustdar, Gregor Engels, Kurt Geihs, Karl M. Göschka, Alessandra Gorla, Vincenzo Grassi, Paola Inverardi, Gabor Karsai, Jeff Kramer, Antónia Lopes, Jeff Magee, Sam Malek, S. Mankovskii, R. Mirandola, J. Mylopoulos, O. Nierstrasz, M. Pezzé, C. Prehofer, W. Schäfer, R. Schlichting, D. B. Smith, J. P. Sousa, L. Tahvildari, K. Wong, and J. Wuttke. 2013. Software Engineering for Self-Adaptive Systems: A Second Research Roadmap. Springer Berlin, 1--32. Google ScholarDigital Library
- Kalyanmoy Deb and Himanshu Jain. 2014. An evolutionary many-objective optimization algorithm using reference-point-based nondominated sorting approach, part I: Solving problems with box constraints. IEEE Transactions on Evolutionary Computation 18, 4 (2014), 577--601.Google ScholarCross Ref
- Kalyanmoy Deb and Deb Kalyanmoy. 2001. Multi-Objective Optimization Using Evolutionary Algorithms. John Wiley 8 Sons, Inc., New York. Google ScholarDigital Library
- Kalyanmoy Deb, Amrit Pratap, Sameer Agarwal, and T. A. M. T. Meyarivan. 2002. A fast and elitist multiobjective genetic algorithm: NSGA-II. Transactions on Evolutionary Computing 6, 2 (April 2002), 182--197. Google ScholarDigital Library
- Juan J. Durillo and Antonio J. Nebro. 2011. jMetal: A java framework for multi-objective optimization. Advances in Engineering Software 42, 10 (2011), 760--771. Google ScholarDigital Library
- Donia El Kateb, François Fouquet, Grégory Nain, Jorge Augusto Meira, Michel Ackerman, and Yves Le Traon. 2014. Generic cloud platform multi-objective optimization leveraging [email protected]. In Proceedings of the 29th Annual ACM Symposium on Applied Computing (SAC’14). ACM, New York, 343--350. Google ScholarDigital Library
- Naeem Esfahani, Ahmed Elkhodary, and Sam Malek. 2013. A learning-based framework for engineering feature-oriented self-adaptive software systems. IEEE Transactions on Software Engineering 39, 11 (Nov 2013), 1467--1493. DOI:http://dx.1452 Google ScholarDigital Library
- Naeem Esfahani, Ehsan Kouroshfar, and Sam Malek. 2011. Taming uncertainty in self-adaptive software. In Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering (ESEC/FSE’11). ACM, New York, 234--244. Google ScholarDigital Library
- Antonio Filieri, Henry Hoffmann, and Martina Maggio. 2015. Automated multi-objective control for self-adaptive software design. In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering. ACM, 13--24. Google ScholarDigital Library
- Florian Fittkau, Sören Frey, and Wilhelm Hasselbring. 2012. CDOSim: Simulating cloud deployment options for software migration support. In Proceedings of the 2012 IEEE 6th International Workshop on the Maintenance and Evolution of Service-Oriented and Cloud-Based Systems (MESOCA’12). IEEE, 37--46.Google ScholarCross Ref
- Erik M. Fredericks. 2016. Automatically hardening a self-adaptive system against uncertainty. In Proceedings of the 11th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’16). ACM, New York, 16--27. Google ScholarDigital Library
- Sören Frey, Florian Fittkau, and Wilhelm Hasselbring. 2013. Search-based genetic optimization for deployment and reconfiguration of software in the cloud. In Proceedings of the 2013 International Conference on Software Engineering (ICSE’13). IEEE Press, Piscataway, NJ, 512--521. Google ScholarDigital Library
- Mark Harman, Edmund Burke, John Clark, and Xin Yao. 2012. Dynamic adaptive search based software engineering. In Proceedings of the 2012 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement. ACM/IEEE, 1--8. Google ScholarDigital Library
- Christopher Henard, Mike Papadakis, Mark Harman, and Yves Le Traon. 2015. Combining multi-objective search and constraint solving for configuring large software product lines. In Proceedings of the 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering (ICSE). IEEE, 517--528. Google ScholarDigital Library
- Robert M. Hierons, Miqing Li, Xiaohui Liu, Sergio Segura, and Wei Zheng. 2016. SIP: Optimal product selection from feature models using many-objective evolutionary optimization. ACM Transactions on Software Engineering and Methodology (TOSEM) 25, 2 (2016), 17. Google ScholarDigital Library
- Vigdis By Kampenes, Tore Dybå, Jo E. Hannay, and Dag I. K. Sjøberg. 2007. A systematic review of effect size in software engineering experiments. Information and Software Technology 49, 11--12 (2007), 1073--1086. Google ScholarDigital Library
- Kyo Kang, Sholom Cohen, James Hess, William Novak, and A. Peterson. 1990. Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-021. Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA. Retrieved from http://resources.sei.cmu.edu/library/asset-view.cfm?AssetID=11231Google Scholar
- Joshua D. Knowles and David Corne. 2000. Approximating the nondominated front using the Pareto archived evolution strategy. Evolutionary Computation 8, 2 (2000), 149--172. Google ScholarDigital Library
- Ke Li, Kalyanmoy Deb, Qingfu Zhang, and Sam Kwong. 2015. An evolutionary many-objective optimization algorithm based on dominance and decomposition. IEEE Transactions on Evolutionary Computation 19, 5 (2015), 694--716.Google ScholarDigital Library
- Ke Li, Qingfu Zhang, Sam Kwong, Miqing Li, and Ran Wang. 2014. Stable matching-based selection in evolutionary multiobjective optimization. IEEE Transactions on Evolutionary Computation 18, 6 (2014), 909--923.Google ScholarCross Ref
- Miqing Li, Tao Chen, and Xin Yao. 2018. A critical review of a practical guide to select quality indicators for assessing pareto-based search algorithms in search-based software engineering: Essay on quality indicator selection for SBSE. In Proceedings of the 40th International Conference on Software Engineering, NIER Track. IEEE/ACM. Google ScholarDigital Library
- Kaisa Miettinen. 1999. Nonlinear Multiobjective Optimization. Vol. 12. Kluwer Academic Publishers.Google Scholar
- Simon Mingay. 2007. Green IT: The new industry shock wave. Gartner RAS Research Note G 153703 (2007), 2007.Google Scholar
- Oracle Corporation. MySQL. Retrieved from https://www.mysql.com/. {Accessed 24 Mar 2018}.Google Scholar
- Gustavo G. Pascual, Roberto E. Lopez-Herrejon, Mónica Pinto, Lidia Fuentes, and Alexander Egyed. 2015. Applying multiobjective evolutionary algorithms to dynamic software product lines for reconfiguring mobile applications. Journal of Systems and Software 103 (2015), 392--411. Google ScholarDigital Library
- Andres J. Ramirez, David B. Knoester, Betty H. C. Cheng, and Philip K. McKinley. 2011. Plato: A genetic algorithm approach to run-time reconfiguration in autonomic computing systems. Cluster Computing 14, 3 (2011), 229--244. Google ScholarDigital Library
- Rice University. Rice University Bidding Systems. Retrieved from http://rubis.ow2.org/. {Accessed 24 Mar 2018}.Google Scholar
- Nilabja Roy, Abhishek Dubey, Aniruddha Gokhale, and Larry Dowdy. 2011. A capacity planning process for performance assurance of component-based distributed systems. In Proceedings of the 2nd ACM/SPEC International Conference on Performance Engineering (ICPE ’11). ACM, New York, 259--270. Google ScholarDigital Library
- Abdel Salam Sayyad, Joseph Ingram, Tim Menzies, and Hany Ammar. 2013. Scalable product line configuration: A straw to break the camel’s back. In Proceedings of the 2013 IEEE/ACM 28th International Conference on Automated Software Engineering (ASE). ACM/IEEE, 465--474. Google ScholarDigital Library
- Abdel Salam Sayyad, Tim Menzies, and Hany Ammar. 2013. On the value of user preferences in search-based software engineering: A case study in software product lines. In Proceedings of the 2013 International Conference on Software Engineering. IEEE Press, 492--501. Google ScholarDigital Library
- Stepan Shevtsov and Danny Weyns. 2016. Keep it SIMPLEX: Satisfying multiple goals with guarantees in control-based self-adaptive systems. In Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering. ACM, 229--241. Google ScholarDigital Library
- University of Cambridge Computer Laboratory. Xen: A virtual machine monitor. Retrieved from http://www.xenproject.org/. {Accessed 24 Mar 2018}.Google Scholar
- Hiroshi Wada, Junichi Suzuki, Yuji Yamano, and Katsuya Oba. 2012. E3: A multiobjective optimization framework for SLA-aware service composition. IEEE Transactions on Services Computing 5, 3 (2012), 358--372. Google ScholarDigital Library
- Shuai Wang, Shaukat Ali, Tao Yue, Yan Li, and Marius Liaaen. 2016. A practical guide to select quality indicators for assessing Pareto-based search algorithms in search-based software engineering. In Proceedings of the 38th International Conference on Software Engineering (ICSE’16). ACM, New York, 631--642. Google ScholarDigital Library
- Zeratul Izzah Mohd Yusoh and Maolin Tang. 2012. Composite SaaS placement and resource optimization in cloud computing using evolutionary algorithms. In Proceedings of the 2012 IEEE 5th International Conference on Cloud Computing (CLOUD). IEEE, 590--597. Google ScholarDigital Library
- Qingfu Zhang and Hui Li. 2007. MOEA/D: A multiobjective evolutionary algorithm based on decomposition. IEEE Transactions on Evolutionary Computation 11, 6 (2007), 712--731. Google ScholarDigital Library
- Eckart Zitzler and Simon Künzli. 2004. Indicator-based selection in multiobjective search. In Proceedings of the 8th International Conference on Parallel Problem Solving from Nature. Springer, 832--842.Google ScholarCross Ref
- Eckart Zitzler, Marco Laumanns, and Lothar Thiele. 2002. SPEA2: Improving the strength Pareto evolutionary algorithm for multiobjective optimization. In Evolutionary Methods for Design, Optimisation, and Control with Applications to Industrial Problems. 95--100.Google Scholar
- Eckart Zitzler and Lothar Thiele. 1999. Multiobjective evolutionary algorithms: A comparative case study and the strength Pareto approach. IEEE Transactions on Evolutionary Computation 3, 4 (Nov 1999), 257--271. Google ScholarDigital Library
Index Terms
- FEMOSAA: Feature-Guided and Knee-Driven Multi-Objective Optimization for Self-Adaptive Software
Recommendations
Objective reduction based on nonlinear correlation information entropy
It is hard to obtain the entire solution set of a many-objective optimization problem (MaOP) by multi-objective evolutionary algorithms (MOEAs) because of the difficulties brought by the large number of objectives. However, the redundancy of objectives ...
A novel solver for multi-objective optimization: dynamic non-dominated sorting genetic algorithm (DNSGA)
AbstractNon-dominated sorting is a critical component of all multi-objective evolutionary algorithms (MOEAs). A large percentage of computational cost of MOEAs is spent on non-dominated sorting. So, the complexity of non-dominated sorting method in a ...
Hype: An algorithm for fast hypervolume-based many-objective optimization
In the field of evolutionary multi-criterion optimization, the hypervolume indicator is the only single set quality measure that is known to be strictly monotonic with regard to Pareto dominance: whenever a Pareto set approximation entirely dominates ...
Comments