Future dependable systems are expected to be dynamic in the sense that they need to be adaptable in the field, to hanging needs and according to lessons learned. System failures must be very rare and any kind of system failure that might occur must not repeat itself. This project looks into ways to enable the immediate deployment of new software variants to fix existing bugs but without risking safety violations caused by potential bugs newly introduced by these variants. Towards this, we propose a supervisor-based architecture. The supervisor solicits explications from individual components, and cross-checks these with explications provided by other components. The supervisor triggers online micro-experimentation and analyses to locate faulty components and exercise new software variants. Inspection-time analysis is incorporated to explain what sequence of events has lead to a given system failure, and to verifiably exclude the same failure from the system behaviour in the future.
C3 – Supervision of Dynamic Dependable Systems
