E. Douglas Jensen's

Real-Time for the Real World

 
Home  |  Search  |  Contact Me   
 
 

My personal manifesto about the widely misunderstood field of real-time computing...

"I don't understand why people are frightened of new ideas. It's the old ideas that frighten me."
-- John Cage


 

Introduction
About Me
Real-Time
Distributed Real-Time
Distrib. Real-Time Java
Real-Time Java
Real-Time CORBA
Real-Time Resources
Our Documents

Introduction

This site is primarily an introduction to my personal manifesto about a different real-time -- more generally and broadly applicable, time-critical -- paradigm that (although still a work in progress) has proven to be much more effective than the traditional paradigm when building dynamic large scale, complex  and especially distributed real-time systems.

"The problem is never how to get new, innovative thoughts into your mind, but how to get old ones out."

-- Dee Hock, The Birth of the Chaordic Age

In my opinion (although I believe it to be obviously true), the real-time computing field is widely misunderstood in both the practitioner and research communities especially by comparison with other topics in science and engineering in general, and in computer science and engineering in particular.

This misunderstanding by practitioners is largely to blame for real-time computing being more of an ad hoc craft than an engineering discipline (much less a scientifically grounded one).

This misunderstanding by researchers is due to their paucity of contact with actual non-trivial real-time systems, and the academics' primary focus on doing relatively easy analytical work on simple deterministic – generally unrealistic – systems so they can publish a lot.

Both of those communities are also to blame for real-time computing historically being confined to a small niche, when actually it has much wider applicability.

Traditional real-time computing concepts and technologies are intended only for simple, static, predominately periodic (synchronous) device-level subsystems. They are ineffective or even counter-productive for the large and important class of complex, dynamic, asynchronous and mesosynchronous (neither synchronous nor asynchronous) real-time computing systems. Mesosynchronous real-time computing is found at all levels of enterprises - from the device level (e.g., in multi-mode phased array radars), to the platform level (e.g., in surveillance and intelligence aircraft), to the mission level (e.g., netted sensor-to-shooter control loops in network-centric warfare). More detail about example applications in my application domain (military systems) is on the Worked Examples pages.

"It must, in all justice, be admitted that never again will scientific life be as satisfying and serene as in days when determinism reigned supreme. In partial recompense for the tears we must shed and the toil we must endure is the satisfaction of knowing that we are treating significant problems in a more realistic and productive fashion."

-- Richard Bellman, Adaptive Control Processes:
A Guided Tour
, 1961

On this site you can also learn a little about me and what I do at MITRE. Most of my work researching, developing, and applying distributed real-time concepts, technologies, and standards to military systems is classified, so unfortunately very little about it can appear here. In addition, I led the Distributed Real-Time Specification for Java, contributed to the Real-Time Specification for Java, and co-authored the OMG Real-Time CORBA 1.2 (ne'e 2.0) specification.

This site also has an unconventional page about resources related to real-time.

You may want to check my Changes page (see the Site Updated link at the bottom of every page), which lists all the relatively significant updates to this site. To facilitate that, my Changes page has an RSS feed (what's that?), and a form in which you can enter an email address to be notified when the Changes page is updated. Each individual page also has its own date and time stamp.

About the clock on my home page. People frequently associate a clock image with real-time computing system books, web sites, etc. It is appropriate to the extent that a clock symbolizes time, which is a fundamental aspect of time-critical resource management, applications, and systems. But a clock also usually implies static cyclic periodicity a strong property that closely corresponds to the nature of traditional real-time computing in device-level subsystems. But static cyclic periodicity definitely does not correspond to the nature of more general, larger scale, more complex, more dynamic, more asynchronous, time-critical computing systems at higher levels of an enterprise (for example, network-centric warfare). The distorted clock image on my home page is intended to maintain the concept of time, timeliness, and time-critical resource management, while rejecting the notion of static cyclic periodicity.

Add to Favorites

Print Page

Download a PDF copy of this page

 

Please read the legal stuff governing the use of this web site.

 

My MITRE-sponsored research project has built a Java application for demonstrating and experimenting with time/utility functions. It is a notional cruise missile defense application cast in a video game style context. It is open source and publicly released. It will run as a browser applet or standalone. It is still a work in progress, but the current version will always be available on sourceforge and on the new version of my web site,

 
 

View Site Changes  RSS feed | Site Updated 08/21/2008 |  Legal