Many embedded systems must satisfy timing requirements, which describe how these systems should behave with respect to timing. Such requirements must be dealt with throughout the system development process: from their initial specification, expressed at an abstract level, through the increasingly concrete layers, to the final implementation level. There is a growing awareness that this process needs support from languages, tools, and methodologies