An architecture for time-aware systems