Real Time Programming: Languages, Specification and Verification