Real-Time for the Real World ™
This site is a discourse about some of my novel research on real-time (including, but not limited to, computing) systems.
(My consulting practice web site is time-critical-technologies.com but I have retired from consulting except in cases of urgent national security.)
The primary focus of my research discussed here is:
- The very common general case of dynamically real-time systems subject to inherent epistemic uncertainties—meaning that timeliness and predictability of timeliness are dynamic, due to ignorance, and non-determinism, of happenings in the real-time system, its applications, and its operational environment;
- Managing hardware and software resources (such as scheduling) employing a combination of:
- my time/utility function (TUF) paradigm for general time constraints [Jensen 77, Jensen et al. 85], and utility accrual (UA) timeliness optimality criteria;
- widely used mathematical theories of evidence or beliefs for reasoning about epistemic uncertainties—especially to establish the predictability of happenings in the system and its environment, and of schedule outcomes, by fusing information (both evidence and beliefs) from multiple sources.
This site is a highly condensed and simplified work-in-progress preview of a work-in-progress book about that research [Jensen 2018].
The bullets above may seem to indicate that the general case of real-time systems is entirely different from the kind of systems that are traditionally considered to be real-time ones. But this site reveals that traditional real-time systems are in every respect a special case subset of the general case. The expressiveness of a coherent model which encompasses the spectrum of real-time systems has been proven in practice to be very powerful.
The most significant difference between the traditional special case of real-time computing systems, and the general case of real-time systems, is uncertainty. The special case is focused on the presumption that there are few if any uncertainties, which makes them only very narrowly applicable. Thus, such real-time systems are static in virtually every respect. The general case is all other (the majority of) real-time systems—there are intrinsic uncertainties in the system, the applications, and the operational environment. These uncertainties must be explicitly accommodated. Thus, these systems are dynamic in kinds and degrees.
Regardless of the kinds and degrees of uncertainties (including none), the general case, and the static special case, share the one first order precept of all real-time systems: timeliness (when things happen), and predictability of timeliness, are part of the logic of the system.
Outside the field of real-time computing systems, there is a vast array of dynamic real-time systems. For intuition, consider driving or flying from location A to location B, subject to weather, traffic, mechanical failures, etc. Typically, your destination arrival time is part of the logic (affects the utility) of your trip. How well you can predict the circumstances and their impacts on your arrival time facilitates your decision making about travel factors and contingencies, and is also part of the logic of your trip. Consider corresponding real world scenarios, such as for (arguably the most extremely mission- and safety-critical) uncertain real-time systems which are used in military combat. In general (except for comparatively simple static systems), reasoning about uncertainties is not amenable to seeking a worst case solution.
This site methodically articulates the fundamentals of the general case of real-time systems, based on first principles, mental models, and frameworks. One necessary consequence is that the babel of ad hoc inconsistent and inaccurate concepts and terms in the real-time computing practitioner and research communities is necessarily replaced with a precise and complete lexicon for the whole spectrum from the most general case to the traditional subset.
Making decisions (e.g., schedules) and predictions (e.g., of happenings and schedule results) under uncertainties is a wide and deep field, employing a variety of mathematical techniques suitable for specific purposes. This site uses a mathematical theory of belief functions (also referred to as evidence theory)—specifically, the Dempster-Shafer theory as modified to be the Transferable Belief Function theory.
The Introduction page elaborates on this home page. The subsequent pages are divided into chapters and sections which discuss general time constraint syntax and semantics, predictability per se, real-time systems as consisting of schedulable contending actions, and real-time operating systems. There is also a section clarifying the confusion about the literal and figurative senses of the term “embedded.” A (currently out of date) bibliography and references are provided.
N.B. There still are pages from the previous (c. 2008-2012) version of this site which I have not yet updated and integrated (or removed).