An Analysis of Decision-Making Techniques in Dynamic, Self-Adaptive Systems
Paweł M. Idziak, Siobhán Clarke · 2014
Self-adaptive systems are required to continually adapt themselves to changing environment conditions in order to maintain good quality of service. Such systems typically implement a set of self-properties (e.g., self-monitoring, self-improvement) to improve an adaptation and system's performance. Some of these properties can contribute to selection of an adequate adaptation solution with the use of decision making techniques. Appropriate decision-making technique should not only select a good quality solution to enhance performance, but also do this within a specified time bound when applied in a time-constrained environment. There are many different decision-making methods that can provide an adaptation solution, but not all are suitable for dynamic, self-adaptive systems. In this paper, we outline different decision-making techniques and implement three representative ones in a time-constrained, self-adaptive system case study -- the virtual machine (VM) placement problem. The techniques implemented are Artificial Neural Networks (ANN), Q-learning, and a technique that models the problem as a Constraint Satisfaction Problem (CSP). We compare these techniques against metrics such as execution time and decision quality.