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