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. It is a highly condensed and simplified work-in-progress preview of a work-in-progress book about that research [Jensen 2018].
(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 or 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.
The paragraphs 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 narrow special case subset of the general case. The expressiveness of this coherent model which encompasses the spectrum of real-time systems has been proven in considerable practice to be very powerful.
The most significant of the differences between the traditional special case of real-time computing systems, and the general case of real-time systems, is epistemic uncertainty.
The special case is focused on the presumption that there are few if any uncertainties, which makes that case only very narrowly applicable in the real world. Such real-time systems are static in virtually every respect pertaining to timeliness and predictability of timeliness. 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 with a formal method. Thus, these systems are dynamic in kinds and degrees (again, herein pertaining to timeliness and predictability of timeliness).
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 feasible by seeking a solution based on worst case instances of timeliness and predictability for happenings.
This site methodically articulates (briefly, condensed from the book) 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 herein with a precise and complete lexicon for the whole spectrum from the most general case to the traditional static subset.
Making decisions (e.g., action 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 summarizes a number of those. However, it focuses on a mathematical theory of belief functions (also referred to as evidence theory)—specifically, the Dempster-Shafer theory (a generalization of Bayesian theory) as modified to be the Transferable Belief Function theory—because it is well suited to military combat applications (and others) of interest to the author (and to a number of readers).
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).