Course syllabus

EDA423/DIT173 Dependable Real-Time Systems

Course responsible: Jan Jonsson

Official course information: [ EDA423, DIT173, TimeEdit ]


The course is organized as a series of lectures, and two homework assignments where the students solve problems related to the specific topics covered during the lectures. A weekly consultation session offers assistance regarding questions and problems related to the homework assignments.

Aim and content

Real-time systems play a vital role in many safety-critical application domains. In order to meet imposed application constraints these systems must often be designed with multiple processors. Such requirements can occur when tasks need to be physically distributed (as in a fault-tolerant vehicle braking system) or when the inherent parallelism of the application need to be fully exploited (as in a high-performance multimedia application). This course is intended to give a deeper understanding of the problems involved in designing dependable real-time systems based on multiprocessor architectures.

After the course the students shall be able to:

  • Formulate requirements for computer systems used in time- and safety critical applications.
  • Demonstrate knowledge about the terminology of scheduling, dependability and complexity theory.
  • Describe the principles and mechanisms used for scheduling of task execution and data communication in real-time systems.
  • Design real-time systems and apply techniques to verify whether the real-time requirements are met or not.
  • Derive the theoretical performance limitations of a given real-time system.
  • Reason about advantages and disadvantages regarding the choice of the optimal design for a real-time systems given certain conditions.

The course covers the following topics:

  • Background: motivation for, and definition of, real-time computing systems.
  • Characteristics of real-time systems: application constraints, design methods, task models, run-time mechanisms, architectures.
  • Evaluation of real-time systems: performance measures, evaluation methodologies.
  • Single and multiprocessor scheduling: problem definition, terminology, and algorithms.
  • Complexity theory and NP-completeness in the context of real-time scheduling.
  • Real-time communications: protocols and end-to-end delay guarantees.
  • Fault-tolerance techniques for real-time systems: models, algorithms and architectures.

Important dates

Mon Mar 23 : First lecture, 15:15 - 17:00  (conducted on-line via Zoom)
Study week 3 : Homework assignment #1 handed out
Study week 5 : Deadline - submission of homework assignment #1
Study week 6 : Homework assignment #2 handed out
Study week 8 : Deadline - submission of homework assignment #2


The course is examined by two homework assignments, one in the beginning of the course and the other at the end of the course.

For the first homework assignments the student shall implement a dependable software for a distributed real-time system, that is examined by means of documentation and demonstration of the software.

For the second homework assignment the student shall solve a set of theoretical problems and document the solutions in a written report that is orally examined.

The homework assignments are carried out normally in groups of two students, while the examination and grading of the assignments are individually performed.

The final grade of the whole course, according to the scale Fail (U) or Pass (3, 4, 5), is based on the average of the grades of the two homework assignments, with the requirement that the student passes both homework assignments.

Additional information regarding the homework assignments can be found on the Assignment page in Canvas.

Your progress regarding the different examination objectives can be viewed via the Modules menu in Canvas.

Course literature

(LEC) Lecture notes. Department of Computer Science and Engineering, Chalmers, 2020.
Can be downloaded from the Lectures page in Canvas.
(TXT) Selected texts from archival journals, conference proceedings and books.
Can be downloaded from the Lectures page in Canvas.
(HWK) Material related to the homework assignments.
Can be downloaded from the Resources page in Canvas.

What's New?

Changes taking effect during spring 2020:

  • The course has new name and course code (née Parallel and Distributed Real-Time Systems, EDA422).
  • Due to the corona virus outbreak all teaching will be carried out remotely.

Changes that took effect during spring 2019:

  • The course web pages are hosted by the Canvas system.
  • The lectures and consultation sessions take place at the Lindholmen campus.
  • A pass grade in the laboratory part of the preparatory course (EDA223/DIT162 or LET627) is required.
  • The first homework assignment consists exclusively of real-time programming problems.
  • The number of course participants is restricted to 18 Chalmers students and 6 GU students.
    Students in the MPHPC and MPCSN master programmes have priority to this course.
    Other students who fulfill the prerequisites are admitted if seats are available.

Changes from previous years:

  • The student must declare his/her percentage of contribution in deriving the solution to each problem in the homework assignments (since 2018).
  • The course has no final written exam (since 2018).


Course summary:

Date Details Due