Course syllabus
EDA423/DIT173 Dependable Real-Time Systems
Course responsible: Risat Pathan
Official course information: [ EDA423, DIT173, TimeEdit]
Organization
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. There are demonstrations during some weeks in the laboratory where the students presents their first homework assignment. A weekly consultation session during some other weeks offers assistance regarding questions and problems related to the second homework assignment.
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.
- 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 21 | : | First lecture, 15:15 - 17:00 Room EC, EDIT-building, Johanneberg | |
→ | Study week 1 | : | Loan equipment pick-up (by appointment only) | |
→ | Study week 1 | : | Prepare for homework assignment #1 (CAN communication and melody is working by the end of week 2) | |
→ | Study week 2 | : | Homework assignment #1 handed out | |
→ | Study week 5 | : | Deadline - submission of homework assignment #1 | |
→ | Study week 6 | : | Loan equipment return (by appointment only) | |
→ | Study week 6 | : | Homework assignment #2 handed out | |
→ | Study week 8 | : | Deadline - submission of homework assignment #2 |
Examination
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 weighted 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 section via the Modules 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, 2022. 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 2022:
- All teaching will be carried out on campus.
Changes from previous years:
- All teaching activities were online (2020, 2021)
- The course has new name and course code (née Parallel and Distributed Real-Time Systems, EDA422) (since 2020).
- A pass grade in the laboratory part of the preparatory course (EDA223/DIT162 or LET627) is required (since 2019).
- The first homework assignment consists exclusively of real-time programming problems (since 2019).
- The number of course participants is restricted to 18 Chalmers students and 6 GU students (since 2019).
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. - 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 |
---|---|---|