Course syllabus for Introduction to real time systems

The course syllabus contains changes
See changes

Course syllabus adopted 2021-02-26 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 62112
  • 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
0 c0 c0 c4.5 c0 c0 c
  • 30 Maj 2022 pm L
  • 08 Okt 2021 am L
  • 16 Aug 2022 pm L
0217 Laboratory 3 c
Grading: TH
0 c0 c0 c3 c0 c0 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) 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.

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.

The course syllabus contains changes

  • Changes to examination:
    • 2021-09-21: Grade raising Changed to grade raising by GRULG