The TASM Language and the Hi-Five Framework: Specification, Validation, and Verification of Embedded Real-Time Systems