We introduce a mathematical model of the timed behaviour of components with streams as input and output using a hierarchy of timing concepts. We distinguish non-timed streams, discrete streams with discrete or with continuous time, and dense streams with continuous time. We introduce a notion of a timed system component and formulate requirements for the time flow. We show how to compose timed systems in a modular way. We