Students are able:
- To reason about schedulability of real-time tasks and to devise appropriate scheduling strategies.
- To develop small applications on a real-time operating system, using the available primitives for scheduling, mutual exclusion and interrupt handling.
- To apply a systematic model-based development method to design a relatively small embedded system using appropriate tools.
- To reflect on the characteristics of embedded systems and the use of model-based techniques.
A large part of the functionality of many devices is realized by software. The development of this embedded software is far from trivial, for instance, because it has to interact with its hardware environment, sensor information is not perfect, it has to satisfy real-time requirements, there are memory or power limitations, and faults have to be tolerated.
This course addresses the model-based development of embedded software, from specification to implementation. The emphasis is on hands-on experience by means of exercises on a real-time operating system and a concrete case study with real-time and fault-tolerant aspects.
Basic programming skills using the programming languages C, Python and Java.
|To pass this course the following is required:
For the first part of the course, correct solutions to exercises on scheduling and real-time operating systems.
For the second part of the course, a solution to the larger case study, with: (1) a report about the work on a case study and an evaluation of the approach, and (2) a demo of the final result.
The final score is the mean of the score for these two parts.|
PLEASE NOTE: This course will be taking place on campus. The practical component may be subject to corona-measures, and therefore the number of places may be limited. The definitive number of participants will be determined at the end of August.|
In case of overregistration, students for whom the course is mandatory in their programme have first access.