Real-Time Systems - EDA222 / DIT161

  7.5 hec, Quarter 3, 2010/11

This web page functions both as a course description sheet and as a medium for distribution of new information regarding the course. The information will be updated dynamically, so please visit this web page at least once per week. For general information regarding the course please consult the syllabus page at the Student Portal.


2011-12-27     The next re-exam will be on January 11, 2012 at 08:30-12:30 in the V building. Since Chalmers' administration
forgot to enter this exam in their official schedule, it is not possible to register for it in the student portal. Instead,
you should send an email to the course examiner in case you want to attend the re-exam.
2011-04-03     The grading of the written exam 2011-03-15 is now completed. The general results are as follows:
Total: 91 students (failed: 14 students, grade 3: 28 students, grade 4: 37 students, grade 5: 12 students).
Due to the grading being somewhat delayed, the individual results will not be available in the Student Portal
until Thursday, April 7. For the same reason the inspection of the graded scripts has been moved to Friday,
April 8 at 11:00-13:00 in room 4128.
2011-03-16     Problems and solution sketch for the written exam 2011-03-15 available here.
2011-03-05     Solutions to examples demonstrated on Lectures #3, 4, 6, 7, 12, 13, 14 and 15 available here.
2011-03-05     Handouts for Lecture #16 available here.
2011-03-02     Handouts for Exercise #7 available here.
2011-02-27     Handouts for Lectures #14 and #15 available here.
2011-02-22     Handouts for Exercise #6 available here. Please note that there is no lecture on Thursday, Feb 24, and that the
exercise therefore begins at 13.15.
2011-02-20     Handouts for Lecture #13 available here.
2011-02-15     Handouts for Exercise #5 available here.
2011-02-15     Handouts for Lecture #12 available here.
2011-02-13     Handouts for Lecture #11 available here.
2011-02-10     There is a change in the schedule in study week 6: there is no lecture on Thursday, Feb 24. Instead,
lectures #14, #15 and #16 are shifted in time starting on Tuesday in study week 7 and ending on Tuesday
in study week 8. As a consequence, Exercise #6 begins at 13.15 on Thursday, Feb 24.
2011-02-10     Handouts for Lecture #10 available here. Guest lecturer is Prof. J├Ârgen Hansson from Chalmers. Please
note that the time slots for the lecture and the exercise session has been swapped. That is, the guest lecture
starts at 15.15.
2011-02-09     Handouts for Exercise #4 available here.
2011-02-07     Handouts for Lecture #9 available here. Guest lecturer is Dr. Daniel Karlsson from Volvo Technology Corp.
2011-02-07     To dispel some rumors I want to make clear that there will indeed be a lecture on Tuesday, February 8.
According to Chalmers' schedules (see here) only afternoon lectures on Tuesday are affected by CHARM.
2011-02-01     Handouts for Exercise #3 available here.
2011-02-01     Handouts for Lecture #8 available here.
2011-01-30     Handouts for Lecture #7 available here.
2011-01-25     Handouts for Exercise #2 available here.
2011-01-25     There are now three student representatives for the course evaluation (for more information, see here.)
2011-01-24     Handouts for Lectures #5 and #6 available here.
2011-01-23     Handouts for Lecture #4 available here.
2011-01-18     Handouts for Exercise #1 available here.
2011-01-16     Handouts for Lectures #1, #2 and #3 available here.
2011-01-14     Updated the official home page of the course for 2010/11.

Staff (contact information)

Course elements

Aim and context

A real-time system is a computer system in which the correctness of the system depends on the time when results are generated. Real-time systems interact with a more or less time-critical environment. Examples of real-time systems are control systems for cars, aircraft and space vehicles, manufacturing system, financial transaction systems, computer games and multimedia applications. This course is intended to give basic knowledge about methods for the design and analysis of real-time systems.

After the course the students shall be able to:

In the design of real-time systems it is practical to implement the application software as multiple concurrently executing processes, there each process is responsible for a given task in the system. The concept of multiple processes provides for an intuitive way of decomposing a complex system into smaller parts that are simple to comprehend and implement.

This course uses Ada as the main programming language because of its powerful support for programming of concurrent processes. In particular, the course demonstrates how language constructs such as rendezvous and protected objects are used for implementing communication/synchronization between processes, resource management and mutual exclusion. Since other programming languages uses monitors or semaphores to implement these functions, the course also contains a presentation of such techniques. In addition, the course demonstrates how to use low-level programming in Ada to handle interrupt-driven communication with input and output devices. To demonstrate the general principles in real-time programming, the course also gives examples of how these techniques are implemented in other programming languages, such as C and Java.

In order to execute a program containing multiple concurrent processes there is a real-time kernel (run-time system) that distributes the available capacity of the microprocessor among the processes. The course shows how a simple real-time kernel is organized.

The real-time kernel determines the order of execution for the processes by means of a scheduling algorithm. To that end, the course presents techniques based on cyclic time-table based scheduling as well as scheduling techniques using static or dynamic process priorities. In addition, protocols for the management of shared hardware and software resources are presented.

In real-time systems with strict timing constraints it is necessary to make a pre-run-time analysis of the system schedulability. The course presents three different analysis methods for systems that schedule processes using static or dynamic priorities: utilization-based analysis, response-time analysis, and processor-demand analysis. In conjunction with this, the course also gives an account on how to derive the maximum resource requirement (worst-case execution time) of a process.


The Real-Time Systems course requires a BSc in Computer Science and Engineering or equivalent, and basic courses in programming and computer organization.

Important Dates

Tue   Jan 18 First lecture, 10.00 - 11.45 in HA3
Fri   Mar 11 : Deadline, Laboratory report
Tue   Mar 15 : Written exam, afternoon, Johanneberg
Fri   Apr 1 : Final approval deadline, Laboratory assignment


The course is organized as a series of lectures where fundamental theories and concepts are presented. Lectures are given at two occasions per week (except study week 1 and 2 where there are extra lectures on Wednesday):

Tue   10.00 - 11.45   HA3    
Wed   08.00 - 09.45   HA3   (week 1 & 2 only)
Thu   13.15 - 15.00   HA3    

As a complement to the lectures, there will be exercise sessions on the specific topics covered during the main lectures. At each session, a course assistant gives a mini lecture on selected parts of the course contents, and also discusses selected problems from the exercise compendium. The remaining time is for discussing solutions to the selected problems or the laboratory assignment. Exercise sessions are offered on one occasion per week:

Thu   15.15 - 17.00   HA3    

Preliminary schedule: TimeEdit

Detailed information on the lectures will appear here.

Course book

Alan Burns and Andy Wellings, Real-Time Systems and Programming Languages, 4th edition, Addison-Wesley, 2009, ISBN 978-0-321-41745-9

Course Evaluation

For the purpose of course evaluation, we ask volunteers to act as student representatives. Their role includes giving the teachers some feedback on the course. Please send them an email if you have comments or suggestions for improvements regarding the course.

The student representatives are:

Shwan Ciyako
Ola Jakobson
Amir Tohidi

Minutes from mid-quarter course evaluation meeting can be found here.

Chalmers central instructions on course evaluation