Hide menu

TDDD07 Real Time Systems

Lectures and Lessons

Please note that lectures handouts are copies from last year until one day before the lecture, when they will be refreshed.

Lecture topics

Reading guidelines.

Lecture Topic Pdf     Note Reading material
1: Intr. to the course, Scheduling I pdf Ch. 1 and Ch. 11, B&W, or Ch. 1 and Ch. 3 of Carlsson et al.
2: Scheduling II pdf - "" -
3: Scheduling III, multiple resources pdf   - "" -
4: Distributed scheduling, Distributed systems: time, clocks pdf Xiao et al. (2013), Ch 9.1 and 9.2 B&W
5: Distributed systems: Hard real-time communication pdf Attiya et al. (2004) Ch 6 (specially section 6.1 and 6.2),
TTP: Kopetz (2003) with focus on TTP/C, or Poledna (2014)
6: Distributed systems: Hard/Soft real-time communication (QoS) pdf CAN: Davis et al. (2007) with a focus on section 3 or Ch. 4.5 in Carlsson et al,
QoS: El-Gendy et al. (2003)
7: Dependability, fault tolerance, agreement pdf   Avizienis et al. (2004), Ch. 2 and Ch. 13.1 B&W
8: Real-time applications: Industrial perspective, guest lecture Maxar and Ericsson
9: Design of real-time systems pdf   Huang et al. (2003), Weissnegger et al. (2015), and Ch. 15.1-15.4, 15.7 B&W or Ch. 5.2-5.3 in Carlsson et al.
10: Real-time operating systems & course summary pdf   Baskiyar&Meghanathan (2005).

The lecture notes can be used as an indication of content that is worth putting more focus on during the reading. Also see the reading guidelines below.


The first lesson provides an introduction to the lab environment and time for discussing preparatory questions for the labs or the first theory exercises.

The lesson 2 to 4 will be devoted on questions and answers to the proposed set of theory exercises. You can attempt the exercises at your own convenience, and your solutions can be commented and questions answered during these lessons according to the schedule in the following table. During session 3 and 4 the topics of the previous sessions can also be discussed.

Answers to selected exercises will be posted (under "File") after you have had a chance of attempting the questions yourselves and discussed them in the lessons.

Lesson Topic File Example exercises
1 Lab introduction:cyclic scheduling Slides Exercise 1.1, 1.2 a), 1.3 1)
2 Scheduling and resource sharing Solutions Exercise 1.2-1.8
3 Distributed systems Solutions Exercise 2.1-2.9
4 Dependability Solutions Exercise 3.1-3.9,4.1

Reading guidelines:

CPU Scheduling

Selected chapters from the book by Burns and Wellings or the Print-on-demand book by Carlson et al. cover the material.

Distributed scheduling:

The Xaio et al. article describes the basic problem of managing overload in data centres where the applications running in different virtual machines are to be placed on available CPUs, using adaptive scheduling algorithms that takes the varied input load into account. You should focus on understanding the problem and the pros and cons of the two scheduling algorithms validated in section 5. You are not required to demonstrate a deep knowledge of the VM technologies, or the scientific studies in section 6 of the paper.

Real-time communication:

To understand the material on CAN buses you can either use the Carlson et al. Print-on-demand book, or use the article by Davis et al. above. For the Davis (2007) "CAN revisited paper" you are not expected to understand all the content in the paper. But you should aim to follow the CAN example that is covered in the lectures. For the TTP bus, the articles by Kopetz et al. (2003) and Poledna et al. (2014) should be used to understand how the timely message transfer is enforced in the system/bus architecture, and which faults are detected and treated (also part of the dependability goals of the course).

Distributed systems and events

Chapter 6 in Attiya et al. has more detailed theory than we cover in the course. Your goal should be to use the book as a supporting literature in order to follow the examples in the lecture slides, and understand what is the purpose of the happed-before relation, logical and vector clocks, and their relationships to each other.

Overload management and QoS:

For the El-Gendy (2003) QoS paper, you can use the lecture slides as a guidance towards which parts of the paper that is worth focusing on.

Dependable systems:

The Avizienis et al. (2004) dependability paper is a good orientation on fault taxonomies and is very useful when embarking on any dependability analysis. You are not expected to remember the large taxonomy tables but understand the concepts and be able to use them. Ch. 2 and Ch. 13 of B&W can be useful if you find the article's accompanying text too compact to understand how methods and fault types are related.

Design of real-time systems:

The Huang et al. (2003) paper describes the difficulties of modelling the design of real-time systems. You should aim to understand the issues in sections 1-3. The lecture focuses on two of the possible design languages (UML type and synchronous style). Example on a case study (Weissnegger et al. 2015) makes the UML style more concrete with an actual system that we will not have time to go through in the lecture.

Real-time operating systems:

The Baskiyar (2005) RTOS paper covers the main requirements of a real-time OS and describes some real RTOS examples. Parts of Ch. 2 in Carlsson et al. may be useful as complementary text depending on your OS background.

Page responsible: Simin Nadjm-Tehrani
Last updated: 2021-12-13