TECHNICAL AND EDUCATIONAL CHALLENGES FOR REAL-TIME COMPUTING
Kevin Jeffay

The Status Quo

Within the last ten years real-time systems research has been transformed from a niche industry into a mainstream enterprise with clients in a wide variety of industries and academic disciplines. Issues of real-time support are now a standard fixture on call for papers in almost every computer science systems discipline. Principles of real-time computing are treated in operating system textbooks and undergraduate courses are starting to be developed.

Real-Time Computing -- The next wave

I believe real-time computing will continue to grow in importance and affect an increasing number of industries as many of the reasons for the rise of its prominence will persist for the foreseeable future. Market forces mandate increasingly greater function and lower cost in goods and services and thus manufacturers will increasingly utilize microprocessor-based real- time control in both their end-products and in their processes to stay competitive.

This will bring about new and growing requirements for real-time computing. The emergence of multimedia computing and communications is leading to a fundamental shift in perception of personal desktop systems from being primarily computation devices to being primarily real-time communication and/or entertainment devices. On the one hand, real-time systems solutions will be required for ensuring that these next generation digital systems faithfully emulate their current (logically) analog counterparts. On the other hand, the services provided by these systems will likely be metered and realized through a distributed network of servers and service providers. Thus there will be a strong economic incentive to ensure that the end-system is not the bottleneck in either the processing of media arriving over the network, or in the transmission of media into the network by the end-system.

Challenges -- Technical

These expanding requirements for real-time computing motivate a rethinking of many of the assumptions that have heretofore been at the core of real-time systems research. Representative examples include:

Dynamic execution environments and system behaviors. Broadly speaking, much of the work to date has concerned the design, analysis, and implementation of static systems -- systems wherein the external environment is characterized by a static (and typically small) set of well-defined behaviors. Future environments will be highly dynamic along a number of dimensions. For example:

% the rates at which external events will be generated will be closer to stochastic processes then periodic ones. Moreover, the time required to execute a real-time function ("a task") in response to an event may be neither bounded nor known a priori. For example, consider the problems of vision in intelligent, mobile robots, eye/head tracking in virtual reality systems, and congestion management in multi-point to multi- point communications systems.

% independent of the external environment, internal to a processor, the execution environment will be highly dynamic. Timing analysis methods that demonstrate how advances in computer architecture can be employed in the design of predictable real-time systems are needed.

Heterogeneous execution environments. Future distributed real- time systems will be composed of elements that are capable of providing real-time performance (e.g., "quality-of-service") and those that are not. The challenge is to realize a "best-effort" or adaptive form of real-time computing that attempts to maximize predictable performance in the face of un-predictable disruptions. This will require a more systematic treatment of mechanisms for monitoring real-time performance, providing feedback to controllable elements, and adapting real-time responses.

A unified theory of performance evaluation. In a sense, all non- trivial computing systems are "real-time" but with a varying degree of determinism in the tenor of their performance analysis. The challenge here is to discover and articulate the fundamental trade- offs between level of knowledge of the system and its environment and ability to guarantee performance.

Challenges -- Communal

Beyond these technical challenges there are educational and political challenges we face as a research community. Although the locus of real-time systems research will necessarily be blurred as research programs spring up in within other communities, it is important for the "traditional" real-time systems community (the IEEE TC on Real-Time Systems) to demonstrate leadership in the areas of teaching of real-time systems concepts, and in technology transfer.

Although real-time systems is fundamentally an applied computing discipline, it is more often than not difficult to demonstrate the solutions developed in research labs in real-world systems. Students will be the key to successfull technology transfer. This argues that a concentrated effort in real-time systems education at the undergradaute and gradute levels is critical to our field. While the basis for a foundation here is being laid -- it is the case that textbooks on real-time system are well into the publication pipeline, and meetings on real-time systems education have been held -- it is important to ensure that these efforts are strengthened and broadened so that substantive formal education in real-time systems occurs at all top universities rather than just the ones with an on-going research program in this area.

Related to this is the issue of faculty trained to teach real-time systems fundamentals. The ONR initiative in real-time systems in the mid-80s led to an increase in the number of basic research programs in real-time systems at universities throughout the USA. These programs in turn generated a modest number of Ph.D.'s, several of whom are now pursuing careers in academia as real-time systems researchers and teachers. In times of stagnant faculty growth, care must be taken to ensure that the academic pipeline created by the ONR initiative does not drain.