Classroom sessions:
Monday: 12:30 - 14:00, OH14/104
Tuesday: 14:15 - 15:45, OH14/104
Start of course: Monday, April 1st, 2019
Credits: 8 (Basismodul)
Finals: Oral Exam.
25.07: 14:00 - 18:00
12.08: 13:00 - 18:00
30.09: 09:00 - 17:00
Please contact the chair secretary Claudia Graute to get a time slot for the exam on one of the days.
If you got any questions regarding the exam dates etc. please contact Georg von der Brüggen
Exercise:
Thursday: 10:15-11:45 OH16/E18 (Group 1)
Thursday: 14:15-15:45 OH16/E18 (Group 2)
If you did not register for one of the exercise sessions during the first lecture, please contact Georg von der Brüggen via Email.
Exercises will be uploaded to the website one week before the exercise sessions. The first sheet will be uploaded at 11.04.19, the first exercise session will be at 18.04.19.
Solutions can be placed into the mailbox of LS 12 on the first floor of Otto-Hahn-Straße 16 (right corridor) until 13:00 on Wednesday.
Tutor: Georg von der Brüggen
If you got any questions regarding the exercises please write an email.
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:
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
References:
WCET:
Real-Time Calculus:
Multiprocessor Scheduling:
Schedule: This is the preliminary schedule for the Sommersester 2019. The schedule will be updated shortly.
Session | Subject | Slides and Supplementary Materiall | Videos |
01.04.19 | Introduction of Real-Time Systems | ||
02.04.19 |
Task Models and Scheduling Policies |
||
08.04.19 |
FP Scheduling - RM and DM (I) |
||
09.04.19 |
FP Scheduling - RM and DM (II) |
||
11.04.19 |
Devilery of Exercise Sheet 1 |
Exercise 1 | |
15.04.19 |
FP Scheduling - RM and DM (III) |
||
16.04.19 |
Non-Preemptive and Limited Preemptive Scheduling |
Non-Preemptive Scheduling | |
18.04.19 | Exercise 1 | Exercise 2 | |
22.04.19 | No Lecture - Ostermontag | ||
23.04.19 | EDF Scheduling | Aperiodic | 5-03.mp4 |
25.04.19 | Exercise 2 |
|
|
29.04.19 | 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) |
30.04.19 | WCET (II) | Predictability | |
02.05.19 | Exercise 3 (lab) | ||
06.05.19 |
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.
|
|
07.05.19 |
Resource Reservation Servers |
Servers.pdf | |
09.05.19 |
No Exercise |
Exercise 4 |
|
13.05.19 |
Formal proofs |
(Chapters 3/4) |
|
14.05.19 |
Formal proofs (2) |
|
|
16.05.19 |
Exercise 4 |
Exersice 5 | |
20.05.19 |
Resource Augmentations and Approximations |
12-01.mp4 | |
21.05.19 |
Real-Time Communication |
||
23.05.19 |
Exercise 5 |
||
27.05.19 |
Self-Suspension | Self-Suspension.pdf |
|
28.05.19 |
Real-Time Calculus | RTC-handout.pdf |
|
30.05.19 |
No Exercise - Christi Himmelfahrt |
||
03.06.19 |
Real-Time Operating Systems |
14-RTOS-2.pdf | |
04.06.19 |
No Lecture |
||
06.06.19 |
No Exercise |
Exercise 6 | |
10.06.19 |
No Lecture (Pfingstmontag) |
||
11.06.19 |
k2U Framework (1) |
14-02.mp4 | |
13.06.19 |
Exercise 6 |
||
17.06.19 |
k2U Framework (2) |
14-03.mp4 14-05.mp4 | |
18.06.19 |
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) |
|
20.06.19 |
No Exercise (Fronleichnam) |
Exercise 7 | |
25.06.19 | cancelled |
|
|
25.06.19 | 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).) |
27.06.19 | Exercise 7 |
Exercise 8 | |
01.07.19 | Multiprocessor (III) - Semi-Partitioned Scheduling, DAG and openMP |
Semi-Partitioned.pdf (to be updated)
|
|
02.07.19 |
Timing Analysis in Multicore Systems |
FMTV-2016-Challenges (external link) |
|
04.07.19 | Exercise 8 | ||
08.07.19 | Conclusion | ||
09.07.19 | 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.