Runtime verification is a light weight verification technique based on the analysis of system logs. A key factor is that the internal state of the system is not observable, but partial knowledge on its behaviour may be available. The thesis will investigate the use of temporal epistemic logics (i.e. logics of knowledge and believe over time) to specify and verify hyperproperties for runtime verification. Different logical aspects, like distributed knowledge and common knowledge, and the communication between reasoning agents, will be used to model hierarchical architectures for fault detection and identification, and for prognosis. Techniques for planning in belief space will be used for the design of fault reconfiguration policies.