Because in general, action timeliness and predictability of timeliness are expanses and not binary, a framework is needed to define and communicate about principles for these two foundational (and other subsidiary) properties. That facilitates being able to reason as a scientific and engineering endeavor about them, to acceptably satisfy a dynamic application’s needs.
Chapter 1 of the book cogently and formally defines those principles as part of a systematic framework for real-time actions. The framework is a unified one in which dynamic real- time is the general case, and static real-time is a special case of it. The framework is extended from actions to real-time systems and computing systems composed of real- time (and non-real-time) actions in Chapter 4. The framework for real-time actions and systems in this book is based on the concept of quality of service (QoS).
Quality of service is a set of metrics for specifying, reasoning about, and measuring one or more functional (e.g., timeliness, predictability) or non-functional (e.g., resilience) properties of a service provided by an entity (sometimes called the service producer) to one or more other recipient entities (sometimes called the service consumer(s)).
A QoS metric depends on the nature of the service and its properties, and the service property quality requirements of the recipient(s)—e.g., minimum, maximum, mean, etc. rate of service deliveries. QoS originated, and is most familiar, in the field of networks, where it is specified in terms of various data communication properties such as latency, jitter, bandwidth, error rates, etc.
QoS can be applied to services at any level in a system. QoS at the application level (or optionally any level above the network levels) is sometimes called Application QoS (AQoS) to avoid confusion with the historical network-level QoS. For example, AQoS for an airborne surveillance radar tracker service is usually specified in terms of service properties such as number of dropped tracks, track accuracy, track quality, etc.
In this framework, an action is a service whose quality is specified primarily in terms of its timeliness and predictability of timeliness—i.e., it is a real-time one to the degree to which:
- action timeliness (e.g., either completion time constraint, or minimizing latency, mental models) is satisfied acceptably well with acceptable predictability
- according to application- and situation-specific acceptability criteria
- taking into account the action’s other pertinent properties, such as its relative importance, security properties (e.g., ISO [ ]), etc.
- given the current circumstances—especially the kinds and degrees of uncertainties about system loads and overloads, shared resource access contention, partial failures, etc.
A QoS framework for real-time actions is described in Chapter 1, and extended to dynamic real-time computing systems in Chapter 4.