skip to main content
research-article
Open Access

FEMOSAA: Feature-Guided and Knee-Driven Multi-Objective Optimization for Self-Adaptive Software

Authors Info & Claims
Published:29 June 2018Publication History
Skip Abstract Section

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. Apache Software Foundation. Apache Tomcat. Retrieved from http://tomcat.apache.org/. {Accessed 24 Mar 2018}.Google ScholarGoogle Scholar
  3. Apache Software Foundation. Ehcache. Retrieved from http://www.ehcache.org/. {Accessed 24 Mar 2018}.Google ScholarGoogle Scholar
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle Scholar
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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 ScholarGoogle ScholarCross RefCross Ref
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle ScholarCross RefCross Ref
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 ScholarGoogle ScholarCross RefCross Ref
  19. Kalyanmoy Deb and Deb Kalyanmoy. 2001. Multi-Objective Optimization Using Evolutionary Algorithms. John Wiley 8 Sons, Inc., New York. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle ScholarCross RefCross Ref
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  28. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  29. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  30. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  32. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  33. 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 ScholarGoogle Scholar
  34. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  35. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  36. 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 ScholarGoogle ScholarCross RefCross Ref
  37. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  38. Kaisa Miettinen. 1999. Nonlinear Multiobjective Optimization. Vol. 12. Kluwer Academic Publishers.Google ScholarGoogle Scholar
  39. Simon Mingay. 2007. Green IT: The new industry shock wave. Gartner RAS Research Note G 153703 (2007), 2007.Google ScholarGoogle Scholar
  40. Oracle Corporation. MySQL. Retrieved from https://www.mysql.com/. {Accessed 24 Mar 2018}.Google ScholarGoogle Scholar
  41. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  42. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  43. Rice University. Rice University Bidding Systems. Retrieved from http://rubis.ow2.org/. {Accessed 24 Mar 2018}.Google ScholarGoogle Scholar
  44. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  45. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  46. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  47. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  48. University of Cambridge Computer Laboratory. Xen: A virtual machine monitor. Retrieved from http://www.xenproject.org/. {Accessed 24 Mar 2018}.Google ScholarGoogle Scholar
  49. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  50. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  51. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  52. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  53. 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 ScholarGoogle ScholarCross RefCross Ref
  54. 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 ScholarGoogle Scholar
  55. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. FEMOSAA: Feature-Guided and Knee-Driven Multi-Objective Optimization for Self-Adaptive Software

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader