Next: Scheduling Theory
Up: Introduction
Previous: Motivation
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
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:
- 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.
- 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.
- 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.
- real time is equivalent to fast computing: ``fast'' is
relative. That is, in the AMB community, a sampling rate of
microseconds is considered ``fast''. In the robotics community, a
sampling rate of
microseconds is already considered
``fast''. In the geo-sciences community, a sampling rate of
(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
microseconds (
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: Scheduling Theory
Up: Introduction
Previous: Motivation
Michael Barabanov
2001-06-19