Defining determinism

While I appreciated your article—"PCs Are Gaining Control" (CE, Feb. '99, p. 62)—I disagree with your definition of determinism. A real-time system is a system in which the process governs the pace, not the controller. Real-time systems are of two kinds:The current combination of cyclic processing (IEC61131-3) on [cyclic] real-time kernels with cyclic busses provides determi...

By Staff September 1, 1999

While I appreciated your article—”PCs Are Gaining Control” ( CE , Feb. ’99, p. 62)—I disagree with your definition of determinism. A real-time system is a system in which the process governs the pace, not the controller. Real-time systems are of two kinds:

Hard real-time [control] systems are deterministic, i.e. the delay between an event (change of value of an input) and the corresponding change of a controller output obeys some random function reaching zero after a finite time t, smaller than the deadline required by the process.

Soft real-time [control] systems are not deterministic: i.e. the value of the delay between event and output obeys a random function which is non-zero at any deadline.

The current combination of cyclic processing (IEC61131-3) on [cyclic] real-time kernels with cyclic busses provides determinism, except towards failure of components, which are normally not considered.

In practice, non-deterministic systems tend to be faster on the average and can share resources, while deterministic systems tend to be slower and must pre-allocate all resources.

Hubert Kirrmann, ABB Corporate Research, Baden, Switzerland