Real-Time for the Real World ™
This site is about some of my research on real-time (including, but not limited to, computing) systems. (My consulting practice web site is time-critical-technologies.com.)
In particular, it is focused primarily on dynamic—in the sense of dynamically real-time— systems (as opposed to other ways that systems can be dynamic). “Dynamically real-time” refers to timeliness and the predictability of timeliness being dynamic, primarily due to uncertainties in the system and its operational environment.
Common examples of how systems and their applications and their operational environments can result in dynamically real-time properties include (but are not limited to):
- changes in the system actions’ (e.g., tasks’) expected arrival times and operation (e.g., execution) times, potentially resulting in transient or persistent overloads;
- changes in actions’ (e.g., tasks’) completion time constraints, such as deadlines, even during an action’s operation;
- changes in actions’ conflicts for access to sequentially shared (hardware and software) resources.
There is an expanse of dynamically real-time systems.
Static real-time systems are the (often important) deterministic special case end-point on that expanse.
Everywhere else on the expanse, real-time systems are non-deterministic in kind and degree.
Inside the traditional real-time computing field, most systems at the static end-point of the dynamically real-time expanse. These systems are commonly called “hard” real-time ones. A minority of systems are very near the static endpoint, and the academic research community refers to “firm” [ ] real-time and “weakly” [ ] real-time. These are actually simple special cases of soft real-time as that term is defined herein.
Outside the field of traditional real-time computing, most real-time systems have some degree of dynamically real-time behavior by their actions—i.e., may be anywhere on the dynamically real-time expanse except at its static end-point.
This site scientifically defines the concepts of real-time per se, and related concepts such as predictability and hard/soft in terms of a mental model in a framework—quality of service—based on first principles about latency. This scholarly approach to thoughtfully defining real-time concepts and terminology is essential for reasoning about non-trivial real-time systems.
The Real-Time pages of this site are a work-in-progress preview of my work-in-progress monograph “An Introduction to Fundamental Principles of Dynamic Real-Time Systems” [Jensen 2018].
An outdated list of selected papers authored by my research teams and myself, and published in professional society (IEEE, ACM) journals and conferences, is provided, and will be updated. Other sources for some of those are my Google Scholar page and my academia.edu page.
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).