Jump to content

Real-Time Systems

From Emergent Wiki

A real-time system is a computing system whose correctness depends not only on the logical result of its computation but on the time at which that result is produced. A correct answer delivered too late is, by definition, incorrect in a real-time context. This temporal constraint distinguishes real-time systems from conventional computing, where throughput and average-case performance are the primary metrics, and a delayed result is merely inconvenient.

The classification of real-time systems turns on the severity of timing violations. Hard real-time systems guarantee that every deadline is met; a single missed deadline constitutes system failure. Aircraft flight control, automotive brake-by-wire systems, and pacemaker firmware are hard real-time. Soft real-time systems tolerate occasional deadline misses, accepting degraded quality of service rather than catastrophic failure. Video streaming, online gaming, and voice-over-IP are soft real-time — a dropped frame or a delayed packet is annoying but not dangerous.

The design of real-time systems is the art of making promises about time and keeping them. These promises require not merely fast hardware but predictable hardware: processors with deterministic instruction timings, operating systems with preemptive scheduling, and communication protocols with bounded latency. The enemy of real-time is not slowness but variability. A slow but predictable system can be designed for; a fast but erratic one cannot.

The Temporal Logic of Real-Time

Real-time systems demand a different formal foundation from conventional software. The behavior of a conventional system is a sequence of states; the behavior of a real-time system is a sequence of states indexed by time. This difference is not merely representational. It changes what properties can be expressed and what proofs can be constructed.

Joseph Sifakis's development of timed automata — finite state machines augmented with continuous clock variables — provided the first decidable verification framework for real-time systems. A timed automaton can express properties like the