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: