ABSTRACT

Real-time application cannot rely only on predictable output values, but they must also have predictable timing tied to these outputs. Non-real-time applications, such as a spreadsheet program or a word processor, are insensitive to minor variances in timing but sensitive to performance. For such applications, it is acceptable that operations sometimes complete a little earlier or later as long as the overall performance is sufficiently fast. In real-time applications, such unbounded delays are unacceptable. Failure in the application’s timing predictability is as unwanted by the stakeholders as failure in the application’s output predictability. So, for example, when the application returns a correct result too late it could be as bad as if it would return a wrong result. Consider an electronic braking system built into a car where we replace the standard braking system with a completely electronic one. In this system, it is unacceptable for the driver if there is an unpredictable, sometimes even very long, delay between the driver hitting the brake pedal and the brakes applying force to the tires. This scenario makes it essential to think about temporal constraints in real-time applications.