Real-time systems
Real-time systems are used when the given application needs to meet some specific timing requirements. The criticality of these requirements usually varies quite a lot, so it is common to divide these real-time systems having different requirements into two distinct categories.
- Soft real-time systems will only have degraded results if the timing requirements
- Hard real-time systems will experience a catastrophic failure if the timing requirements are not met.
The utility differences between these two systems are illustrated in Real-Time System Service Utility. In a soft real-time system, the utility of the result is 100 % until the deadline is reached. After that, the result starts to gradually degrade according to some application-specific curve, eventually reaching zero at some point. This level of real-time is often relatively easy to achieve, as occasional missing of the deadline can be accepted. Alternatively, the hard real-time systems behave the same as soft real-time systems until the deadline is reached, but right at this time instance, the utility of the result immediately becomes negative. This represents the effect of catastrophic failure that the system will experience at that point. Designing hard real-time systems is very challenging, as it must be guaranteed that the system will always meet the timing requirements.
(a) Soft real-time system (b) Hard real-time system |
Soft real-time systems can be used in many typical non-critical embedded applications that do not have too strict timing requirements. Missing a deadline in a soft real-time system should only lead to reduced user experience or inaccurate results at worst. For example, the timing requirements should not be critical regarding the safety of the product under any circumstance. Hard real-time systems, on the other hand, are required in more critical applications that cannot ever miss the deadline in any operating conditions. Missing the deadline with these systems could even cause significant damage to property or severe injuries.