An Abstraction Refinement Technique for Timed Automata Based on Counterexample-Guided Abstraction Refinement Loop