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
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.