An approach for design and formal verification of safety-critical software | IEEE Conference Publication | IEEE Xplore