FEMOSAA: Feature Guided and Knee Driven Multi-Objective Optimization for Self-Adaptive Software
arXiv:1608.08933 · doi:10.1145/3204459
Abstract
Self-adaptive software (SAS) can reconfigure itself to adapt to the changing environment at runtime, aiming for continually optimizing conflicted non-functional objectives, e.g., response time, energy consumption, throughput and cost etc. In this paper, 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 trade-off. 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 non-trivial effect sizes.
This paper has been accepted by TOSEM as a Journal First paper, please cite it using the following citation: Tao Chen, Ke Li, Rami Bahsoon, and Xin Yao. 2018. FEMOSAA: Feature Guided and Knee Driven MultiObjective Optimization for Self-Adaptive Software. ACM Transactions on Software Engineering and Methodology, in press, 2018, DOI: 10.1145/3204459
References in corpus (2)
Cited by in corpus (27)
- How to Evaluate Solutions in Pareto-based Search-Based Software Engineering? A Critical Review and Methodological Guidance
- A Survey and Taxonomy of Self-Aware and Self-Adaptive Cloud Autoscaling Systems
- Multi-Objectivizing Software Configuration Tuning (for a single performance concern)
- AdaSpring: Context-adaptive and Runtime-evolutionary Deep Model Compression for Mobile Applications
- DATESSO: Self-Adapting Service Composition with Debt-Aware Two Levels Constraint Reasoning
- Dynamic Adaptation of Software-defined Networks for IoT Systems: A Search-based Approach
- Does Configuration Encoding Matter in Learning Software Performance? An Empirical Study on Encoding Schemes
- Synergizing Domain Expertise with Self-Awareness in Software Systems: A Patternized Architecture Guideline
- Accuracy Can Lie: On the Impact of Surrogate Model in Configuration Tuning
- Adapting Multi-objectivized Software Configuration Tuning
- Deep Learning for Effective and Efficient Reduction of Large Adaptation Spaces in Self-Adaptive Systems
- Planning Landscape Analysis for Self-Adaptive Systems
- Understanding the Automated Parameter Optimization on Transfer Learning for CPDP: An Empirical Study
- DeepSQLi: Deep Semantic Learning for Testing SQL Injection
- Decomposition Multi-Objective Evolutionary Optimization: From State-of-the-Art to Future Opportunities
- Optimal Priority Assignment for Real-Time Systems: A Coevolution-Based Approach
- BiLO-CPDP: Bi-Level Programming for Automated Model Discovery in Cross-Project Defect Prediction
- Knee Point Identification Based on Trade-Off Utility
- Adaptive Operator Selection Based on Dynamic Thompson Sampling for MOEA/D
- An Improved Two-Archive Evolutionary Algorithm for Constrained Multi-Objective Optimization
- Evolutionary Multi-Objective Virtual Network Function Placement: A Formal Model and Effective Algorithms
- Does Preference Always Help? A Holistic Study on Preference-Based Evolutionary Multi-Objective Optimisation Using Reference Points
- Search-Based Software Engineering for Self-Adaptive Systems: Survey, Disappointments, Suggestions and Opportunities
- Multi-Objective Reinforcement Learning based Multi-Microgrid System Optimisation Problem
- On Using Retrained and Incremental Machine Learning for Modeling Performance of Adaptable Software: An Empirical Comparison
- Learning-Guided Fuzzing for Testing Stateful SDN Controllers
- Surrogate Assisted Evolutionary Algorithm for Medium Scale Expensive Multi-Objective Optimisation Problems