Real-time Systems Programming
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
BE3M35PSR | Z,ZK | 6 | 2P+2C | anglicky |
- Vztahy:
- Předmět BE3M35PSR může při kontrole studijních plánů nahradit předmět B3M35PSR
- Předmět BE3M35PSR může být splněn v zastoupení předmětem B3M35PSR
- Předmět BE3M35PSR nesmí být zapsán, je-li v témže semestru zapsán anebo již dříve absolvován předmět B3M35PSR (vztah je symetrický)
- Garant předmětu:
- Přednášející:
- Michal Sojka
- Cvičící:
- Jaroslav Klapálek, Michal Sojka
- Předmět zajišťuje:
- katedra řídicí techniky
- Anotace:
-
The goal of this course is to provide students with basic knowledge about software development for real-time systems, for example in control and embedded applications. The main focus is on embedded systems equipped with a real-time operating system (RTOS). Lectures will cover real-time systems theory, which can be used to formally verify timing correctness such systems. Another set of lectures will introduce methods and techniques used for development of safety-critical systems, whose failure may have catastrophic consequences. During labs, students will first solve a few simple tasks to familiarize them with basic components of VxWorks RTOS and to benchmark the used OS and hardware (Xilinx Zynq). The obtained metrics represent the typical criteria for assessing the suitability of a given platform for the given application. After the simple tasks, students will solve complex task of time-critical motion control application which will require full utilization of RTOS features. All the tasks at the labs will be implemented in C (or C++) language.
- Požadavky:
-
Attendee must be capable of writing basic C programs and understand principles of multithreaded programming. It is an advantage (but not requirements) to finish B0B36APO and B4B35OSY before taking this course.
- Osnova přednášek:
-
1. Introduction to real-time systems, requirements, properties, applications
2. VxWorks operating system (OS)
3. POSIX 1003.1b - portable real-time OS interface
4. Reference model of real-time system
5. Off-line (clock-driven) scheduling
6. Fixed priority scheduling and analysis
7. Dynamic priority scheduling and analysis
8. Shared resource management
9. Combining real-time and non-real-time task, temporal isolation
10. Development of safety critical applications, functional safety standards, safety integriti level (SIL)
11. Techniques for increasing reliability of safety-critical software (redundancy, information coding, decomposition)
12. HAZOP study, software HAZOP, example
13. Multi-core systems and real-time, overview of RTOSes
- Osnova cvičení:
-
1. VxWorks IDE basics: creating applications, VxWorks simlator, documentacion, debugging
2. VxWorks API: Mutexes, semaphores
3. VxWorks API: Real-Time processes and shared memory
4. Blocking on mutex, priority inheritance
5. Cyclic executive, worst-case execution time (WCET) measurement
6. Scheduler latency measurement
7. Ethernet communication latency measurement
8. Semestral work - distributed real-time motor controller (steer-by-wire) + visualisation with an in-application web server
- Cíle studia:
- Studijní materiály:
-
Buttazzo, Giorgio C, Hard Real-Time Computing Systems, Predictable Scheduling Algorithms and Applications, Springer, 2011
(knihovna ČVUT má jeden kus, naše katedra také, další pořídíme)
Burns A. and Wellings A.: Real-Time Systems and Programming Languages (Fourth Edition), Ada 2005, Real-Time Java and C/Real-Time POSIX, Addison Wesley Longmain, 2009
(naše katedra má 1 kus)
Redmill F., Morris Ch. et al, System Safety: HAZOP and Software HAZOP, Wiley, April 1999
(naše katedra má 1 kus)
- Poznámka:
- Další informace:
- https://wiki.control.fel.cvut.cz/psr/
- Rozvrh na zimní semestr 2024/2025:
- Rozvrh není připraven
- Rozvrh na letní semestr 2024/2025:
- Rozvrh není připraven
- Předmět je součástí následujících studijních plánů:
-
- Cybernetics and Robotics (povinně volitelný předmět)