A Runtime Verification and Validation Framework for Self-Adaptive Software. - David B. Sayre (2017)