Course syllabus for Introduction to real time systems

Course syllabus adopted 2022-02-14 by Head of Programme (or corresponding).

Overview

  • Swedish nameRealtidssystem, grundkurs
  • CodeLET627
  • Credits7.5 Credits
  • OwnerTIDAL
  • Education cycleFirst-cycle
  • Main field of studyComputer Science and Engineering, Electrical Engineering
  • DepartmentCOMPUTER SCIENCE AND ENGINEERING
  • GradingTH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail

Course round 1

  • Teaching language Swedish
  • Application code 62122
  • Maximum participants56
  • Open for exchange studentsNo
  • Only students with the course round in the programme overview.

Credit distribution

0117 Examination 4.5 c
Grading: TH
4.5 c
  • 11 Okt 2024 am L
0217 Laboratory 3 c
Grading: TH
3 c

In programmes

Examiner

Go to coursepage (Opens in new tab)

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) and a pass grade in the assignment part of the course LEU483 Computer programming (course module 0119). Knowledge in computer organization corresponding to the course LEU432 Introduction to computer engineering.

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.

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.

A large laboratory assignment and a final laboratory report gives experience of software development for embedded 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.

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.

The course examiner may assess individual students in other ways than what is stated above if there are special reasons for doing so, for example if a student has a decision from Chalmers on educational support due to disability.