Acquisition of the basic understanding of practical aspects of distributed algorithms in embedded systems. Participants of this course are able to implement the abstractions (message-passing interface, lock-step synchronous rounds) needed for executing distributed algorithms on a microcontroller board running a real-time operating system, thereby realizing the basic services of a networked embedded system. Executing suitable distributed algorithms in this system lead to a deeper understanding for the resulting overall performance and reliability.
The course is made up of a short introductory part followed by the practical part, which should preferably be performed in groups of two students. The former offers a brief introduction into a real-time operating system (QNX Neutrino, RT-Linux), the used hardware platform (Pandaboard A4 with ARM9) and some basic communication primitives and clock synchronization algorithms. The practical part comprises (i) the installation of a suitable real-time operating system on the hardware platform and its (latency-)evaluation, (ii) the implementation of some low-level abstractions (communication primitives, clock synchronization) for the execution of distributed algorithms, and (iii) the implementation and evaluation of some simple distributed algorithms on the resulting network embedded system.
ECTS breakdown (4.5 ECTS = 112.5 hours):
4h Introductory presentations20h Reading RTOS and hardware documentation68.5h Implementation, test and evaluation work 20h Documentation and presentation of results
Assessment of architecture, design and evaluation of the solutions and their oral presentation.
Not necessary
Basic knowledge about distributed and dependable embedded systems; experience in microcontroller and operating systems prorgramming.