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:
[LJRT]K. Nilsson: Java-based Real-Time Programming.
[DRAG]R. Henriksson, Deadlock avoidance by Resource Allocation Graphs.
[RTES]I. C. Bertolotti and G. Manduchi: Real-Time Embedded Systems: Open-Source Operating Systems Perspective,
[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.|
|5||DRAG; RTES:Ch4; |
| RTES:Ch6; LJRT:Sec3.4;
|Deadlock (avoidance). |
| Message-based synchronization.
|6||RTES:Ch11-Ch12; RTES:Sec15.1-15.2||Scheduling principles; Bounded response times.|
|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.