Rigorous Development of Complex Fault-Tolerant Systems