Malek, SamEsfahani, Naeem2014-09-292014-09-292014-08https://hdl.handle.net/1920/8985The ever-growing complexity of software systems coupled with the need to maintain their quality of service (QoS) characteristics, even under adverse conditions and highly uncertain environments, have instigated the emergence of <italic>self-adaptive</italic> software systems. A self-adaptive software system has the mechanisms that automate and simplify the management and modification of software systems after they are deployed, (i.e., during run-time) to achieve certain functional or QoS goals.137 pagesenCopyright 2014 Naeem EsfahaniComputer scienceSelf-Adaptive Software SystemsSoftware ArchitectureSoftware engineeringUncertaintyManagement of Uncertainty in Self-Adaptive SoftwareDissertation