Practical Design of Safety-Critical Computer Systems