Real-Time Systems (2IMN20) winter 2021 (for AT, BIS, CSE, and ES)

 

Last update: March 26st, 2021.

 

News:

·         2021-03-26: Schedule finalized.

·         2021-03-04:   Update of the schedule.

·         2021-01-25:   Creation.

 

Examinations

 

The examinations (including draft answers) of (previous years of) 2IN20 (!):

Examinations (including draft answers) of 2IN25 (!):

Examinations (including draft answers) of 2IN26:

·         2010/2011: November 3rd, 2010 (2XN26), January 20th, 2011 (reprise 2XN26), January 20th, 2011 (2YN26), April 11th, 2011 (reprise 2YN26).

·         2011/2012: November 1st, 2011 (2XN26), January 23rd, 2012 (reprise 2XN26), January 23rd, 2012 (2YN26), April 16th, 2012 (reprise 2YN26).

·         2012/2013: October 29th, 2012, January 23rd, 2013.

·         2013/2014: November 4th, 2013 (2XN26), January 27th, 2014 (reprise 2XN26).

·         2014/2015: April 16th, 2015 (2XN26), July 3rd, 2015 (reprise 2XN26).

Examinations (including draft answers) of 2IMN20:

·         2015/2016: April 8th, 2016, June 29th, 2016.

·         2016/2017: April 18th, 2017, July 5th, 2017.

·         2017/2018: April 13th, 2018, June 29th, 2018.

·         2018/2019: April 17th, 2019, July 3rd, 2019.

·         2019/2020: April 16th, 2020, July 1st, 2020, August 14th, 2020.

 

Notes:

·         2IN20 is a 4 ECTS credits BaMa predecessor of 2IMN20.

·         2IN25 and 2IN26 are 5 ECTS credits BaMa predecessors of 2IMN20.

 

Introduction

 

The course addresses basic concepts of real-time systems, presents examples of real-time systems, covers real-time systems analysis and design, and gives an in-depth treatment of timing analysis and scheduling. The course is organized around the issue of real-time requirements and their impact on the architecture of a system. The considered system domain will be networked embedded systems. Applications are drawn from automotive domain (e.g. real-time control) and multi-media applications, such as video streaming.

The course is completed by passing an examination and doing either an assignment or a practical training. The assignment involves studying one or more articles and writing a report. The assignment can be done with groups of 4 or 5 students. These groups must hand in their own, original work, reported by themselves. The practical training involves performing weekly experiments with a set of simple real-time kernels using a simple application. The practical work can be done with groups of 3 students.

This academic year, due to Corona, there are no regular lectures. The schedule (“course program”) given below is based on a two regular lectures per week. Instead of regular on-campus lectures, all lectures have been pre-recorded and are available as video lectures. In addition, there will be an opportunity to ask questions. To that end, there are Q&A sessions planned for Friday-afternoons.

On this site the current status of the course will be maintained in terms of the contents, and expected reading. Slides and other material will mostly be available from CANVAS only.

Course objectives (high-level):

The objective of this course is to bring students into the position to analyze and (partially) design real-time systems, and conduct research in the area of real-time systems.

Course objectives (lower-level):

The student can:

(i)                   explain and apply the fundamental concepts and terminology of real-time systems;

(ii)                  explain and address the fundamental problems of real-time systems;

(iii)                 analyze real-time systems designs;

(iv)                design a real-time system (at least partially); and

(v)                  identify and assess the relevant literature and research trends of real-time systems.

Planned course program (video lectures and Q&A sessions)

Classes Quartile 3 (February 1st, 2021 – April 2nd, 2021):

Week 1 (February 1st – February 5th)

  (a): slides: RTS.A1-Overview, RTS.A1-Introduction;
         book: chapter 1.
  (b): slides: RTS.B3-Specification-concepts, RTS.D0-Water-Vessel,
                   RTS.B3-Reference Model;
         book: chapter 2.
  (Q&A): (including practical training - introduction).

Week 2 (February 8th – February 12th)

  (a): slides: RTS.B4-Policies-1;
         book: chapter 2;
                  expected reading: [4].
  (b): slides: RTS.B3-Cyclic Executives, RTS.B5-Analysis-1;
         book: section 3.3, chapter 4, sections 4.1 till 4.4;
         expected reading: “A Note on Cyclic Executives” and “Patriot Missile Defense”.
  (Q&A):

Week (February 15th – February 19th) Carnavalsholiday

Week 3 (February 22nd – February 26th)

  (a): slides: RTS.B5-Analysis-2-FPPS;
        book: section 4.5 (excluding 4.5.3);
        expected reading: [2].
  (b): slides: RTS.C7-Periodic Tasks,
                   RTS.B4-Policies-2-FP-servers;
         book: chapter 5 (except for sections 5.3.1, 5.3.2, 5.3.3, 5.4.1,
                                  5.4.3, 5.5, 5.6, and 5.7), section 10.5.4;
         expected reading: [5].

  (Q&A)

Week 4 (March 1st – March 5th)

  (a): slides: RTS.B5-Policies-3-RAP;
         book: chapter 7 (except for implementation considerations of all
                                  protocols and multi-unit aspects of SRP);
         expected reading: [1, 3].
  (b): slides: RTS.B5-Analysis-5-FPPS-extensions,
                  
RTA.C6-Resource reservation;
         book: section 4.5 (excluding 4.5.3);
  (Q&A)

Week 5 (March 8th – March 12th)

  (a): slides: RTS.B5-Analysis-6-FPPS-arbitrary deadlines.
  (b): slides: RTS.B5-Analysis-7-FPDS.
  (Q&A)

Week 6 (March 15th – March 19th)

  (a): slides: RTS.B5-Analysis-9-practical factors.
                   RTS.B5-RT Communication;
         expected reading: [6].
  (b): slides: A Qos approach for MCTs;

         expected reading: [7].
  (Q&A)

Week 7 (March 22nd – March 26th)

  (a): Guest lecture of Dr. Geoffrey Nelissen (TU/e);
  (b): <topic yet to be determined, if any>
  (Q&A)

Week 8 (March 29th – April 2nd)

  (a): No lectures.
  (b): No lectures.
  (Q&A)

Week 9 (April 5th – April 7th):
No classes (examination week)!

Week 10 (April 12th – April 14th): No classes (examination week)!

RTA Reading guide (preliminary, i.e. of 2017/2018):

·         Reading guide 2IMN20

Examination: There will be a final exam at the end of the 3rd quartile and a reprise after the 4th quartile. You are not allowed to take any information with you to the examination and all math is just of a level of secondary school (so no calculator required either)! Next to the exam, there will be an assignment.

Visualization tools

·         Realtime

Assignments:

·         2013/2014 (A previous year!): 2IN26-assignments-2013/2014.

·         2014/2015 (Last year!): 2IN26-assignment-2014/2015 (only available within TU/e domain or via VPN).

·         2015/2016: See OASE.

·         2016/2017: See Canvas.

·         2017/2018: See Canvas.

·         2018/2019: See Canvas.

·         2019/2020: See Canvas.

·         2020/2021: See Canvas.

Guidelines (preliminary, i.e. from a previous year) for the report can be found here and in Canvas as well.

Not making this is failing. There will be no acceptance after the examination date of the reprise. You are expected to work in teams.

Practical training: information will be made available in due time via CANVAS.

Lecturers:

R.J.Bril (main lecturer)

          MF 6.068, tel.: 5412

N. Yang (practical training)

 

Guest lecturers:

 

Book: G.C. Buttazzo, “Hard real-time computing systems, predictable scheduling – algorithms and applications”, Springer, 2011, ISBN 978-1-4614-0676-1 (3nd edition).

Related slides: http://feanor.sssup.it/~giorgio/slides/realtime/;

Expected reading (preliminary):

[1] Risk Forum: What really happened on Mars Rover Pathfinder, December 1997.

[2] R.J. Bril, E.F.M. Steffens, and W.F.J. Verhaegh, Best-case response times and jitter analysis of real-time tasks, Journal of Scheduling, 7(2): 133-147, 2004.

[3] D. Polock and D. Zoebel, Conformance testing of priority inheritance protocols, In: Proc. 7th IEEE International Conference on Real-Time Computing Systems and Applications (RTCSA), pp. 404-408, December 2000.

[4] J.A. Stankovic, Real-Time Computing, Byte, pp. 155 – 160, August 1992.

[5] M. Stanovich, T.P. Baker, A.I. Wang, and M. González Harbour, Defects of the POSIX Sporadic Server and How to Correct Them, In: Proc. 16th IEEE RTAS, pp. 35 – 45, April 2010.

[6] R.I. Davis, A. Burns, R.J. Bril, and J.J. Lukkien, Controller Area Network (CAN) schedulability analysis: Refuted, revisited and revised, Real-Time Systems, ISSN 1573-1383 (online), http://www.springerlink.com/content/8n32720737877071/, January 30th, 2007, ISSN 0922-6443 (print), 35(3): 239-272, April 2007.

[7]    C. Hentschel, R.J. Bril, Y. Chen, R. Braspenning, and T.-H. Lan, Video Quality-of-Service for consumer terminals - a novel system for programmable components, In: IEEE Transactions on Consumer Electronics, 49(4): 1367-1377, November 2003.

Further reading (preliminary):

[8] G.C. Buttazzo, Rate Monotonic vs. EDF: Judgment Day, Real-Time Systems, 29(1): 5 – 26, 2005.

[9] J. Goossens and R. Devillers, The non-optimality of the monotonic priority assignments for hard real-time offset free systems, Real-Time Systems, 13(2): 107-126, September 1997.

[10]       A.M. Groba, A. Alonso, J.A. Rodriques, M. Garcia Valls, Response time of streaming chains: analysis and results, In: Proc. 14th IEEE Euromicro Conference on Real-Time Systems, pp. 182 – 189, 2002.

[11]           C. Hentschel, Scalable Video Algorithms for Resource Constrained Platforms, Workshop on Resource Management for Media Processing in Networked Embedded Systems, Ed. R.J. Bril and R. Verhoeven, pp. 43 – 50, March 2005.

[12]           M.H. Klein, T. Ralya, B. Pollak, R. Obenza, and M. González Harbour, A Practitioner’s Handbook for Real-Time Analysis: Guide to Rate Monotonic Analysis for Real-Time Systems, Kluwer Academic Publishers (KAP), 1993.

[13]       J.W.S. Liu, Real-Time Systems, Prentice Hall, 2000.

[14]       C.W. Mercer and S. Savage and H. Tokuda, Processor Capability Reserves: Operating System Support for Multimedia Applications, In: Proc. International Conference on Multimedia Computing and Systems (ICMCS), pp. 90-99, May 1994.

[15]       R. Obenza, Guaranteeing real-time performance using RMA, Embedded Systems Programming, pp. 26-40, 1994.

[16]       R. Rajkumar and K. Juvva and A. Molano and S. Oikawa, Resource Kernels: A Resource-Centric Approach to Real-Time and Multimedia Systems, In: Proc. SPIE Vol. 3310, Conference on Multimedia Computing and Networking, pp. 150-164, January 1998.

[17]       L. Steffens, G. Fohler, G. Lipari, and G. Buttazzo, Resource Reservation in Real-Time Operating Systems – a joint industrial and academic position, In: Proc. International Workshop on Advanced Real-Time Operating System Services (ARTOSS), pp. 25 – 30, July 2003.

[18]       D. Zoebel and P. Polock and A. van Arkel, Testing for the Conformance of Real-time Protocols Implemented by Operating Systems, Electronic Notes in Theoretical Computer Science, Vol. 133, pp. 315- 332, May 2005. http://www.sciencedirect.com/science/journal/15710661