CSC9006 Real-Time Systems (Spring 2021)

NTNU logo

Note: This page is for the past semester. For historical data, see the archives.

Course Name: CSC9006 Real-Time Systems 即時系統 (Spring 2021)
Instructor: Chao Wang 王超
Teaching Assistant: Cheng-You Lin 林政佑
Course Meetings: Thursdays 9:10-12:10 @ room S406, Gongguan Campus
Office Hours: Tuesdays and Fridays, 8-10am @ room 511, Applied Science Building, Gongguan Campus; or by appointment

This course is offered in English (with Mandarin support). 此課程為英語授課 (配合中文輔助).

Contents

Course Syllabus

Real-time systems are computing systems engineered for the real world. From self-driving cars to Internet-of-Things (IoT) systems, a hallmark of real-time systems is that they must interact with the world outside of the computer in a timely, dependable, and efficient way. In this course, we will study both the theory and practice of real-time systems.

This semester we will take a new approach. We will stress on a comprehensive understanding of real-time systems, while having some in-depth study for selected topics. Overall, the course is structured into four modules:

  • From operating systems to real-time systems (Weeks 1–4)
  • Real-time models (Weeks 5–8)
  • Timeliness and dependability (Weeks 9–12)
  • System design and validation (Weeks 13–16)

Following the school policy, in weeks 17 and 18 we will look at some additional topics, in the hope to prepare students for further study in this fascinating field.

Prerequisites:
This is an advanced course for students who are familiar with operating systems concepts and are comfortable to C/C++ and Linux.

Grading:

  • Hands-On Assignment 60%
  • Literature Study and Critique 30%
  • Participation 5%
  • Attendance 5%

Course Schedule

The weekly reading assignment is designed for students to study both before and after each lecture. Each week we will discuss some topics from the reading assignment and will cover some additional materials. For homework assignments and critiques, students should submit all their work via Moodle.

Date Topic Homework Reading
Feb 25 The Real-Time Environment Homework 0 [A] Chapter 1
Mar 04 Real-Time Operating Systems Homework 1 [A] Chapter 9
Mar 11 Real-Time Scheduling (1) [A] Chapter 10
Mar 18 Real-Time Scheduling (2) Homework 2; Critique 1 [A] Chapter 10
Mar 25 Simplicity and The Notion of Time [A] Chapters 2 and 3
Apr 01 (spring break) Homework 3
Apr 08 Real-Time Model [A] Chapter 4
Apr 15 Temporal Relations [A] Chapter 5
Apr 22 Dependability Homework 4;Critique 2 [A] Chapter 6
Apr 29 Real-Time Communication [A] Chapter 7
May 06 Patterns for Building Real-Time Software Homework 5 [12] [13]
May 13 Fault-Tolerant Real-Time Edge Computing [6] [9] [10]
May 20 System Design Homework 6 [A] Chapter 11
May 27 Validation Homework 7 [A] Chapter 12; [11]
Jun 03 Internet of Things Critique 3 [A] Chapter 13
Jun 10 The Time-Triggered Archtecture Homework 8 [A] Chapter 14
Jun 17 (supplementary materials)
Jul 24 (supplementary materials)

Textbooks and References

[A] Kopetz, Hermann. Real-Time Systems: Design Principles for Distributed Embedded Applications. Springer; 2nd ed. 2011 edition. ISBN 978-1441982360. (Google Books preview; Publisher webpage)

[B] Buttazzo, Giorgio C. Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications Springer; 3rd ed. 2011 edition. (Publisher webpage)

[1] Real-Time Linux Wiki

[2] The TAO Real-Time Middleware

[3] Pthreads tutorial

[4] Pthreads example code

[5] T. Harrison, D. Levine, and D.C. Schmidt, The Design and Performance of a Real-time CORBA Event Service, ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications, October 1997.

[6] C. Wang, C. Gill and C. Lu, Real-Time Middleware for Cyber-Physical Event Processing, ACM Transactions on Cyber-Physical Systems, Special Issue on Real-Time Aspects in Cyber-Physical Systems, 3(3), Article 29, August 2019.

[7] Y. Zhang, C. Lu, C. Gill, P. Lardieri and G. Thaker, Middleware Support for Aperiodic Tasks in Distributed Real-Time Systems, IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'07), April 2007.

[8] C. Lu, A. Saifullah, B. Li, M. Sha, H. Gonzalez, D. Gunatilaka, C. Wu, L. Nie and Y. Chen, Real-Time Wireless Sensor-Actuator Networks for Industrial Cyber-Physical Systems, Special Issue on Industrial Cyber-Physical Systems, Proceedings of the IEEE, 104(5): 1013-1024, May 2016.

[9] C. Wang, C. Gill, and C. Lu, FRAME: Fault Tolerant and Real-Time Messaging for Edge Computing, IEEE 39th International Conference on Distributed Computing Systems (ICDCS), 2019, pp. 976-985

[10] C. Wang, C. Gill, C. Lu. Adaptive Data Replication in Real-Time Reliable Edge Computing for Internet of Things. 2020 IEEE/ACM International Conference on Internet-of-Things Design and Implementation (IoTDI), 2020.

[11] D. Seto, B. Krogh, L. Sha, and A. Chutinan. (1998, June). The Simplex Architecture for Safe Online Control System Upgrades. In Proceedings of the 1998 American Control Conference. ACC (IEEE Cat. No. 98CH36207) (Vol. 6, pp. 3504-3508). IEEE.

[12] A quick introduction to callback functions.

[13] An introduction to TAO’s asynchronous messagee handling.

[14] R. I. Davis .(2014). A Review of Fixed Priority and EDF Scheduling for Hard Real-Time Uniprocessor Systems. ACM SIGBED Review, 11(1), 8-19.

[15] R. I. Davis and A. Burns. (2011). A Survey of Hard Real-Time Scheduling for Multiprocessor Systems. ACM Computing Surveys (CSUR), 43(4), 1-44.

[16] What really happened on Mars? by Glenn E. Reeves.

[17] Liu, C. L., & Layland, J. W. (1973). Scheduling algorithms for multiprogramming in a hard-real-time environment. Journal of the ACM (JACM), 20(1), 46-61.

[18] Keshav, S. (2007). How to read a paper. ACM SIGCOMM Computer Communication Review, 37(3), 83-84.

In most cases, you can find a PDF copy of each referenced paper via Google Scholar. Access them from the NTNU network for the campus authorization.

Accessibility

Students in need please contact the instructor.

Academic Integrity

Both homework assignments and literature critiques are designed to be done individually. Please reflect on the university’s motto: Sincerity, Integrity, Diligence, Simplicity. Anyone found to be cheating or helping someone else cheat will receive zero score for that assignment.