Real Time Systems


Real time aspects of embedded systems; examples of real time systems. Soft and hard real time systems. Real time scheduling: periodic tasks, priority-driven scheduling, resource access control. Real time programming, real time operating systems, POSIX. Verification of real time systems: timed automata, timed logics, verification with the Uppaal tool.


For many computer systems, particularly for embedded systems, correct real time behavior is fundamental. Examples of applications that require real time computing include air traffic control, robotics, nuclear power plants, railway switching systems. This course overviews the area of real time systems with a focus on three topics: real time programming languages, real time scheduling, and formal verification of real time systems. Lectures are acompanied with lab sessions during which students can get hands-on experience with the discussed topics (particularly using the Lego Mindstorms system).


After the course students should:

  • Know specific aspects of real time systems.
  • Understand main problems of the design of real time systems and know some solutions.
  • Be able to use formal reasoning about real time systems.
  • Have a practical experience with a real time system.


  • 50% assigments (4 assigments during the semester)
  • 50% final test