self-adaptive system