Sprungmarken

Servicenavigation

Hauptnavigation


You are here:

Home Teaching Courses SS 2019 Real-Time Systems and Applications (Englisch) in SS19

Bereichsnavigation

Hauptinhalt

Homepage for the course "Real-Time Systems" in SS 2019

The lecture on Tuesday, June 4th, is canceled!!!

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. During the Semester, we will announce 3 dates for exams that will be held after the Semester has finished.

Please contact the chair secretary Claudia Graute to get a time slot for the exam after the dates are announced.

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:

  • 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

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

Introduction

 02.04.19

 Task Models and Scheduling Policies

Model

 08.04.19

 FP Scheduling - RM and DM (I)

Schedulability

Mathematics

Critical Instant

3-01.mp4 

3-02.mp4

3-03.mp4

 09.04.19

 FP Scheduling - RM and DM (II)

4-01.mp4

 11.04.19

 Devilery of Exercise Sheet 1

Exercise 1
 15.04.19

 FP Scheduling - RM and DM (III)

4-02.mp4

4-03.mp4  

4-04.mp4

5-01a.mov

 16.04.19

 Non-Preemptive and Limited Preemptive Scheduling

Non-Preemptive Scheduling

9-01.mp4

9-02.mp4

 18.04.19  Exercise 1 Exercise 2
 22.04.19  No Lecture - Ostermontag
 23.04.19  EDF Scheduling Aperiodic

5-01b.mp4

5-02.mp4

5-03.mp4
 25.04.19  Exercise 2

 

 29.04.19  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)

 30.04.19  WCET (II) Predictability
 02.05.19  Exercise 3 (lab)
 06.05.19

 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. 
 

 07.05.19

 Resource Reservation Servers

Servers.pdf

11-01.mp4

11-02.mp4

11-03.mp4

11-04.mp4

 09.05.19

 No Exercise

Exercise 4

 

13.05.19

 Formal proofs

draft-book-RTS-20190520.pdf 

(Chapters 3/4)

 

14.05.19

 Formal proofs (2)

 

16.05.19

 Exercise 4

 Exersice 5

20.05.19

 Resource Augmentations and Approximations

Augmentation.pdf

12-01.mp4

21.05.19

Real-Time Communication

Communication.pdf

23.05.19

Exercise 5

27.05.19

Self-Suspension Self-Suspension.pdf

13-01.mp4

13-02.mp4

13-03.mp4

 

13-04.mp4

 

13-05.mp4

13-06.mp4

28.05.19

Real-Time Calculus  

RTC.pdf

RTC-handout.pdf

 

 30.05.19

 No Exercise - Christi Himmelfahrt

 03.06.19

Real-Time Operating Systems

14-RTOS.pdf

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)

k2U.pdf

 

14-01.mp4

14-02.mp4

 13.06.19

Exercise 6

 17.06.19

k2U Framework (2) 

14-03.mp4

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

16-02.mp4 

16-03.mp4

20.06.19

No Exercise (Fronleichnam)

25.06.19 Real-Time Programming Languages (tentatitve)

RTPL.pdf

 

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

 27.06.19 Exercise 7
 01.07.19 Multiprocessor (III) - Semi-Partitioned Scheduling, DAG and openMP

Semi-Partitioned.pdf

DAG.pdf

 02.07.19

Timing Analysis in Multicore Systems

PROSA (external link)

Networks on Chip (external link) 

Multicore-DAC2016.pdf

FMTV-2016-Challenges (external link)

 04.07.19  Exercise 8

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.