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: An Introduction to Fundamental Principles of Timeliness in Dynamically Real-Time Systems [Jensen 2018].
This research is based on my career’s extensive experience performing research and development on real-time systems which have dynamic timeliness and predictability of timeliness resulting from intrinsic uncertainties–e.g., ignorance, imprecision, non-determinism, conflicts–in the system and its application environment.
(My consulting practice web site is time-critical-technologies.com but I have retired from consulting except in certain cases of classified national security.)
The book and this preview show that most real-time systems are beneficially recognized to be in that category, contrary to traditional real-time computing systems orthodoxy which presumes no uncertainties.
Traditional real-time computing system concepts and techniques are for a narrow (albeit important) special case, based on presumed a’ priori omniscience of a predominately static periodic-based system model. They are not applicable to the general case of real-time systems which dominate the real world.
The benefits of quantifying and exploiting uncertainties are very widely recognized in a great many fields of endeavor, not only real-time systems (e.g., in defense, medicine, finance, geo-science, economics, and many more). An example of dealing with uncertainties in real-time systems which has recently become familiar to everyone, is semi-autonomous augmented driving of automobiles.
This site provides a principled perspective for general real-time systems which has been proven uniquely effective for artificial reasoning about timeliness and the predictability of timeliness, despite uncertainties—and yet which scales down to not just encompass but improve the traditional static special case.
Reasoning about dynamic real-time actions and systems requires formalization of “timeliness” and “predictability.”
This book and site employ the time/utility (sometimes called time/value) function paradigm [Jensen 77, Jensen 85] as the basis for formalizing timeliness. Although that paradigm has been discussed in many papers and dissertations, much more detail about it is provided here. The expressiveness of this paradigm has proven to be instrumental in a variety of deployed dynamic real-time systems. A case study based on a class of actual applications is provided.
Predictability of actions’ completion times and thus accrued utility for that paradigm remains its most challenging and promising opportunity for continued research and development of theory and engineering.
Formalizing predictability of timeliness in dynamic real-time systems requires use of an appropriate mathematical approach to dealing with uncertainties.
There exists a variety of widely used candidate approaches, each having specific conceptual and practical properties for different applications. The book describes advantages and disadvantages of some approaches in the context of predictability of timeliness under epistemic uncertainties–specifically, for predicting the completion times and consequent utilities of scheduled real-time actions (e.g., computational tasks). A notional case study is used as an exemplar application for comparing these approaches.
Probability theory typically comes first to mind when considering predictability. However, there are a number of different interpretations of “probability” (i.e., probability theories), and that is an active field of research. The best known to non-specialists in probability is the frequentist interpretation (cf. tossing dice). It is shown herein to be the least appropriate for predictability in dynamic real-time systems, because it is about the outcome of a sequence of identical events–those are rare or absent in such systems.
Also well known and widely used is the Bayesian probability theory, but it has several drawbacks. The strongest criticism of the Bayesian theory is its inability to distinguish between ignorance and randomness, which is overcome in other subsequent theories for dealing with uncertainty.
Several of those, particularly the popular belief function and evidence theories, (e.g., Dempster-Shafer theory, the Transferable Belief Model, Dezert-Smranche theory) are candidates for being employed–particularly by schedulers–in certain dynamic real-time systems. These predict action and schedule timeliness and thus utilities by combining beliefs or evidence from multiple sources in the system and operational context.
Unsurprisingly, greater epistemic uncertainty (e.g., ignorance) leads to greater computation costs for accommodating it. Fortunately, there is a rich body of literature on efficient algorithms for using belief function and evidence theory, which trade off different aspects of the solution space to accelerate computations. Implementing algorithms in either graphical processing units or silicon has also been done.
The book includes examples of how using the articulated fundamental principles of timeliness and predictability of timeliness for scheduling can provide increased cost-effective operational mission effectiveness in certain interesting dynamic real-time systems.
References in this preview (but not in the book) are selected primarily to be those which can be downloaded freely from the Internet.
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).