Course syllabus for Dependable Real-Time Systems

Course syllabus adopted 2023-02-04 by Head of Programme (or corresponding).

Overview

  • Swedish namePålitliga realtidssystem
  • CodeEDA423
  • Credits7.5 Credits
  • OwnerMPCSN
  • Education cycleSecond-cycle
  • Main field of studyComputer Science and Engineering, Software Engineering
  • DepartmentCOMPUTER SCIENCE AND ENGINEERING
  • GradingTH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail

Course round 1

  • Teaching language English
  • Application code 12125
  • Maximum participants36
  • Block schedule
  • Open for exchange studentsNo

Credit distribution

0119 Written and oral assignments 4 c
Grading: TH
0 c0 c0 c4 c0 c0 c
0219 Written and oral assignments 3.5 c
Grading: TH
0 c0 c0 c3.5 c0 c0 c

In programmes

Examiner

Eligibility

General entry requirements for Master's level (second cycle)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Specific entry requirements

English 6 (or by other approved means with the equivalent proficiency level)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Course specific prerequisites

A pass grade in the laboratory part of EDA223 (course module 0217) or LET627 (course module 0217) is required. Courses in algorithms and computer architecture are strongly recommended.

Aim

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.

Learning outcomes (after completion of the course the student should be able to)

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.

Content

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.

Organisation

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.

Literature

Lecture notes. Selected research publications from journals and conference proceedings.

Examination including compulsory elements

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 course contains a mix of individual assignments and group assignments. If an assignment is done in a group, the examination and grading of the assignment 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.

The course examiner may assess individual students in other ways than what is stated above if there are special reasons for doing so, for example if a student has a decision from Chalmers on educational support due to disability.