PLASMA: a plan-based layered architecture for software model-driven adaptation
From goals to components: a combined approach to self-management