Zur Webseite der Informatik

Abteilung Programmiersprachen und Übersetzerbau

Real-Time Programming (3V + 1Ü)

Lectures

Prof. Dr. Erhard Plödereder

  • Lecture Wednesday, 17:30 - 19:00, V38.03
  • Lecture Thursday, 15:45 - 17:15, V38.03

The first lecture will start on Wednesday October 25, 2017 (in the second week of the semester).

  Day Date Time Room
Lecture 1 Wednesday October 25, 2017 17:30 - 19:00 38.03
Lecture 2 Thursday November 2, 2017 15:45 - 17:15 38.03
Lecture 3 Wednesday November 8, 2017 17:30 - 19:00 38.03
Lecture 4 Thursday November 9, 2017 15:45 - 17:15 38.03
Lecture 5 Wednesday November 15, 2017 17:30 - 19:00 38.03
Lecture 6 Thursday November 16, 2017 15:45 - 17:15 38.03
Lecture 7 Thursday November 23, 2017 15:45 - 17:15 38.03
Lecture 8 Wednesday November 29, 2017 17:30 - 19:00 38.03
Lecture 9 Thursday November 30, 2017 15:45 - 17:15 38.03
Lecture 10 Wednesday December 6, 2017 17:30 - 19:00 38.03
Lecture 11 Thursday December 7, 2017 15:45 - 17:15 38.03
Lecture 12 Wednesday December 13, 2017 17:30 - 19:00 38.03
Lecture 13 Thursday December 14, 2017 15:45 - 17:15 38.03
Lecture 14 Thursday December 21, 2017 15:45 - 17:15 38.03
Lecture 15 Wednesday January 10, 2018 17:30 - 19:00 38.03
Lecture 16 Thursday January 11, 2018 15:45 - 17:15 38.03
Lecture 17 Wednesday January 17, 2018 17:30 - 19:00 38.03
Lecture 18 Thursday January 18, 2018 15:45 - 17:15 38.03
Lecture 19 Wednesday January 31, 2018 17:30 - 19:00 38.03
Lecture 20 Thursday February 1, 2018 15:45 - 17:15 38.03
Lecture 21  Wednesday  February 7, 2018 17:30 - 19:00 38.03

Lecture Notes

Lecture notes are available (via the internal network only)
All kinds of comments and improvements are welcome.

Assignments

Felix Krause

  • Group 1: Wednesday, 14:00 - :15:30, 0.124 (bi-weekly)
  • Group 2: Thursday, 09:45 - 11:15, 0.124 (bi-weekly)
  • Group 3: Thursday, 15:45 - 17:15, 0.124 (bi-weekly)

Assignments are not graded and need not be submitted. They are discussed in the exercises accompanying the lectures. Even though sample solutions will be discussed in the exercises, students are encouraged to present their own versions during each exercise. Many exercises (as well as a number of lectures) will use the Ada programming language. We strongly recommend that participants familiarize themselves with Ada beforehand. It is essential that you work through at least the code samples of the "Ada in a Nutshell" tutorial linked below before attending the assignment classes.

Assignment When Material Partial Solution
1

Group 1:
Group 2:
Group 3:

Sheet 1

 
2

Group 1:
Group 2:
Group 3:

Sheet 2

 
3

Group 1:
Group 2:
Group 3:

Sheet 3

 

4

Group 1:
Group 2:
Group 3:

Sheet 4

 
5

Group 1:
Group 2:
Group 3:

Sheet 5

 
6

Group 1:
Group 2:
Group 3:

Sheet 6

 
7

Group 1:
Group 2:
Group 3:

Sheet 7  

 

Description

The course will focus on the specific requirements arising from programming real-time (or embedded) systems. These systems differ from the typical, more traditional information processing systems and hence place new requirements on the programming language as well as the programmer. The following topics will be discussed:

  • Introduction to real-time systems
  • Fault tolerance and error recovery
  • Scheduling
  • Concurrency
  • Communication and synchronization
  • Device communication and interrupts

Literature

  • Alan Burns and Andy Wellings: Real-Time Systems and Programming Languages, Addison Wesley, Fourth Edition (April 2009)
  • Alan Burns and Andy Wellings: Real-Time Systems and Programming Languages, Addison Wesley, Third Edition (March 2001)
  • Alan Burns and Andy Wellings: Real-Time Systems and Programming Languages, Addison-Wesley, Second Edition (April 1996)
  • Ariane 5 failure due to overflow error
  • Mars Pathfinder failure