To content
Department of Computer Science

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:

Mario Günzel 

 

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

Introduction

 
 21.04.20

 Task Models and Scheduling Policies

Model

 
 27.04.20

 FP Scheduling - RM and DM (I)

Schedulability

Mathematics

Critical Instant

3-01.mp4 

3-02.mp4

3-03.mp4

 28.04.20

 FP Scheduling - RM and DM (II)

 

4-01.mp4

 04.05.20

 FP Scheduling - RM and DM (III)

 

4-02.mp4

4-03.mp4  

4-04.mp4

5-01a.mov

 05.05.20

 Non-Preemptive and Limited Preemptive Scheduling

Non-Preemptive Scheduling

9-01.mp4

9-02.mp4

 11.05.20  EDF Scheduling Aperiodic

5-01b.mp4

5-02.mp4

5-03.mp4
 12.05.20  Worst-Case Execution Time (WCET) (I) 

WCET-v2

(updated on 10.05.19)

7-01.mp4

7-02.mp4

8-01.mp4

8-02.mp4

8-03.mp4

8-04.mp4

 

(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

Resource.pdf

Resource.pdf (with Animations)

10-01.mp4

10-02.mp4

10-03.mp4

(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

11-01.mp4

11-02.mp4

11-03.mp4

11-04.mp4

26.05.20

 Formal proofs

draft-book-RTS-20190520.pdf 

(Chapters 3/4)

 

01.06.20

no lecture (Pfingsmontag)

 

 

02.06.20

 Formal proofs (2)

 

 

08.06.20

 Resource Augmentations and Approximations

Augmentation.pdf

12-01.mp4

09.06.20

Real-Time Communication

Communication.pdf

 

15.06.20

Self-Suspension Self-Suspension.pdf

13-01.mp4

13-02.mp4

13-03.mp4

 

13-04.mp4

 

13-05.mp4

13-06.mp4

16.06.20

Real-Time Calculus  

RTC.pdf

RTC-handout.pdf

 

22.06.20

Real-Time Operating Systems

14-RTOS.pdf

14-RTOS-2.pdf
 

23.06.20

k2U Framework (1)

k2U.pdf

 

14-01.mp4

14-02.mp4

29.06.20

k2U Framework (2) 

  14-03.mp4

14-04.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)

16-02.mp4 

16-03.mp4

06.07.20 Multiprocessor (II) - Partitioned Scheduling (II), Global Scheduling  Global.pdf  

17-01.mp4

(07:48 - 07:52 -> The explanation should be "There is no good result with respect to utilization bounds.)

17-02.mp4 

17-03.mp4

17-04.mp4

(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

Multicore-DAC2016.pdf

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.