Design of Embedded Systems
Course infoSchedule
Course moduleNWI-I00155
Credits (ECTS)6
CategoryMA (Master)
Language of instructionEnglish
Offered byRadboud University; Faculty of Science; Informatica en Informatiekunde;
Contactperson for the course
prof. dr. J.J.M. Hooman
Other course modules lecturer
prof. dr. J.J.M. Hooman
Other course modules lecturer
prof. dr. J.J.M. Hooman
Other course modules lecturer
dr. T.C. Nägele
Other course modules lecturer
Academic year2017
KW1-KW2  (04/09/2017 to 04/02/2018)
Starting block
Course mode
Registration using OSIRISYes
Course open to students from other facultiesYes
Waiting listNo
Placement procedure-

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.
Relevant literature will be distributed during the course.

Teaching formats

• 32 hours lecture
• 32 hours problem session
• 104 hours individual study period

Extra information teaching methods: There is a strong emphasis on active participation by the students and getting hands-on experience with the main concepts such as scheduling, real-time operating systems and model-based development of embedded software. Central activity of the last part of the course is the realization of a case study in a systematic, iterative, way. Important are regular discussions on the design and frequent feedback on the iterations. The used techniques and tools are introduced briefly in the course, but mainly internalized by the application to the case study.

The main topics of this course are:

• Characteristics of embedded systems
• Scheduling theory
• Real-time operating systems
• Requirements definition
• Model-based design
• Deployment of software on hardware
• Development tools and code generation
• Real-time operating systems

Test information
To pass this course the following is required:

• For the first part of the course, correct solutions to exercises on scheduling and real-time operarting 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, (2) a demo of the final result, and (3) an oral discussion about the report and the contents of the course.

The final score is the mean of the score for these two parts.

Basic programming skills using the programming languages C and Java.

Required materials
To be announced
Relevant literature will be distributed during the course.

Instructional modes
Course occurrence




Test weight1
OpportunitiesBlock KW2, Block KW3