A distinction can be made between those systems which will suffer a critical failure if time constraints are violated (hard or immediate real-time), and those which will not (soft real-time).
Hard real-time systems are typically found interacting at a low level with physical hardware, in embedded systems. For example, a car's engine management system is a hard real-time system because a delayed signal may cause engine failure or damage. Other examples of hard real-time embedded systems include medical systems such as pacemakers and industrial process controllers.
Soft real-time systems are typically those used where there is some issue of concurrent access and the need to keep a number of connected systems up to date with a changing situation on the ground. An example would be the software that maintains and updates the flight plans for commercial airliners. These can operate to a latency of seconds. It would not be possible to offer modern commercial air travel if these computations could not reliably be performed in real time. Live audio-video systems are also typically soft real-time; violation of constraints results in degraded quality, but the system can continue to operate.
The needs of real-time software are often addressed with the use of real-time operating systems, which provide a framework upon which to build real-time application software.
Search Encyclopedia
|