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, 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.
Misunderstandings by practitioners result in real-time computing being more of an ad hoc craft than an engineering discipline (much less a scientifically grounded one).
Misunderstandings by researchers are 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.
Misunderstandings by both of those communities are also why real-time computing historically has been confined to a small niche, when actually it has much wider applicability.
Please understand that I intend no disrespect to the members of these communities, many of whom produce results that are admirable and important.
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 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. 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.
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.