Popis predmeta

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.

Learning Outcomes

  1. list real time system requirements
  2. illustrate methods and development processes for creating software components usable in real time systems
  3. evaluate scheduling feasibility while satisfying all timing constraints
  4. design and develop control program for simpler real time systems
  5. demonstrate usability of POSIX interface for adapting task scheduling, task synchronization and communication
  6. 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 assignments

Homework 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.

Week by Week Schedule

  1. Real time system (RTS) design
  2. Real time system (RTS) design
  3. Designing control program
  4. Designing control program
  5. Periodic and aperiodic tasks
  6. Periodic and aperiodic tasks
  7. Task scheduling and scheduling analysis
  8. Midterm exam
  9. Task scheduling and scheduling analysis
  10. Task scheduling and scheduling analysis
  11. Task scheduling and scheduling analysis
  12. Synchronization and communication concerns in RTS
  13. Synchronization and communication concerns in RTS
  14. Real-time operating systems (RTOS)
  15. Final exam

Study Programmes

University graduate
Audio Technologies and Electroacoustics (profile)
Elective Courses of the Profile (1. semester) (3. semester)
Communication and Space Technologies (profile)
Free Elective Courses (1. semester) (3. semester)
Computational Modelling in Engineering (profile)
Free Elective Courses (1. semester) (3. semester)
Computer Engineering (profile)
Elective Course of the Profile (1. semester) Elective Courses of the Profile (3. semester)
Computer Science (profile)
Elective Courses of the Profile (1. semester) (3. semester)
Control Systems and Robotics (profile)
Free Elective Courses (1. semester) (3. semester)
Data Science (profile)
Free Elective Courses (1. semester) (3. semester)
Electrical Power Engineering (profile)
Free Elective Courses (1. semester) (3. semester)
Electric Machines, Drives and Automation (profile)
Free Elective Courses (1. semester) (3. semester)
Electronic and Computer Engineering (profile)
Free Elective Courses (1. semester) (3. semester)
Electronics (profile)
Free Elective Courses (1. semester) (3. semester)
Information and Communication Engineering (profile)
Free Elective Courses (1. semester) (3. semester)
Network Science (profile)
Free Elective Courses (1. semester) (3. semester)
Software Engineering and Information Systems (profile)
Free Elective Courses (1. semester) (3. semester)

Literature

Leonardo Jelenković (2020.), Sustavi za rad u stvarnom vremenu, Online
Jane W. S. Liu (2000.), Real-Time Systems,
Nimal Nissanke (1997.), Realtime Systems,
Krishna (2010.), Real Time Systems, Tata McGraw-Hill Education
Alan Burns, Andrew J. Wellings (2001.), Real-time Systems and Programming Languages, Pearson Education

For students

General

ID 222791
  Winter semester
5 ECTS
L1 English Level
L1 e-Learning
30 Lectures
15 Exercises
5 Laboratory exercises

Grading System

Excellent
Very Good
Good
Acceptable

Learning Outcomes

  1. list real time system requirements
  2. illustrate methods and development processes for creating software components usable in real time systems
  3. evaluate scheduling feasibility while satisfying all timing constraints
  4. design and develop control program for simpler real time systems
  5. demonstrate usability of POSIX interface for adapting task scheduling, task synchronization and communication
  6. 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 assignments

Homework 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.

Week by Week Schedule

  1. Real time system (RTS) design
  2. Real time system (RTS) design
  3. Designing control program
  4. Designing control program
  5. Periodic and aperiodic tasks
  6. Periodic and aperiodic tasks
  7. Task scheduling and scheduling analysis
  8. Midterm exam
  9. Task scheduling and scheduling analysis
  10. Task scheduling and scheduling analysis
  11. Task scheduling and scheduling analysis
  12. Synchronization and communication concerns in RTS
  13. Synchronization and communication concerns in RTS
  14. Real-time operating systems (RTOS)
  15. Final exam

Study Programmes

University graduate
Audio Technologies and Electroacoustics (profile)
Elective Courses of the Profile (1. semester) (3. semester)
Communication and Space Technologies (profile)
Free Elective Courses (1. semester) (3. semester)
Computational Modelling in Engineering (profile)
Free Elective Courses (1. semester) (3. semester)
Computer Engineering (profile)
Elective Course of the Profile (1. semester) Elective Courses of the Profile (3. semester)
Computer Science (profile)
Elective Courses of the Profile (1. semester) (3. semester)
Control Systems and Robotics (profile)
Free Elective Courses (1. semester) (3. semester)
Data Science (profile)
Free Elective Courses (1. semester) (3. semester)
Electrical Power Engineering (profile)
Free Elective Courses (1. semester) (3. semester)
Electric Machines, Drives and Automation (profile)
Free Elective Courses (1. semester) (3. semester)
Electronic and Computer Engineering (profile)
Free Elective Courses (1. semester) (3. semester)
Electronics (profile)
Free Elective Courses (1. semester) (3. semester)
Information and Communication Engineering (profile)
Free Elective Courses (1. semester) (3. semester)
Network Science (profile)
Free Elective Courses (1. semester) (3. semester)
Software Engineering and Information Systems (profile)
Free Elective Courses (1. semester) (3. semester)

Literature

Leonardo Jelenković (2020.), Sustavi za rad u stvarnom vremenu, Online
Jane W. S. Liu (2000.), Real-Time Systems,
Nimal Nissanke (1997.), Realtime Systems,
Krishna (2010.), Real Time Systems, Tata McGraw-Hill Education
Alan Burns, Andrew J. Wellings (2001.), Real-time Systems and Programming Languages, Pearson Education

For students

General

ID 222791
  Winter semester
5 ECTS
L1 English Level
L1 e-Learning
30 Lectures
15 Exercises
5 Laboratory exercises

Grading System

Excellent
Very Good
Good
Acceptable