This a CAPES/Alexander von Humboldt funded research project conducted in collaboration with the Software Engineering group at the Humboldt Universität zu Berlin aiming at investigating techniques, methodologies and processes capable of providing design- and run-time assurances for self-adaptive systems in the presence of structural and environmental sources of uncertainties.