A Model-Based Approach for Self-Healing and Self-Configuration in Component-Based Software Systems