Nasro Min-Allah, Samee Ullah Khan, Yongji Wang, Joanna Kolodziej, and Nasir Ghani
A real-time system is any information processing system that has to respond to externally generated input stimuli within a finite and specified period: the correctness depends not only on the logical result but also on the time it was delivered; the failure to respond is as bad as the wrong response . Real-time systems can be constructed out of sequential programs but are typically built from concurrent programs called tasks. A real-time task is an executable entity of work that, at a minimum, is characterized by the worst-case execution time (WCET)  and time constraints . The WCET is estimated as the maximal time required by the processor to execute the task. A typical timing constraint of a real-time task is the deadline, which is defined as the maximal completion time of a task without causing any damage to the system [4–6].
There are two main classes of real-time systems: (1) hard and (2) soft real-time systems. The hard real-time must meet its deadlines. In case of failure, its operation is without value and the system for which it is a component is of no use. Embedded systems are often hard real-time systems. Such systems have practical applications in tasks or events where strict deadlines are to be followed. In the case where system failure results in a ...