Persönlicher Status und Werkzeuge

Real-Time Programming Lab

Last Update: 28. Feb. 2014

The goal of this lab is to expose students to new paradigms and languages that are targeted towards programming embedded systems with hard real-time constraints or deadlines. Traditional programming languages like C, C++ or Java provide no support for expressing real-time constraints at the language level. Instead they require the programmer and the system developer to configure the operating system and its scheduler appropriately (e.g., by assigning suitable priorities to tasks) in order to ensure that all tasks meet their deadlines.

After attending this lab, students will learn about the Esterel synchronous language, how to program using Esterel and what are its advantages compared to traditional languages like C or C++. Finally, the students will program a robot using Esterel and make it perform different tasks.

Required Knowledge

Basic knowledge of the C programming language is required for parts of the project exercise.

Administrative Information

  • This is a 5-credit BA practical course.

  • Laboratory time (Preliminary): Wednesdays 15.00 hrs to 18.00 hrs

  • The course will have three phases:
    1. The first two sessions will be theoretical lectures to provide a basic background on real-time programming languages -- synchronous language paradigm in particular and introduce to Esterel.
    2. The following three sessions will be in laboratory where the students are expected to solve some basic exercises on Esterel and get familiar with the hardware platform (i.e., mobile robot).
    3. In the final phase (consisting of another six sessions), the students will work on a project in groups of two or three, where two robots will have to work together in order to solve the final challenge.

Introductory Event

The introduction will take place in Room 3999 on Wednesday April 9th from 15:00 to 16:30. Attendance is mandatory as the final place assignment will take place at that event.

Course Material

Reading material, lecture slides and exercises will be available on moodle.

Contact

Nadja Peters