next up previous
Next: Scheduling Theory Up: Introduction Previous: Motivation

Real Time Systems

A better solution is to apply what the literature refers to as ``Real Time Systems'', or computer systems in which the temporal correctness of the system is at least as important as the logical correctness of those results. For example, in a high speed AMB, it is imperative that our fixed rate suspension controller maintains a strict sampling rate of $8$ kHz, irrespective of whether or not the screen and graphical user interface have been fully refreshed. Failure to do so could cause our AMB to catastrophically fall out of suspension at the mere touch of the computer mouse during operation.

Unfortunately, there are several misconceptions [Sta88] regarding Real Time Systems which have inhibited many in the controls community from both recognizing the need for, and correctly implementing real time controllers. Four of the perhaps most commonly cited misconceptions are:

  1. faster hardware implies that all deadlines will be met: while it may be true that faster hardware will minimize the mean response time of our system, it does not necessarily imply that the system will be predictable, that is, that it will execute precisely at the requested sample rate irrespective of the system load.

  2. real time systems are equivalent to control systems programmed in assembly coding, interrupt programming, and complex device drivers: one of the most important research aspects of real time systems is that researchers concentrate on developing powerful scheduling algorithms that will meet all hard timing constraints. Consequently, a real time system designer can now use high level code such as Ada and C instead of a more arcane and platform specific assembly language.

  3. real time systems are all developed in an ad hoc fashion: real time systems research concentrates on developing powerful, flexible, and structured techniques that formalize the actual development and implementation of real time systems. Many tools now exist to help develop, validate, and simulate real time systems.

  4. real time is equivalent to fast computing: ``fast'' is relative. That is, in the AMB community, a sampling rate of $100$ microseconds is considered ``fast''. In the robotics community, a sampling rate of $1,000$ microseconds is already considered ``fast''. In the geo-sciences community, a sampling rate of $86,400,000$ $\mu s$ (1 day) is considered ``fast''. In all three systems, it is imperative that tasks execute at precisely the given time or else the results may no longer be valid. Consequently, all three systems are categorized as ``real time systems''. For the CTR, the sampling period is $125$ microseconds ($8$ kHz).

The real time systems community focuses on many aspects of real time research. Namely, they consider real time hardware, software, validation, and simulation among others. We, as end users, normally do not attempt to understand all of these and rely on the Computer Science community to develop most of these technologies. However, it is imperative that we understand, as a minimum, some very powerful scheduling results which greatly aid in the design process of real time systems and consequently in the implementation of hard-timing control environments. These results are discussed in what follows.



Subsections
next up previous
Next: Scheduling Theory Up: Introduction Previous: Motivation
Michael Barabanov 2001-06-19