Course syllabus
LET627 Introduction to Real-Time Systems
Course responsible: Jan Jonsson
Official course information: [ LET627, TimeEdit ]
Organization
The course encompasses lectures, exercise sessions, special sessions and a laboratory assignment.
The lectures aim at introducing fundamental theories and concepts as well as a programming paradigm, and demonstrating how theory and paradigm are applied.
The exercise sessions focus on the specific topics covered during the main lectures. At each session, selected parts of the course contents are highlighted, and solutions to relevant problems are demonstrated.
The special sessions are a complement to the lectures and exercises. Here, it is possible to get additional help with the laboratory assignment regarding, for example, software design methods, functionality of development tools or music theory. It also offers an opportunity to discuss solutions to exercise problems or old exam problems.
In the laboratory assignment the students (in small project groups) should implement the software for an embedded real-time application running on stand-alone hardware system, that will later be connected to a bus network. At the end of the course the students document their laboratory assignment in a written project report.
Within the framework of the laboratory assignment, in collaboration with English (LSP581), the course will include training in oral and written proficiency. To that end there will be three common activities: an ethics mini report, a project report and a project presentation. The grading of these activities will be done according to the guidelines in LSP581, while their contents will be given by LET627. The submission of the ethics mini report and project report will be administrated by LET627.
Aim and content
This course will give a general introduction to small embedded and distributed real-time systems. It will provide experience of some important applications for microcomputer systems, training in C-program development for small real-time systems consisting among other things of nodes connected to a CAN bus.
After the course the students shall be able to
- Describe and understand the concepts of embedded system, task, concurrent tasks, shared resources and distributed systems.
- Explain the concepts of critical regions, mutual exclusion, starvation, deadlock, and task synchronization.
- Describe and understand the general structure of, and the function of, a real-time kernel for small embedded systems.
- Develop programs composed of multiple tasks, for small systems with support of a real-time kernel.
- Use pointers in connection with development of C programs for managing data structures such as arrays and queues.
- Explain the meaning of, and the differences between, the concepts of table-based and priority-based scheduling.
- Apply schedulability analysis on small systems composed of several well-specified tasks with timing constraints (period and deadline).
- Describe the general structure and characteristics of the CAN protocol.
The following concepts will be described in different levels in the course: task, task communications, critical regions, semaphores, mutual exclusion and synchronization, deadlock, timing constraints ("soft/hard" systems), scheduling, time- and event-trigged systems, schedulability analysis for systems with static and dynamic task priorities, distributed real-time systems, and data communications for small embedded real-time systems.
The course describes the programmer's interface for the real-time kernel that is available for solving the laboratory assignment, and also describes how pointers, arrays and queues in C programs are used in that context.
A laboratory assignment and a final project report gives experience of software development for embedded systems.
Important dates
→ | Mon | Mar 20 | : | First lecture, 13:15 - 15:00 (in room Gamma) |
→ | Mon | Mar 27 | : | Deadline - registration to project group |
→ | Study week 3 | : | Loan equipment pick-up (compulsory attendance) | |
→ | Study week 4 | : | First laboratory session (compulsory attendance) | |
→ | Wed | Apr 19 | : | Deadline - submission of ethics mini report |
→ | Study week 8 | : | Final laboratory session (preliminary lab grade given) | |
→ | Fri | May 19 | : | Deadline - submission of draft project report |
→ | Wed | May 24 | : | Project presentations (with LSP581) |
→ | Study week 9 | : | Loan equipment return (compulsory attendance) | |
→ | Wed | May 31 |
: | Written exam, afternoon, campus Lindholmen |
→ | Tue | Jun 13 | : | Deadline - submission of full project report |
Examination
The student is evaluated through a final written exam (4.5 hec) and a compulsory laboratory assignment (3.0 hec).
The final grade, according to the scale Fail (U) or Pass (3, 4, 5), is given based on the individual grades for the written exam and the laboratory assignment.
Permitted aids at the written exam are the standard authorised aids (pencils, erasers, rulers) and a Chalmers-approved calculator.
Additional information regarding the written exam can be found on the Examination page in Canvas.
Additional information regarding the laboratory assignment can be found on the Assignment page in Canvas.
Your progress regarding the different examination objectives can be viewed via the Modules menu in Canvas.
Course literature
(LEC) | Lecture notes. Department of Computer Science and Engineering, Chalmers, 2023. Mandatory reading. Can be downloaded from the Lectures and Exercises pages in Canvas. |
(TXT) | Selected texts from archival journals, conference proceedings and books. Not mandatory reading, but useful for gaining both deeper and broader topic knowledge. Can be downloaded from the Lectures page in Canvas. |
(EXC) | Exercise compendium. Department of Computer Science and Engineering, Chalmers, 2012. Can be downloaded from the Resources page in Canvas. |
(LAB) | Development tools and tutorials related to the laboratory assignment. Can be downloaded from the Resources page in Canvas. |
What's New?
Changes taking effect during spring 2023:
- Following the current recommendations all teaching and examination is planned to take place on-campus.
Changes from previous years:
- The written exam has a new grading procedure, encompassing a Basic part and an Advanced part (since 2022).
- The work with the laboratory assignment can be partly be done at home using loan equipment (since 2021).
- To be eligible for the laboratory assignment a pass grade is required in the assignment part of LEU483 (since 2020).
- To be eligible for the laboratory assignment a pass grade is required in the laboratory part of DAT390 (since 2019).
- The course web pages are hosted by the Canvas system (since 2019).
- The final grade is based on the grades for the 'Examination' and 'Laboratory' course elements (since 2018).
- The 'Laboratory' course element uses the grading scale U, 3, 4, 5 (since 2018).
- New course material and new laboratory assignment (since 2016).