This book is devoted to both new and extant fundamentals of dynamically real-time systems. Those systems are the general case, and traditional static ones are a small subset of them. Thus, the fundamentals of the general case provide a coherent comprehensive foundation which is needed but absent (except for a few fragments discussed in Chapter 4) from the traditional special case mindset.
Chapter 1 summarizes examples of real-time computing system characteristics which may be dynamic to some degree, resulting in dynamically real-time actions, including (but are not limited to):
- changes in the actions and system, including action (e.g., task) arrival times and operation (e.g., execution) times, potentially resulting in transient or persistent overloads;
- changes in action completion time constraints, such as deadlines, even during an action’s operation;
- changing conflicts for access to concurrently shared (hardware and software) resources;
- networks with variable latencies and bandwidths, and changing connectivity;
- partial faults, errors, and failures that are managed during system operation.
The manner and degree to which a system is dynamically real-time locates it on a categorical expanse. A system which exhibits any non-null subset of these characteristics is somewhere on that expanse, except for the static corner-point.
Traditional real-time computing systems are an important special case, very near to, or at, the static corner-point of the general dynamically real-time computing systems expanse. The almost ubiquitous mental model of these systems has properties which include:
- designed presuming clairvoyance about the time evolution of the system, applications, and execution environment (i.e., presuming or asserting the absence of uncertainties);
- all important tasks have deadlines (mapped into operational context native priorities);
- all deadlines must always be met for the system to operate correctly;
- relatively small and simple, usually centralized;
- highly resource-constrained;
- highly cost-sensitive.
Those are very strong, and in general, unrealistic, system properties. However, such special case static systems exist in comparatively few, although often important, applications (cf. the research and practitioner “hard real-time” literature).
Chapters 2 and 3 reveal mental models whose action (and hence, in Chapter 4, system) properties are dynamic in various ways and degrees.