part1
part1
Mathieu Delalandre
University of Tours, Tours city, France
[email protected]
1
Introduction to real-time systems
1. Definition
2. Application use-case
3. Concept of time
4. Design issues
2
Definition
Real-time systems are hardware and software components that are subject to real-time constraints (i.e. operational
deadlines from events to system responses). They must execute within strict constraints on response time. By contrast, a
non-real-time system is one for which there is no deadline. They can be defined considering two aspects:
Time means that the correctness of the system depends not only on the logical results of the computation but also
on the time at which the results are produced.
Real indicates that the reaction of the system to external events must occur during their evolution. As a
consequence, the system time must be measured using the same time scale used in the controlled environment.
Observations
3
Introduction to real-time systems
1. Definition
2. Application use-case
3. Concept of time
4. Design issues
4
Application use-case
Radar tracker
5
Introduction to real-time systems
1. Definition
2. Application use-case
3. Concept of time
4. Design issues
6
Concept of time (1)
Time and environment: a generally held opinion defines a system as working in real-time, if it is able to quickly react. The
concept of time is not an intrinsic property of the system, but strictly related to the environment in which the system operates.
7
Concept of time (2)
Fast vs. predictability: some people erroneously believe that it is worth investing in real-time because advances in computer
hardware will take care of any real-time requirements (i.e. the Moore law). In fact, the objective of fast computing is to
minimize the average response time of a given set of tasks, whereas the objective of real-time computing is to meet the
individual timing requirement of each task. Hence, rather than being fast, a real-time computing system should be predictable.
Soft vs. hard real-time: the main difference between a real-time and a non real-time system is that a task in a real-time
system is characterized by a deadline, which is the maximum time within which it must complete its execution. Therefore, in a
real-time system, a result provided after a deadline is not only in late but wrong. Depending of the consequence of a missed
deadline, the real-time systems could be considered in two categories:
8
Introduction to real-time systems
1. Definition
2. Application use-case
3. Concept of time
4. Design issues
9
Design issues (1)
There are important properties that real-time systems Scalability: a system is described as scalable if will remain effective when
must have to support for critical applications. there is a significant increase in the number of resources and users.
tedious programming,
difficult code understanding,
difficult software maintainability,
difficult verification of time constraint,
etc.
e.g. Patriot system, 25th of february 1991 (Dhahran city, Saudi Arabia)
During the golf war, a scud has been missed by the patriot system, and crashed
on the Dhahran city (Saudi Arabia). A bug on real-time clock management was
accumulating a delay of 57 s / mm. The day of the accident, a 100 hours
execution has accumulated 343 ms of delay corresponding to a distance
approximation error of 687 meters. The bug was corrected the day after (26th
of February).
This is mainly due to the fact, in real-time control applications, the program
flow depends of input sensory data and environmental conditions, which
cannot be fully replicated during the testing phase.
11
Design issues (3)
Ad hoc vs. design methodologies: a more robust guaranty of the real-time system performances under all possible operating
conditions can be achieved only by using more sophisticated design methodologies (operating system mechanisms, static
analysis of the source code, etc.).