HOMEPAGE FOR THE COURSE "REAL-TIME SYSTEMS AND APPLICATIONS" IN SS 2020
Moodle-page: https://moodle.tu-dortmund.de/course/view.php?id=20082
Due to Covid-19 we decided to teach this course virtually. Please register in the moodle-course (hyperlink above). There you can find teaching material, login data for the virtual course room (lectures and exercises) and further information. If any issues arise, please contact Mario Günzel.
Course Details:
Classroom sessions:
Monday: 12:00 - 14:00, OH14/104 (digitally)
Tuesday: 14:00 - 16:00, OH14/104 (digitally)
Start of course:
20.04.20
Credits:
8 (Basismodul)
Finals:
Oral Exam.
Exercise:
virtual (preliminary) on Thursday 10:00-12:00 or 14:00-16:00
Tutor:
If you got any questions regarding the exam dates, exercises, etc. please contact Mario Günzel.
Course Introduction:
Real-time systems play a crucial role in many applications, such as avionic control systems, automotive electronics, telecommunications, industrial automation, and robotics. Such safety-critical applications require high reliability in timing assurance to prevent from serious damage to the environment and significant human loss.
In this course, we will study the foundemtals from theoretical and practical perspetives to provide formal design and verification of real-time systems. The main objectives are to introduce the basic concepts and some advanced topics in real-time systems, illustrate the most significant and state-of-the-art results in the field, and provide the basic methodologies for designing predictable computing systems which can be used to support critical control applications. The following subjects will be covered in the course:
- Introduction to Task Models and Scheduling
- Uniprocessor Scheduling
- Resource Sharing and Resource Reservation Servers
- Worst-Case Execution Time Analysis and Compilers Perspectives
- Real-Time Operating Systems and Programming Languages
- Real-Time Communications
- Real-Time Calculus
- Multiprocessor Scheduling
Prerequisites:
A basic background in algorithm analysis, data structures, operating systems, and discrete math will be assumed.
Literature:
Giorgio C. Buttazzo, “Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications”, Springer, Second Edition, 2004. ISBN: 0-387-23137-4 (roughly 40% of the lecture)
Conference and journal papapers in the literature. To be available
Schedule:
Attention: This is the old schedule for the Sommersester 2019. The updated schedule can be found in the moodle course room.
Session | Subject | Slides and Supplementary Materiall | Videos |
20.04.20 | Introduction of Real-Time Systems | ||
21.04.20 | Task Models and Scheduling Policies | ||
27.04.20 | FP Scheduling - RM and DM (I) | ||
28.04.20 | FP Scheduling - RM and DM (II) | ||
04.05.20 | FP Scheduling - RM and DM (III) | ||
05.05.20 | Non-Preemptive and Limited Preemptive Scheduling | Non-Preemptive Scheduling | |
11.05.20 | EDF Scheduling | Aperiodic | 5-03.mp4 |
12.05.20 | Worst-Case Execution Time (WCET) (I) | (updated on 10.05.19) |
(slide Page 20 in the video: k \in Out(B_i) instead of k \in Out(B_j) |
18.05.20 | WCET (II) | Predictability | |
19.05.20 | Resource Access Protocols | (09:20 - 09:35: the video has an ambiguous explanation) Job J3 has not been promoted to priority level 1 yet since Job J3 has not yet blocked job J1. But the current priority ceiling after t3 has become level 1. The priority inheritance happens at time t5. | |
25.05.20 | Resource Reservation Servers | Servers.pdf | |
26.05.20 | Formal proofs | (Chapters 3/4) |
|
01.06.20 | no lecture (Pfingsmontag) |
| |
02.06.20 | Formal proofs (2) |
| |
08.06.20 | Resource Augmentations and Approximations | 12-01.mp4 | |
09.06.20 | Real-Time Communication | ||
15.06.20 | Self-Suspension | Self-Suspension.pdf |
|
16.06.20 | Real-Time Calculus | RTC-handout.pdf |
|
22.06.20 | Real-Time Operating Systems | 14-RTOS-2.pdf | |
23.06.20 | k2U Framework (1) | 14-02.mp4 | |
29.06.20 | k2U Framework (2) | 14-03.mp4 14-05.mp4 | |
30.06.20 | Multiprocessor (I) - Partitioned Scheduling | 16-01.mp4 (1:00 - 1:02 -- the explanation regarding to proportional to the speed should be "inversely proportional" to the speed) | |
06.07.20 | Multiprocessor (II) - Partitioned Scheduling (II), Global Scheduling | Global.pdf | (07:48 - 07:52 -> The explanation should be "There is no good result with respect to utilization bounds.) (06:52 - 07:00 -> The computation effort was undefined in my words. The efforts did not mean for time complexity. I had intention to mention the "understanding effort" but not "computation complexity". The complexity of k2U and k2Q approaches is O(n^2log n).) |
07.07.20 | Exercise 7 | Exercise 8 | |
13.07.20 | Multiprocessor (III) - Semi-Partitioned Scheduling, DAG and openMP | Semi-Partitioned.pdf (to be updated)
| |
14.07.19 | Timing Analysis in Multicore Systems
Conclusion | FMTV-2016-Challenges (external link) | |
Real-Time Programming Languages | RTPL.pdf |
The schedule is preliminary and maybe changed slightly during the semester. The slides linked already are from the previous year. The slides for this term will be added / updated during the semester.
Changes in the schedule are blue (different order etc) while canceled lectures will be marked red. Black links are slides from the last semester. Blue links are slides already updated / added. Red links were changed again after the release. If they are changed more then once the date of the last change will be added.