Introduction (Inleiding)
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, or faults have to be tolerated. This course addresses the 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.
|
Objectives (Leerdoelen)
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 communication.
- To apply a systematic development method to design a relatively small embedded system using appropriate tools.
|
Subjects (Onderwerpen)
Characteristics of embedded systems Scheduling theory Real-time operating systems Requirements definition Design decisions Deployment of software on hardware Use of UML for embedded software Development tools and code generation
|
Study investment (Studielastverdeling)
- 32 hrs lecture
- 4 hrs personal study counseling
- 40 hrs student project
- 16 hrs problem session
- 76 hrs individual study period
|
Teaching methods (Toelichting werkvormen)
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 the 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.
|
Examination (Toetsvorm)
The final exam of this course consists of: - A report about the work on a case study and an evaluation of the approach.
- A demo of the final result.
- An oral discussion about the report and the contents of the course.
In addition, the results of the exercises on scheduling and real-time operating system will be taken into account. The final score is the mean of the score for the scheduling and OS exercises and the score for the case study. Both parts of the course must have been completed sufficiently.
|
Pre-requisites (Vereiste voorkennis)
Basic programming skills using the programming language C.
|
Literature (Literatuur)
Relevant literature will be distributed during the course.
|
Website
http://www.cs.ru.nl/~hooman/DES/
|
Extra information (Bijzonderheden)
This course fits in the theme Embedded Systems.
|