The schedule is preliminary and can be changed.
The main lecturers are Alexandre David [AD] and René Rydhof
Hansen [RRH].
The guest lecturers are Brian Nielsen [BN] and Jens
Alsted [JA].
As you asked, the lectures and exercises are swapped from the 5/10.
Lecture | Lecturer | Title | Date | Time lecture/exercise | Room |
---|---|---|---|---|---|
1 | AD |
Welcome Introduction to Real-Time Systems Fault Tolerance |
8h15-10h/10h15-12h | 0.2.12 | |
2 | BN | NXT Sensors and Actuators | 12h30-14h15/14h30-16h15 | 0.2.12 | |
3 | RRH |
Real-Time Facilities Scheduling |
8h15-10h/10h15-12h | 0.2.12 | |
4 | JA |
OSEK on the NXT Balancing Robot Case-Study |
8h15-10h/10h15-12h | 0.2.12 | |
5 | RRH |
Scheduling Response Time Analysis |
8h15-10h/10h15-12h | 0.2.12 | |
6 | AD+RRH |
Project Presentations: Choices UPPAAL |
8h15-10h/10h15-12h | 0.2.12 | |
7 | AD | UPPAAL (cont.), Times Tool | 12h30-14h15/14h30-16h15 | 0.2.13 | |
8 | AD | Concurrent Programming and Process Synchronization | 10h15-12h/8h15-10h | 0.2.12 | |
9 | RRH | Synchronization, Atomicity, Deadlocks | 10h15-12h/8h15-10h | 0.2.12 | |
10 | RRH | Programming Real-Time Systems | 10h15-12h/8h15-10h | 0.2.12 | |
11 | RRH | Programming Real-Time Systems (cont.) | 10h15-12h/no exc. | 0.2.12 | |
12 | RRH | Timing Faults | 10h15-12h/8h15-10h | 0.2.12 | |
13 | RRH |
Exceptions Low-level Programming |
8h15-10h/10h15-12h NB! changed | 0.2.12 | |
14 | RRH | RTA Advanced | 10h15-12h/8h15-10h | 0.2.12 | |
15 | AD+RRH | Project Presentations: Achievements and Discussions | 10h15-12h/8h15-10h | 0.2.12 |
[Alexandre] Abstract:
Reading: Chapters 1 and 2.
Slides: Introduction, Fault tolerance.
Exercises: Discuss exercises 1.2, 1.4, 1.5, 2.1, 2.2, and 2.5. Discuss the concepts of chapter 2 apply to your projects, in particular reliability, safety, fault-tolerance, redundancy etc...
[Brian] lecture
[René] Abstract: We covered (philosophical) notions of time, properties of (real-world) time, access to time/clock in a programming language, basic clock use (delays, timeouts), and temporal scopes.
Reading: Chapters 9 and 11.
Slides: Real-time facilities.
Exercises: Exercises 9.1 and 9.2; discuss the different notions of time.
[Jens] Abstract: An introduction to OSEK is given, which covers the basics of the API, how to setup your environment, and compile. The balancing robot (segway) is presented as a case-study.
Slides: OSEK.
Exercises: See end of slides.
[René] Abstract: Basic scheduling algorithms (FPS, EDF, VBS), utilisation analysis (for FPD and EDF), response-time analysis (for the simple process model).
Reading: Chapter 11.
Slides: Basic scheduling and RTA.
Exercises: Exercises 11.1, 11.2, 11.3, 11.7, 11.8, 11.9, 11.10.
[Alexandre and René] Abstract: In the first 1/2h, each group has approx. 5 min to present his project. That means the context, the requirements, and some preliminary analysis on the real-time aspects of the project, i.e., which tasks are necessary, which deadlines you are likely to have, what defines reliability and safety. Then I will start an introduction to UPPAAL from a user's perspective. You will get more on the theory later in the curriculum.
Reading: Tutorial on UPPAAL.
Slides: Introduction to UPPAAL.
Exercises:
period wcet deadline offset
. A typical
call in your case is done with ./converter -t tab11.15
-c 1 -p gedf -m uppaal
. The property you want to verify
is typically A[] not sched_gedf.Loc_Unhappy
.[Alexandre] Abstract: I finish on UPPAAL, giving you some modeling patterns, and I show you some alternative models that you can use in the tool. Then I'll present you Times and make a short demo.
Reading: Tool paper.
Slides: Times tool.
Exercises:
[Alexandre] Abstract: Alexandre presents concepts of concurrent programming and message-based process synchronization.
Reading: Chapters 4 and 6.
Slides: Concurrent programming, Message-based process synchronization.
Exercises: We start with the exercises this time so you will continue the exercises from last time. Finish the exercises on UPPAAL and OSEK.
[René] Abstract:
Reading: Chapters 5, 7 (cursorily), and 8 (only section about deadlocks).
Slides: Communication and Synchronisation via Shared Memory.
Exercises: 4.5, 4.7, 4.11, 4.12
[René] Abstract: Implementing periodic tasks, aperiodic/sporadic tasks, real-time event handlers, and controlling I/O jitter.
Reading: Chapters 10 and 12.
Slides: Programming Real-Time Abstractions.
Exercises:
test-and-set
instruction can be
used to implement semaphores.
swap
instruction can be
used to implement semaphores.
[René] Abstract: Implementing cyclic executive, priority-based scheduling in POSIX and real-time Java, interrupt handling in real-time Java.
Reading: Chapters 10 and 12 (cont.).
Slides: Programming Real-Time Abstractions.
Exercises: No exercises today
[René] Abstract: Detecting and handling timing faults: missed deadline detection, wcet overrun, sporadic overrun, damage confinement, execution time servers, error recovery, and mode change.
Reading: Chapter 13.
Slides: Timing faults.
Exercises:
[René] Abstract: Brief overview of standard notions of exception and exception handling; overview of mechanisms for low-level programming in general and I/O, interrupts, and memory management in particular.
Reading: Chapters 3 and 14.
Slides: Timing faults.
Exercises:
[René] Abstract: Extending the simple process model and corresponding RTA: aperiodic and sporadic processes, cooperating processes (blocking), priority inheritance protocols (simple, OCPP, ICPP), release jitter, arbitrary deadlines, fault handling, interrupts, context switches.
Reading: Chapter 11 (again) and RTA for arbitrary deadlines (example)
Slides: Advanced RTA.
Exercises:
We hope you got useful feedback at your presentations. Here are links to your videos/presentations: