0% found this document useful (0 votes)
4 views

part1

Real-time systems are defined by their strict operational deadlines, where the correctness of outputs depends on both the results and the timing of those results. Applications include radar tracking and various critical control systems, with design considerations focusing on scalability, maintainability, fault tolerance, and predictability. The document emphasizes the importance of robust design methodologies over ad hoc techniques to ensure reliable performance in real-time environments.

Uploaded by

Said Bouargalne
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

part1

Real-time systems are defined by their strict operational deadlines, where the correctness of outputs depends on both the results and the timing of those results. Applications include radar tracking and various critical control systems, with design considerations focusing on scalability, maintainability, fault tolerance, and predictability. The document emphasizes the importance of robust design methodologies over ad hoc techniques to ensure reliable performance in real-time environments.

Uploaded by

Said Bouargalne
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Real-time systems

“Introduction to real-time systems”

Mathieu Delalandre
University of Tours, Tours city, France
[email protected]

Lecture available at http://mathieu.delalandre.free.fr/teachings/realtime.html

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

programming automata data / events production line,


application-specific circuit (e.g. ASIC) Computer Controlled home automation,
uni or multi processor System process intelligent driving,
distributed systems video game,
etc. orders / display network,
etc.
Actions

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

C2 (i.e. Command and Control) Tracking steps in C2.


1. Track initiation: to create a new radar track
data from a radar plot.
shared 2. Track smoothing: the latest track prediction is
memory combined with the associated plot to provide a
new, improved estimate of the target state. A
localization DSP basic algorithm is the Kalman filter.
3. Track maintenance: to end the life of a track.
Control
control / Unit
setting
states
DSP is Data Signal Processing
Other applications are at the corner:
display chemical and nuclear plant control,
railway,
flight control systems,
telecommunication systems,
industrial automation,
robotics,
military systems,
etc.

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.

Application Time scale


Aircraft millisecond
Machine Man Interface second
Production line minute
Chemical reaction hour
Meteorological prediction day
Pay slip month

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:

Type Description Examples


Hard real-time A missing deadline may cause catastrophic consequences Aircraft command, nuclear process control,
systems on the environment under control. intelligent transportation, medical equipment, etc.
Soft real-time A meat deadline is desirable for performance reasons, but Handling input data from keyboard, display
systems a missed deadline does not cause serious damages to the message on screen, handling input from pad for
environment and does not jeopardize correct system video game, data format conversion, etc.
behavior.

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.

Maintainability: the architecture of a system should be designed


System according to a modular structure to ensure that possible system
modifications are easy to perform.
Features no real-time real-time
Fault tolerance: single hardware and software failures should not cause
Scalability ++ + the system to crash. Therefore, critical components of the system have to
be designed to be fault tolerant.
Maintainability + +
Fault tolerance + ++ Design for peak load: systems must not collapse when they are subject to
peak-load conditions, so they must be designed to manage all anticipated
Design for peak load + ++
scenarios.
Timeliness no yes
Predictability no yes Timeliness: results have to be correct not only in their values but also in
the time domain. As a consequence, the system must provide specific
kernel mechanisms for time management and for handling tasks with
explicit time constraints and different criticality.

Predictability: to guarantee a minimum level of performance, the system


must be able to predict the consequences of any processing decision. If
some tasks cannot be guaranteed within time constraints, the system notify
this fact in advance so that alternative actions can be planned.
10
Design issues (2)
Ad hoc vs. design methodologies: most of the real-time systems are still designed with ad hoc techniques (e.g. large portions
of code in assembly language, programming timers, handling tasks and interrupt priorities). Although the code produced by
these techniques can be optimized, this approach has the following disadvantages:

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.).

Design No real-time features How to make it working in


Levels Components Problems real-time systems

Direct memory access Bus access restriction


Cache memory Random reading access
Processor resource disable optimization
Interrupt
Hardware restriction & interrupt,
Carry-look ahead, booth device handler rewriting
CPU Optimization
encoding, etc.
Etc.
Scheduling No real time scheduling
IPC and
Priority inversion
synchronization
Operating Design of real-time systems
Processor resource
system System call (VxWorks, RT Linux, etc.)
restriction
Memory management Expended memory
Etc.
Garbage collector, recursive Real-time programming
Application Programming language
programming, etc … language (C/C++, RUST, Ass…) 12

You might also like