We propose a method for the implementation and analysis of real-time systems, based on the compilation of speci cations into extended automata. Such a method has been already adopted for the so called \synchronous" real-time programming languages. The method is illustrated for a simple speci cation language that can be viewed as the extension of a language for the description of systems of communicating processes, by adding timeout and watchdog constructs. An operational semantics is de ned for arbitrary time domains. The main result is that such a language can be compiled into timed automata, extended automata with timers. Timers are special state variables that can be set to zero by transitions, and whose values measure the time elapsed since their last reset. Compared to extended automata generated by compilers of synchronous languages, timed automata do not make any assumption about the nature of time and adopt an event-driven execution mode, rather than a step-by-step one. Furthermore, their complexity does not depend on the values of the parameters of timeouts and watchdogs used in speci cations. These features allow the application on timed automata of e cient code generation and analysis techniques. In particular, we show how symbolic model-checking of real-time properties can be directly applied to this model.