[Condensed excerpts from]
Chapter 4: Dynamic Real-Time Systems
Chapters 1, 2, and 3 discussed individual actions (for example, a thread in a computing system, a mechanical operation by a robot), and dynamic (the spectrum of non-static) real-time actions.
Chapter 4 builds on the first three chapters, by discussing real-time systems which include real-time actions. The focus is on real-time systems which are not static, and consequently on how non-static real-time actions make a system non-static. Using the principles in the book, Chapter 4 discusses reasoning about the degree to which a system is a dynamically real-time one—i.e., has dynamic timeliness and predictability of of timeliness.
A variety of extraneous factors are commonly associated with various notions of a “real-time (especially computing) system”—small size, very limited resources, very low cost, etc. Those factors are relevant in systems which are “embedded” in the figurative (as opposed to the literal) sense, as explained in Section 4.3. Because they tend not to be first-order factors with respect to dynamically real-time systems, Chapter 4 considers them only to a correspondingly small extent.
Chapters 1, 2, and 3 necessarily revealed that for an action, virtually all the various conventional usages of the terms “real-time” vs. “non-real-time,” and “hard” vs. “firm” vs. “soft” real-time, are counter-productive over-simplifications. Chapter 4 reveals that the same is true for a system.
Such misunderstandings have been proven to impede the applicability and usefulness of an action or a system whose logic includes its timeliness and its predictability of timeliness.
Those Chapters also demonstrated a paradigm whose scientific first principles-based mental models and QoS framework provide a structure for correctly defining and understanding those fundamental real-time terms. That paradigm enables methodologically or even formally reasoning about the acceptable satisfaction of an action’s timeliness and predictability of timeliness QoS. It scales across the whole action real-time QoS spectrum—from the general case of variously dynamic actions which are ubiquitous, but beyond the reach of, the traditional real-time computing research and practitioner concepts and techniques—down to the special case subset of conventional static actions.
Chapter 4 uses the productive problem-solving mindset introduced in Chapter 1, together with the first principles, mental models, and quality of service (QoS) framework from Chapters 1, 2, and 3 about actions. To those it adds additional first principles, mental models, and a QoS framework for the system level. These all are employed to form precise characterizations of systems’ quality of real-time service(s), which scale from traditional static systems, to the spectrum of variously dynamic systems. This greatly enriches and expands the regime of real-time computing from its historical static special case.
In this Chapter, unless specified otherwise, the term real-time system (not limited to computing systems) refers to the general case that encompasses all systems for which:
- the real-time QoS of their constituent actions is based primarily on action timeliness, and the predictability of that timeliness (other action properties, such as relative importance, are often also included, as explained in the previous Chapters);
- the real-time QoS of those actions, per individual action or collectively for one or more specified subsets of actions, is the basis for the system’s quality of real-time service(s).
There are various alternative ad hoc and de jure [ ] approaches to characterizing what makes a system a real-time one in kind or to various degrees. Some of those approaches are also examined in Chapter 4.
Section 4.1 is about real-time systems in general, emphasizing real-time computing systems. Section 4.2 is about real-time operating systems. Section 4.3 is about embedded computer systems (in a more general manner than usual), many of which are real-time ones to some degree.