Model-driven design of real-time systems