Course details

Real-Time Systems (in English)

RTSa Acad. year 2022/2023 Summer semester 5 credits

Current academic year

Lectures of the course do present the problem of developing a real-time system complexly, in its full breadth and depth. They pay a special attention to comprehensibility and practical applicability of presented topics as well as to linking fundamental knowledge together. The topics are supported by case studies of real-time systems from various application domains (automotive, avionics, defense, vision, robotics, power and energy etc.), case studies of timed development means (specification and verification means and tools, platforms, programming languages, operating systems) as well as problems, their causes and solutions. Students will become acquainted with fundamentals and complexity of such a development and will be able to cope with typical development problems. Dedicated exercises allow students to gain basic skills to solve such problems. Students can deepen their skills further, through the semestral project.

Guarantor

Course coordinator

Language of instruction

English

Completion

Examination (written)

Time span

  • 26 hrs lectures
  • 10 hrs pc labs
  • 16 hrs projects

Assessment points

  • 55 pts final exam (written part)
  • 15 pts mid-term test (written part)
  • 12 pts labs
  • 18 pts projects

Department

Lecturer

Instructor

Course Web Pages

Course plan/schedule and study materials (is continuously updated)

Subject specific learning outcomes and competences

Students will get a general overview in the area of real-time systems and their development as well as in the area of real-time extensions of conventional, typically untimed, development means. Students will be able to specify requirements imposed on a real-time system, to model it and check its properties, to construct such a system by appropriate means (a hardware platform, operating system etc.) and to test it in operating conditions. Students will understand the principles and complexity of developing a (digital) system which meets the requirements for (continuous) real-time.
The students will be able to cope with the development cycle of real, typically hidden embedded cyber-physical, systems (such as engine or ABS control in a car, control of road/railway junctions and crossings, control of autonomous, adaptive, cooperative and/or collaborative systems) they may encounter in their everyday life. The students will link, deepen and extend their knowledge and skills from various, typically isolated, information technology areas (such as modeling and analysis, hardware, software, dependability, operating systems and languages) and will be able to see the areas from new perspectives.

Learning objectives

To introduce and explore concepts, principles, methods and instruments as well as problems related to development of real-time systems, from their specification to their practical application. To provide students with a theoretical background and an understanding of the practical engineering issues raised by the development of real-time systems. To support the taught facts by real-world case studies, to motivate students to understand causes of problems and to discuss solutions of the problems. To give students knowledge and skills to develop a real-time system by practicing the gained knowledge during dedicated exercises and project topics.

Why is the course taught

You will gain experience with the development of, often critical, systems working in real operating conditions (e.g., from transportation, energetical, industrial, medical or military areas). You will link, deepen and extend your knowledge and skills from various areas, typically taught in isolation, and will be able to see the areas from new perspectives.

Prerequisite knowledge and skills

Knowledge of the basic principles of information technology. Advanced computer skills, intermediate communication and self-study skills in English; basic abstract, adaptive, analytical, logical and critical thinking skills, basic problem solving skills, basic programming skills.

Study literature

  • Butazzo, G.: Hard Real-Time Computing Systems, Predictable Scheduling Algorithms and Applications. Springer, 2011, 524 p., ISBN 978-1-4614-0675-4.
  • Wang, J.: Real-Time Embedded Systems. John Wiley & Sons, 2017, 310 p., ISBN 978-1118116173.
  • Williams, R.: Real-Time Systems Development. Butterworth-Heinemann, 2006, 320 p., ISBN 978-0-7506-6471-4.
  • Olderog, E.-R., Dierks, H.: Real-Time Systems Formal Specification and Automatic Verification. Cambridge University Press, 2008, 344 p., ISBN 978-0521883337.
  • Behrmann G., David A., Larsen K.G.: A Tutorial on Uppaal. In: Lecture Notes in Computer Science, vol 3185. Springer, Berlin, Heidelberg. SFM-RT, pp. 397-415, 2004. ISBN 978-3-540-23068-7.
  • David, A., Larsen, K.G., Legay, A. et al. Uppaal SMC Tutorial: In International Journal on Software Tools for Technology Transfer, 2015, Vol. 17, pp. 397-415. ISSN 1433-2787.
  • Lecture slides/notes available electronically - přednáškové materiály dostupné v elektronické podobě.

Fundamental literature

  • Kopetz, H.: Real-Time Systems, Design Principles for Distributed Embedded Applications. Springer, 2011, 378 p., ISBN 978-1-4419-8236-0.
  • Cheng, A. M. K.: Real-Time Systems: Scheduling, Analysis, and Verification. Wiley, 2002, 552 p., ISBN 0-471-18406-3.
  • Laplante, P. A.: Real-Time Systems Design and Analysis. Wiley-IEEE Press, 2004, 528 p., ISBN 0-471-22855-9.
  • Alur, R.: Principles of Cyber-Physical Systems. MIT Press, 2015. 446 p., ISBN 978-0-262-02911-7.
  • Cottet, F., Delacroix, J., Kaiser, C., Mammeri, Z.: Scheduling in Real-Time Systems. John Wiley & Sons, 2002, 266 p., ISBN 0-470-84766-2.
  • Butazzo, G.: Hard Real-Time Computing Systems, Predictable Scheduling Algorithms and Applications. Springer, 2011, 524 p., ISBN 978-1-4614-0675-4.
  • Baier, C., Katoen, J.-P.: Principles of Model Checking. MIT Press, 2008, 975 p., ISBN 978-0-262-02649-9.

Syllabus of lectures

  1. Introduction to real-time systems. Motivation to study, organization stuff.
  2. Real-time support in standards, languages and tools. 
  3. Modeling, analysis, design and validation of real-time systems. Formal specification and verification of real-time systems.
  4. Hardware, software and computational aspects of real-time systems.
  5. Time, clocks and orders. Time measurement and bases, clock synchronization.
  6. Real-time model. Event-driven and time-triggered concepts.
  7. Temporal relations in systems.
  8. Dependability concepts. Load and fault hypotheses, anomalies and robustness of real-time systems.
  9. Real-time communication. Multi/many-core and distributed real-time systems.
  10. Real-time kernels and operating systems.
  11. Scheduling and synchronization of real-time tasks. 
  12. Power and energy awareness in real-time systems.
  13. Challenges, open problems, trends and visions in the area of real-time systems. Summary and conclusion.

Syllabus of computer exercises

  1. Acquaintance with available hardware and software equipment.
  2. Practice in modeling and analysis of real-time systems; specification and verification of timed systems.
  3. Practice in time measurement, clock synchronization and real-time system overheads on a particular hardware.
  4. Constructing and analyzing a simple real-time system in time triggered and event driven manners.
  5. Constructing, analyzing and testing a complex real-time system by means of a real-time operating system.

Syllabus - others, projects and individual work of students

  • An individual or a group project.

Progress assessment

  • 5 short-range technical reports summarizing the solutions of 5 partial tasks from exercises (12 points max).
  • Written mid-term test (15 points max).
  • Project with defense and due-date submission of its solution (18 points max).
  • Wriiten exam (55 points max) - a minimum of 15 points is required to pass the exam.

Controlled instruction

  • Following activities are monitored: the attendance and activity during lectures, exercises and the progress of project-related works.
  • Skills of students are verified using the short-range technical reports, mid-term test, project and final exam. To pass the final exam, at least 15 points must be obtained; otherwise, the final exam will be evaluated by 0 points. 
  • A prospective reimbursement of absences caused by an obstacle in the study is going to be realized according to the nature of the obstacle and lessons involved, e.g. by setting a substitute term or assigning a separate (homework) task. A solution to other kind of absence is not arranged herein, i.e., it is neither excluded nor guaranteed.

Exam prerequisites

  • No condition applies.

Course inclusion in study plans

Back to top