Theory of Self-Adaptive Control Systems