A formal approach to adaptive software: continuous assurance of non-functional requirements
a survey of autonomic computing - degrees , models , and applications .