Adaptation Timing in Self-Adaptive Systems