Introduction To Real-Time Systems
Introduction To Real-Time Systems
Introduction To Real-Time Systems
Summary
1. Some denitions. 2. Example of real-time systems. 3. Real-Time systems require specic analysis and programming methods. 4. Summary, further readings, planning of the week. 5. References.
Functions must be predictable : the same data input will produce the same data output. Timing behavior must be predictable : must meet temporal constraints (e.g. deadline, response time).
= Predictable means ... we can compute the system temporal behavior before execution time.
Hard (or critical) real-time systems: temporal constraints MUST be met, otherwise defects could have a dramatic impact on human life, on the environment, on the system, ... Soft (or non critical) real-time systems: temporal constraints cannot (sometimes) be met without any dramatic impact. Opened or closed real-time systems: tasks/functions can be launched/created at execution time?
Difcult to update/correct when a software failure is discovered (e.g. mobile phone, spacecraft).
Problems raised by distributed systems:
Summary
1. Some denitions. 2. Example of real-time systems. 3. Real-Time systems require specic analysis and programming methods. 4. Summary, further readings, planning of the week. 5. References.
Example 1: aircraft
Processor
Network
Processor
Temporal constraints: worst case response time but also jitter, end to end delay, intra-ow and inter-ow synchronization. General purpose execution environment (e.g. PC with a windows operating system). Resource requirements difcult to estimate : number of ow, bandwidth of each ow (e.g. MPEG encoder). Can not perform worst case resource reservation.
University of Brest Page 10/26
Others examples
From a book on real-time systems programming : "This book is about real-world programming ... So real-world programs (and real-world programmers) are all around us. What characterizes all of these real-world applications is a critical dependence on time." [GAL 95] Transportations (train, aircraft, automotive, underground, ...). Satellite TV decoder. Mobile phones, MPEG3 players, cameras, ... Monitoring services (e.g. health devices). Robotic systems Nuclear power plant. ...
Summary
1. Some denitions. 2. Example of real-time systems. 3. Real-Time systems require specic analysis and programming methods. 4. Summary, further readings, planning of the week. 5. References.
Requirements = What ? Are they consistent? Design software architecture = How ? Verication of the timing/logical constraints. Does the architecture provide the right answer? Implementation = write software components. Tests: check correctness of the software.
To reduce costs: do early verication each time we can => design step. Use of Models and tools that automatically handle those models. Analysis methods: Simulation. Model checking. Formal methods for real-time systems: Petri nets, timed automata, synchronous languages, ... Analytical approaches: real-time scheduling analysis.
University of Brest Page 15/26
Target machine
rGDB
rsh
Windows/Linux
Why cross-compiling : because target has a limited amount of resource, is composed of specic hardware/software (timing behavior). University of Brest Page 17/26
Low level languages : C or assembly languages. High level languages: Esterel or Ada languages.
Largely known. Direct access to hardware components. But must be used with libraries for concurrency/synchronization/timing/scheduling. Use of language subsets (e.g. dynamic allocation). Low portability. Well suited for small real-time applications.
Contains real-time abstractions: timing/concurrency/synchronization/scheduling. Standard : semantic is well dened = portability. Separate compilation. Safety programming (strong typing, static analysis). Complex language which is difcult to use. Few programmers. Well suited for large real-time applications.
Summary
1. Some denitions. 2. Example of real-time systems. 3. Real-Time systems require specic analysis and programming methods. 4. Summary, further readings, planning of the week. 5. References.
References
[COU 94] G. Coulouris, J. Dollimore, and T. Kindberg. Distributed SystemsConcepts and Design, 2nd Ed. Addison-Wesley Publishers Ltd., 1994. [DEM 99] I. Demeure and C. Bonnet. Introduction aux systmes temps rel. Collection pdagogique de tlcommunications, Herms, septembre 1999. [DOR 91] A. Dorseuil and P. Pillot. Le temps rel en millieu industriel. Edition DUNOD, Collection Informatique Industrielle, 1991. [GAL 95] B. O. Gallmeister. POSIX 4 : Programming for the Real World . OReilly and Associates, January 1995. [STA 88] John Stankovic. Misconceptions about real-time computing . IEEE Computer, October 1988.