Sprungmarken

Servicenavigation

Hauptnavigation


You are here:

Home Teaching Courses SS 2016 Real-Time Systems and Applications (English)

Bereichsnavigation

Hauptinhalt

Homepage for the course "Real-Time Systems and Applications" in SS 2016

Start of course: Monday, April 11th, 2016


Classroom sessions

Monday: 12:30 - 14:00, OH14/104

Tuesday: 14:15 - 15:45, OH14/104

 

Credits: 8 (Basismodul)

Finals: Oral Exam. Please contact the chair secretary Claudia Graute to get a time slot for the exam. There will be three exam blocks in September and October:

There wil be up to 5 exams each day with the first possible slot at 9:00 am, then every 40 Minutes.

If you got any questions regarding the exam dates etc. please contact Georg von der Brüggen

Date of exam blocks:

14.09.2016 (Wednesday)

27.09.2016 (Tuesday)

As our secretary is on vocation right now please write an email to Georg von der Brüggen if you want to take your exams on one of these dates. There will also be another date in October.

 

 

Exercise

Thursday: 10:15-11:45 OH16/U08 (Group 1)

Thursday: 14:15-15:45 OH16/U08 (Group 2)

Exercises will be uploaded to the website one week before the exercise sessions. The first sheet will be uploaded at 14.04.16, the first exercise session will be at 21.04.16.

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: 

 Session Subject  Slides and Supplementary Materiall  Videos
 11.04.16  Introduction of Real-Time Systems

Introduction

 12.04.16

 Task Models and Scheduling Policies

Model

 14.04.16

 Delivery of Exercise 1

Blatt1.pdf
 18.04.16

 FP Scheduling - RM and DM (I)

Schedulability

Mathematics

3-01.mp4 

3-02.mp4

3-03.mp4

 19.04.16

 FP Scheduling - RM and DM (II)

4-01.mp4

 21.04.16

 Exercise 1

Blatt2.pdf
 25.04.16

 FP Scheduling - RM and DM (III)

Aperiodic

4-02.mp4

4-03.mp4  

4-04.mp4

5-01a.mov

 26.04.16  EDF Scheduling

5-01b.mp4

5-02.mp4

5-03.mp4

 28.04.16  Exercise 2
 02.05.16  Worst-Case Execution Time (WCET) (I)  WCET

7-01.mp4

7-02.mp4

 03.05.16  WCET (II)

8-01.mp4

8-02.mp4

8-03.mp4

8-04.mp4

 05.05.16  No Exercise (Christi Himmelfahrt)
 09.05.16  Non-Preemptive and Limited Preemptive Scheduling Non-Preemptive Scheduling

9-01.mp4

9-02.mp4

 10.05.16

 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. 
 
 12.05.16  Exercise 3 (lab)

 16.05.16

 No Lecture (Pfingstmontag)

 17.05.16

 Resource Reservation Servers

Servers.pdf  

11-01.mp4

11-02.mp4

11-03.mp4

11-04.mp4

 19.05.16

 Exercise 4 (lab)

schedulability_framework

 23.05.16

 Resource Augmentations and Approximations

Augmentation.pdf 12-01.mp4

 24.05.16

 Self-Suspension (1)

Self-Suspension.pdf

13-01.mp4

13-02.mp4

13-03.mp4 

 26.05.16

 No Exercise (Fronleichnam)

Blatt5.pdf

 30.05.16

 Self-Suspension (2) 

13-04.mp4

13-05.mp4

13-06.mp4

 31.05.16

 k2U Framework (1)

k2U.pdf

14-01.mp4

14-02.mp4

 02.06.16

 Exercise 5

Blatt6.pdf

 06.06.16

 Real-Time Operating Systems

14-RTOS.pdf

14-RTOS-2.pdf
 no video is planned

 07.06.16

 Real-Time Communication

Communication.pdf

RT-Wifi.pdf

 09.06.16

 Exercise 6

Blatt7.pdf

 13.06.16

 k2U Framework (2)

14-03.mp4

14-04.mp4 

14-05.mp4

 14.06.16  Real-Time Calculus

RTC.pdf

RTC-handout.pdf

(updated on 20,06,2016)

 videos will be available later
 16.06.16  Exercise 7
Blatt8.pdf
 20.06.16  Real-Time Programming Languages RTPL.pdf
 no video is planned
 21.06.16  Multiprocessor (I) - Partitioned Scheduling (I)

Partition.pdf

Partition-handout.pdf

(revised on 11,07,2016: Page 21 and some minor typos)

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

 23.06.16  Exercise 8 Blatt9.pdf
 27.06.16  Multiprocessor (II) - Partitioned Scheduling (II), Global Scheduling (I)
 28.06.16  Multiprocessor (III) - Global Scheduling (II) 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).)

 30.06.16  Exercise 9
 04.07.16  No Lecture
 05.07.16  No Lecture
 07.07.16  No Exercise  Blatt10.pdf
 11.07.16

Multiprocessor (IV) - Semi-Partitioned Scheduling, DAG and openMP

 Semi-Partitioned.pdf

 DAG.pdf

 12.07.16

Timing Analysis in Multicore Systems

 Multicore-overview.pdf

 Multicore-DAC2016.pdf

 FMTV-2016-Challenges (external link)

 14.07.16  Exercise 10
 18.07.16

Synchronisation and Mixed Criticality 

 Mixed-Criticality.pdf

 LITMUSRT (external link)

 19.07.16  Research and Design Trends, Model Based Design 20-Conclusion.pdf
 21.07.16  Exercise 11 (lab)  

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.