Search course

Use the search function to find more information about the study programmes and courses available at Chalmers. When there is a course homepage, a house symbol is shown that leads to this page.

Graduate courses

Departments' graduate courses for PhD-students.

​​​​
​​

Syllabus for

Academic year
LET627 - Introduction to real time systems
Realtidssystem, grundkurs
 
Syllabus adopted 2020-02-11 by Head of Programme (or corresponding)
Owner: TIDAL
7,5 Credits
Grading: TH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail
Education cycle: First-cycle
Major subject: Computer Science and Engineering, Electrical Engineering
Department: 37 - COMPUTER SCIENCE AND ENGINEERING


Teaching language: Swedish
Application code: 62124
Open for exchange students: No
Maximum participants: 56
Only students with the course round in the programme plan

Module   Credit distribution   Examination dates
Sp1 Sp2 Sp3 Sp4 Summer course No Sp
0117 Examination 4,5c Grading: TH   4,5c   31 May 2021 pm L,  09 Oct 2020 am L,  17 Aug 2021 pm L
0217 Laboratory 3,0c Grading: TH   3,0c    

In programs

TIDAL COMPUTER ENGINEERING, Year 1 (compulsory)

Examiner:

Jan Jonsson

  Go to Course Homepage


Eligibility

General entry requirements for bachelor's level (first cycle)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Specific entry requirements

The same as for the programme that owns the course.
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Course specific prerequisites

A pass grade in the laboratory part of the course DAT390
Machine oriented programming (course module 0118) is required. Knowledge in
computer organization corresponding to the course LEU432 Introduction to
computer engineering. Knowledge in programming corresponding to a course in
computer programming using the high-level language C.

Aim

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.

Learning outcomes (after completion of the course the student should be able to)

  • Describe and understand the concepts of embedded system, tasks, 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.
  • Develop programs for a distributed real-time system consisting of nodes connected to a CAN bus.

Content

The following concepts will be described in different levels in the course: task, task communication, 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 communication for small embedded real-time systems.

The course describes the implementation of a small real-time kernel for a microcomputer system. 
The course also includes use of arrays and queues in C programs in connection with the study of a real-time kernel.

A large laboratory assignment and a final laboratory report gives experience of software development for embedded systems.

Organisation

The course is organized into lectures, exercises, and a laboratory assignment.

Within the framework of the laboratory assignment, and in collaboration with the course LSP580 English, the course will include training in oral and written proficiency.

Literature

Lecture notes. Selected texts from archival journals, conference proceedings and books. Compendium of exercises.

Examination including compulsory elements

A written exam and a laboratory assignment. The final grade, according to the scale Fail (U) or Pass (3, 4, 5), is given based on the grades for the written exam and the laboratory assignment.


Page manager Published: Thu 04 Feb 2021.