This paper advocates an object-oriented approach to the development of distributed real-time systems which clearly separates timing from functional concerns. It also describes a philosophy for modularising, and then designing systems, based on the localisation of timing constraints as one of prime criteria for partitioning. Active objects (i.e., actors) are adopted as the basic building blocks in-the-small. They are not aware of timing constraints nor of scheduling structures. Active objects are in charge of processing messages as they arrive. Message buffering and delivery is the responsibility of a control machine which hosts a reflective scheduler object. Timing constraints express, in general, patterns of multi-object, time-driven co-ordination and synchronisation. The resultant approach improves modularity and object reusability. The paper illustrates the application of the proposed concepts through real world examples.