Real-time systémy
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
MI-RTS | Z,ZK | 4 | 2+1 | česky |
- Přednášející:
- Cvičící:
- Předmět zajišťuje:
- katedra číslicového návrhu
- Anotace:
-
Ekonomická hodnota programovaných systémů reálného času není v rychlosti odezvy jako je tomu u reaktivních systémů uspořádaných často v třívrstvé architektuře v globální síti, ale ve spolehlivosti obsloužení všech procesů v daném časovém limitu. To vyžaduje jiné přístupy, jiná řešení a jiné modelovací, simulační a programovací techniky. Nejde o rychlost reakce směrem k uživateli, ale o spolehlivost vykonání všech úloh k určitému termínu. Nebudou-li všechny úlohy k termínu vykonány, loď se potopí, provoz jaderné elektrárny bude ohrožen, letadlo či kosmická loď se dostanou do potíží, obchod na burze se zhroutí. Přitom termíny jsou od milisekund až po hodiny a dny, a kdyby byl programován i náš život, pak by to byly jistě i roky. Jde o to uhlídat časově náročné úlohy, stihnout přísné termíny, vyhnout se deadlockům, starvationům, inverzím priorit.
Přednášková dema a cvičení budou probíhat na software Java RT for Solaris 10.0 a na software IBM podporujícím koncept CADP (Construction and Analysis of Disributed Processes), který se uplatňuje v aplikacích od návrhu programovatelných zákaznických obvodů, přes robotiku (Aldebaran) až po projekt Open Cloudware.
- Požadavky:
- Osnova přednášek:
-
1. Architektura, chování, komunikace, data
2. Vývojový cyklus, simulace
3. Realtimová vlákna, realtimová vlákna bez přístupu k heapu
4. Synchronizace vláken
5. Plánování s prioritami a s deadliny
6. Rate monotonic analysis
7. Plánování, plánovač, parametry plánování (periodické, prioritní)
9. Ošetření asynchronních událostí, asynchronní přerušení
8. Dynamická tvorba procesů
10. Implementační integrace
11. Přístup k paměti, heap, zónování paměťi, přístup k fyzické paměti, trvalá paměť
12. Hodiny, časovače
13. Různé implementační strategie
- Osnova cvičení:
-
1. Cvičný projekt, simulace a explorace, targeting
2. Seznámení s prostředím RTSJ, návrh RT vlákna, synchronizace mezi vlákny
3. Schedule Control Machine, simulace plánovacích algoritmů
4. Návrh periodické úlohy s asynchronním přerušením
5. Přidělování a uvolňování stavového prostoru, bare integration
6. Využití různých typů paměti, práce se zónovanou (scoped) pamětí
7. Translační schema RT Java a SDL
- Cíle studia:
-
Poskytnout studentům vlastní zkušenost s plánováním úloh, správou paměti a systémových zdrojů. Seznámit studenty s praktickým systémem pro vývoj realtimových systému na vysokém stupni abstrakce. Studenti se seznámí s fundamentálními plánovacími algoritmy, namodelují si je a odsimulují. Seznámí se s různými druhy implementačních strategií a s různými technikami přidělování a uvolňování stavového prostoru. Dále se seznámí s variantou jazyka Java pro vývoj realtimových aplikací (Real-Time Specification for Java - RTSJ). Předmět je vhodný pro studenty oborů Projektování číslicových systémů, Systémové programování, Teoretická informatika i Softwarové inženýrství, protože jde o typickou provázanost hardwaru a softwaru s ohledem na specifika konkrétních aplikací.
- Studijní materiály:
-
Real-Time Java Programming: With Java RTS, Eric J. Bruno, Greg Bollella
Real-Time Java Platform Programming: Second Edition, Dr. Peter C Dibble
Real-Time Specification for Java
TTCN and SDL Suite 6.3 methodology and documentation (součást použitého software )
Object Modelling Techniques, Jacobson, Rumbaugh, Booch
KLÍČOVÁ SLOVA
Real-Time Specification for Java - RTSJ, SDL, paralelní více-vláknové programování, systémy reálného času
- Poznámka:
- Další informace:
- Pro tento předmět se rozvrh nepřipravuje
- Předmět je součástí následujících studijních plánů: