• "The first revolution is when you change your mind
    about how you look at things
    and see that there might be another way to look at it
    that you have not been shown."

    --Gil Scott-Heron, "The Revolution Will Not Be Televised"
  • Updated on 08 December 2017 at 11:18 am

     

    Real-Time for the Real World

    E. Douglas Jensen

    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 inherent uncertainties—both ignorance and non-determinism—in the system and its operational environment. Most real-time systems (computing or otherwise) are dynamic—military combat systems are the arch-typical extreme example, but only one case of that majority of systems.

    Examples of how real-time systems and their applications and their operational environments can have dynamic uncertainties—due to both both ignorance and non-determinism—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 shared (hardware and software) resources.

    There is an expanse of dynamic real-time systems.

    Static real-time systems are the (often important) deterministic special case corner-point on that expanse.

    Most real-time systems are everywhere else on the expanse, thus dynamic and non-deterministic in kind and degree.

    Inside the traditional real-time computing field, most systems are at the static corner-point of the dynamic real-time expanse. These systems are commonly called “hard” real-time ones. A minority of systems are very near the static corner-point, and the academic research community refers to “firm” [ ] real-time and “weakly” [ ] real-time. These are actually relatively simple special cases of soft real-time as that term is properly and precisely defined herein.

    Outside the field of traditional real-time computing, most real-time systems have some kinds and degrees of dynamically real-time behavior by their actions—i.e., may be anywhere on the dynamic real-time expanse except at its static corner-point.

    This site precisely 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 frameworkquality of service—based on first principles about latency and uncertainty and probability. This scholarly approach to precisely defining real-time concepts and terminology is both unique and essential for reasoning about non-trivial real-time systems.

    Reasoning about uncertainty is a very deep topic with a vast body of theory and practice in a variety of contexts. This site is the first and currently only source which discusses such reasoning in the context of real-time systems.

    It is intended to rely on minimal related formal knowledge, but requires sufficient cognitive maturity for readers to be comfortable learning a modest amount of conceptual and analytical material unfamiliar to the real-time computing research and practitioner communities. Three examples are elementary scheduling theory, alternative interpretations of probability, and non-deterministic subjective scheduling algorithms.

    This site precisely 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 frameworkquality of service—based on first principles about latency and uncertainty and probability. This scholarly approach to precisely defining real-time concepts and terminology is both unique and 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).

    Next: Introduction

    About Me

    E. Douglas Jensen is a well-known pioneer and thought leader in real-time and distributed real-time systems–especially dynamic ones. His professional accomplishments have been in Innovative industria
    Read more

    Introduction

    This web site is primarily a—indeed, the only currently extant—scholarly exposition of timeliness and predictability of timeliness in the general case of dynamically real-time (including, but not limit
    Read more