Computer Science

Faculty of Engineering, LTH

Denna sida på svenska This page in English

Study material and reading directions

Course material

Apart from the course plan (handed out, and found on page EDA040), the lecture slides (available on the Lectures page), the following booklet and book material covers the course content:

  1. [LJRT] K. Nilsson: Java-based Real-Time Programming.
  2. [DRAG] R. Henriksson, Deadlock avoidance by Resource Allocation Graphs.
  3. [RTES] I. C. Bertolotti and G. Manduchi: Real-Time Embedded Systems: Open-Source Operating Systems Perspective
  4. [HRTC] G. C. Buttazzo, Hard Real-Time Computing Systems, 2011 (Third ed.).

The project description is provided at the project intro lecture.
On demand (for students without Java experience): Teach Yourself Java in 21 Minutes"

Remark: After 2014 for the programming-related aspects we gradually connect to the book [RTES] by Bertolotti&Manduchi, whereas our material [LJRT] provides the Java view. For the scheduling-related aspects the book [HRTC] by Buttazzo forms the actual cource material, also electronically available for LTH students (see links above).

Reading instructions (HRTC still to be integrated week 6-7)

For each week it is important to keep up with the content:

Week Read and understand Comments
1 LJRT:Ch1; LJRT:Sec3.1; RTES:Sec5.1 Thread basics. Semaphores intro at lecture. 
2 LJRT:Sec3.2; RTES:Ch3;  Semaphores, and more about threads. 
3 LJRT:Ch2; RTES:Sec5.2-5.4; Concepts; What methods are system calls? Etc.
4 LJRT:Sec3.3; RTES:Sec5.6;  Monitors.
| RTES:Ch6; LJRT:Sec3.4;
Deadlock (avoidance).
| Message-based synchronization.
6 RTES:Ch11-Ch12; RTES:Sec15.1-15.2 Scheduling principles; Bounded response times.
7 RTES:Ch14-Ch15; Scheduling analysis.
8 RTES:Ch9; Networking for project. See lecture slides for RTGC.



Suggested further reading

The course basically is an introduction to several technical areas, each with its specific books. Depending on interest, the following books are suggested as further reading:

  • Concurrent and parallel programming, including historical notes: Gregory R. Andrews, "Foundations of Multithreaded, Parallel, and Distributed Programming", Addison Wesley.
  • Languages and related techniques for concurrent programming and real-time systems: Alan Burns and Andy Wellings, "Real-Time Systems and Programming Languages", Addison Wesley.
  • Concurrency and implementations for operating systems: Silberschatz, Galvin, and Gagne, "Operating System Concepts with Java", Wiley.
  • Concurrency in Java: Goetz et al, "Java Concurrrency in Practice", Addison-Wesley.