A formal approach to rigorous development of critical systems | Synapse