Nowadays, complex software systems, made from many preexisting components, are increasingly used for applications with high dependability requirements (telecommunication, railway, automotive...). This recent evolution demands new approaches to insure the dependability of the resulting systems, while taking explicitly into account the complex nature of these systems. In this thesis, we present how we extended reflexion, a long known architectural paradigm, to be able to encompass both the algorithmic considerations of fault tolerance (validity, observation, control), and the heterogeneous and composite nature of complex software systems (OS, libraries, middleware, application, ...). The main result of our investigation is a new conceptual framework, called multilevel reflection, along with its associated concepts, reflexive footprint and inter-level mappings, that captures the key elements of the problem. We validate the practical relevance of this proposal by presenting a first prototype of this framework, based on GNU/Linux and CORBA/Orbacus.
You may also be interested to look at the slides of my talk (in French and in English)