Gomaa, HassanAlbassam, Emad2018-10-222018-10-222017https://hdl.handle.net/1920/11306Component-based software architectures (CBSAs) are a well-known approach for building increasingly complex software systems from components that are intended to be distributed and autonomic. However, CBSAs often run in environments that are evolving and subject to failures. As a result, it is highly desirable to design CBSAs with self-configuration and self-healing capabilities so that they can dynamically adapt and recover in response to changing environments and failures, where the goal is to minimize manual intervention involved in managing and evolving these architectures. However, the systematic integration of the self-healing and self-configuration properties remains a challenge. Furthermore, although there exist a large body of literature in the areas of self-healing and self-configuration, most of them use a centralized approach. The main challenge with decentralized approaches is carrying out dynamic adaptation and recovery using partial knowledge of the system.277 pagesenCopyright 2017 Emad AlbassamInformation technologyAutonomic ComputingMAPE-K Loop ModelRecovery and Adaptation ConnectorsSelf-AdaptationSelf-ConfigurationSelf-HealingA Model-Based Approach for Self-Healing and Self-Configuration in Component-Based Software SystemsDissertation