Logo ČVUT
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2023/2024
UPOZORNĚNÍ: Jsou dostupné studijní plány pro následující akademický rok.

Programování systémů reálného času

Přihlášení do KOSu pro zápis předmětu Zobrazit rozvrh
Kód Zakončení Kredity Rozsah Jazyk výuky
B3M35PSR Z,ZK 6 2P+2C česky
Garant předmětu:
Michal Sojka
Přednášející:
Michal Sojka
Cvičící:
Jaroslav Klapálek, Michal Sojka
Předmět zajišťuje:
katedra řídicí techniky
Anotace:

Cílem tohoto předmětu je poskytnout studentům základní znalosti v oblasti vývoje softwaru pro řídicí či jiné systémy pracující v reálném čase. Hlavní důraz bude kladen na vestavné systémy vybavené některým z operačních systémů reálného času (RTOS). Na přednáškách se studenti seznámí s teorií systémů pracujících v reálném čase, která slouží k formálnímu potvrzení správnosti kritických aplikací. Další část přednášek bude zaměřena na bezpečnostně kritické (safety-critical) aplikace, jejichž selhání může mít katastrofické následky. Na cvičeních budou studenti řešit nejprve několik menších úloh s cílem jednak zvládnout práci se základními komponentami RTOS VxWorks a jednak změřit časové parametry OS a hardwaru, které jsou potřebné při výběru platformy vhodné pro danou aplikaci. Poté se bude řešit složitější úloha - časově náročné řízení modelu, kde bude možno plně využít vlastnosti použitého RTOS. Úlohy na cvičeních se budou řešit v jazyku C.

Požadavky:

Zájemce musí zvládat základy programování v jazyce C a programování vícevláknových aplikací. Výhodou (ale ne podmínkou) je absolvování předmětu A0B35APO a B4B35OSY.

Stránky předmětu: https://moodle.dce.fel.cvut.cz/

Osnova přednášek:

1. Úvod do systémů reálného času, požadavky, vlastnosti, aplikace

2. Operační systém VxWorks

3. POSIX 1003.1b - přenositelné rozhraní operačních systémů reálného času

4. Referenční model systému reálného času

5. Off-line (hodinkami řízené) rozvrhování

6. Rozvrhování se statickou prioritou

7. Rozvrhování s dynamickou prioritou

8. Správa sdílených zdrojů v systémech reálného času

9. Kombinování real-time a běžných úloh

10. Vývoj bezpečnostně-kritického (safety-critical) aplikací, standardy pro funkční bezpečnost, úroveň bezpečnosti (SIL)

11. Techniky pro zvýšení spolehlivosti bezpečnostně kritického softwaru (redundance, kódování, dekompozice)

12. Studie HAZOP, software HAZOP, ukázka aplikace

13. Vícejádrové systémy a reálný čas, přehled RTOS

Osnova cvičení:

1. Základy VxWorks IDE: tvorba aplikaci, simulátor VxWorks, přístup k dokumentaci, ladění

2. VxWorks API: Mutexy, semafory

3. VxWorks API: Real-Time procesy a sdílená paměť

4. Blokování na mutexu, dědění priorit

5. Cyklická exekutiva, měření doby běhu (WCET)

6. Měření latence rozvrhovače

7. Měření latence při komunikaci po Ethernetu

8. Semestrální práce - distribuované řízení motoru v reálném čase (steer-by-wire) + vizualizace pomocí vestavěného web serveru

Cíle studia:
Studijní materiály:

Buttazzo, Giorgio C, Hard Real-Time Computing Systems, Predictable Scheduling Algorithms and Applications, Springer, 2011

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

Redmill F., Morris Ch. et al, System Safety: HAZOP and Software HAZOP, Wiley, April 1999

Poznámka:
Další informace:
https://wiki.control.fel.cvut.cz/psr/
Rozvrh na zimní semestr 2023/2024:
Rozvrh není připraven
Rozvrh na letní semestr 2023/2024:
Rozvrh není připraven
Předmět je součástí následujících studijních plánů:
Platnost dat k 27. 3. 2024
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/cs/predmet4670306.html