Many safety-critical embedded systems have to satisfy hard real-time constraints. These need sound methods and tools to derive reliable run-time guarantees. The guaranteed run times
should not only be reliable, but also precise. The achievable precision highly depends on characteristics of the target architecture and system layers of the software. Trends in hardware and software design run contrary to predictability. The talk describes threats to timing predictability of systems and proposes design principles that support timing predictability. The ultimate goal is to design performant systems with sharp upper and lower
bounds on execution times.