Real-Time Systems
Data is displayed for the academic year: 2024./2025.
Lecturers
Laboratory exercises
Course Description
In the course emphasis is set on software development for real time systems, introducing appropriate methods and development processes. Meeting timing constraints in complex multitask system is even harder problem, without general solution. Task scheduling principles that may be used in real time systems are presented and their benefits and drawbacks analyzed. Task scheduling, as well as other system properties, significantly depend on underlying operating system, thus operating system is also the subject of detailed analysis in the context of real time systems.
Prerequisites
In order to successfully master the course, prior knowledge of operating systems and good knowledge of programming in C is desirable. Otherwise, the course is significantly more difficult.
Study Programmes
University graduate
[FER3-HR] Audio Technologies and Electroacoustics - profile
Elective Courses
(3. semester)
Elective Courses of the Profile
(1. semester)
(3. semester)
[FER3-HR] Communication and Space Technologies - profile
Elective Courses
(1. semester)
(3. semester)
[FER3-HR] Computational Modelling in Engineering - profile
Elective Courses
(1. semester)
(3. semester)
[FER3-HR] Computer Engineering - profile
Elective Course of the Profile
(1. semester)
Elective Courses
(1. semester)
(3. semester)
Elective Courses of the Profile
(3. semester)
[FER3-HR] Computer Science - profile
Elective Courses
(1. semester)
(3. semester)
Elective Courses of the Profile
(1. semester)
(3. semester)
[FER3-HR] Control Systems and Robotics - profile
Elective Courses
(1. semester)
(3. semester)
[FER3-HR] Data Science - profile
Elective Courses
(1. semester)
(3. semester)
[FER3-HR] Electrical Power Engineering - profile
Elective Courses
(1. semester)
(3. semester)
[FER3-HR] Electric Machines, Drives and Automation - profile
Elective Courses
(1. semester)
(3. semester)
[FER3-HR] Electronic and Computer Engineering - profile
Elective Courses
(1. semester)
(3. semester)
[FER3-HR] Electronics - profile
Elective Courses
(1. semester)
(3. semester)
[FER3-HR] Information and Communication Engineering - profile
Elective Courses
(1. semester)
(3. semester)
[FER3-HR] Network Science - profile
Elective Courses
(1. semester)
(3. semester)
[FER3-HR] Software Engineering and Information Systems - profile
Elective Courses
(1. semester)
(3. semester)
[FER2-HR] Computer Engineering - profile
Theoretical Course
(1. semester)
[FER2-HR] Computer Science - profile
Specialization Course
(1. semester)
[FER2-HR] Electrical Engineering Systems and Technologies - profile
Specialization Course
(1. semester)
(3. semester)
Learning Outcomes
- list real time system requirements
- illustrate methods and development processes for creating software components usable in real time systems
- evaluate scheduling feasibility while satisfying all timing constraints
- design and develop control program for simpler real time systems
- demonstrate usability of POSIX interface for adapting task scheduling, task synchronization and communication
- estimate usage of various methods, programs, operating systems and other components for real time environment
Forms of Teaching
Lectures
Lectures are organized through two cycles: first last seven weeks and second six weeks. After first cycle is scheduled mid term exam and after second cycle comes final exam. Each week there are three hour lecture. Within some lectures students will be tested with short tests.
Independent assignmentsHomework includes solving of the given problems (published in the first week): design and implementation accompanied by a short documentation. Result should be then uploaded and later presented for grading.
Grading Method
Continuous Assessment | Exam | |||||
---|---|---|---|---|---|---|
Type | Threshold | Percent of Grade | Threshold | Percent of Grade | ||
Laboratory Exercises | 50 % | 20 % | 50 % | 20 % | ||
Quizzes | 0 % | 10 % | 0 % | 10 % | ||
Final Exam: Written | 50 % | 40 % | ||||
Final Exam: Oral | 40 % | |||||
Exam: Written | 50 % | 40 % | ||||
Exam: Oral | 40 % |
Week by Week Schedule
- Real time system (RTS) design: requirements, RTS categories, complexity as problem.
- Real time system (RTS) design: informal and formal methods. UML diagrams. Petri nets.
- Designing control program: program loop, interrupts, alarms, multithreading.
- Designing control program: PID regulator, fuzzy logic controller.
- Periodic and aperiodic tasks: task properties, system classification.
- Periodic and aperiodic tasks: theoretical scheduling algorithms. Priority scheduling. The earliest deadline first scheduling. Least laxity first scheduling.
- Multiprocessor scheduling algorithms. Task scheduling in operating systems.
- Midterm exam
- Optimal schedulers. Static scheduling for simple periodic tasks.
- Operating system interfaces for time related operations. Clocks. Granularity. Signals.
- Synchronization and communication concerns in RTS
- Priority inversion. Recursive locking.
- Distributed systems. Some additional problems when creating software for RTS:
- Properties of real-time operating systems (RTOS). Overview of existing free and commercial RTOS.
- Final exam
Literature
Leonardo Jelenković (2020.), Sustavi za rad u stvarnom vremenu, Online
General
ID 240704
Winter semester
5 ECTS
L0 English Level
L1 e-Learning
45 Lectures
0 Seminar
0 Exercises
10 Laboratory exercises
0 Project laboratory
0 Physical education excercises
Grading System
90 Excellent
75 Very Good
60 Good
50 Sufficient