Zur Webseite der Informatik

Abteilung Programmiersprachen und Übersetzerbau

Real-Time Programming (3V + 1Ü)


Prof. Dr. Erhard Plödereder

  • Wednesday, 11:30 - 13:00,  V38.03
  • Friday,          11:30 - 13:00,  V38.02 (bi-weekly)


Mikhail Prokharau

  • Tuesday,      11:30 - 13:00, 0.447 (alternative)
  • Wednesday, 15:45 - 17:15,  0.108 (bi-weekly)
  • Friday,          11:30 - 13:00, V38.02 (bi-weekly)
  • Friday,          15:45 - 17:15, V38.02 (alternative)


The results of the exam in "Real-Time Programming" are now available on the board outside the secretary's office
The examination papers may be viewed on Thursday, September 5 (14:00-15:00h) in 1.218

News as HTML or as

General note about the course [PDF].

Lecture Notes

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


Assignments are not graded and must 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.

Sheet 1,
discussion on
April 17, 2013
April 19, 2013
heapsort.adb, quicksort.adb;
additional examples
Sheet 2,
discussion on
April 30, 2013
May 3, 2013

stacks.ads, stacks.adb, stackmain.adb

Sheet 3,
discussion on
May 15, 2013
May 17, 2013
tasks.ads, tasks.adb, cycexe.adb

Sheet 4,
discussion on
June 5, 2013
June 7, 2013
(alternative time:
15:45 - 17:15)

semaphore.ads, semaphore.adb,
Sheet 5,
discussion on
June 19, 2013
June 14, 2013


Sheet 6,
discussion on
July 3, 2013
June 28, 2013
(alternative time:
15:45 - 17:15)


Sheet 7,
discussion on
July 17, 2013
July 19, 2013

examples and definitions (updated)

Sheet 0,
no discussion,
for personal
preparation only

Ariane 5 case study



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


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