School of Computing Science

PhD Theses

Verifiable Resilience in Architectural Reconfiguration (2012)

The full text of this thesis is available from the Newcastle University Library website: https://theses.ncl.ac.uk/dspace/handle/10443/1421

Payne, R.J., School of Computing Science, University of Newcastle upon Tyne

This thesis addresses the formal verification of a support infrastructure for resilient dynamically reconfigurable systems. A component-based system, whose architectural configuration may change at runtime, is classed as dynamically reconfigurable. Such systems require a support infrastructure for the control of reconfigurations to provide resilience. The verification of such reconfiguration support increases the trust that developers and stakeholders may place on the system. The thesis defines an architectural model of an infrastructure of services for the support of dynamic reconfiguration and takes a formal approach to the definition and verification of one aspect of the infrastructure. The execution of reconfiguration policies in a reconfiguration infrastructure provides guidance to the architectural change to be enacted on a reconfigurable system. These reconfiguration policies are often produced using a language with informal syntax and no formal semantics. Predicting properties of these policies governing reconfiguring systems has yet to be attempted. In this thesis, we define RPL - a reconfiguration policy language with a formal syntax and semantics. With the use of a case study, theories of RPL and an example policy are developed and the verification of key proof obligations and validation conjectures of policies expressed in RPL is demonstrated. The contribution of the thesis is two-fold. Firstly, the architectural definition of a support infrastructure provides a lasting contribution in that it suggests a clear direction for future work in dynamic reconfiguration. Secondly, through the formal definition of RPL and the verification of properties of policies, the thesis provides a basis for the use of formal verification in dynamic reconfiguration and, more specifically, in policies for dynamic reconfiguration.