Systemy czasu rzeczywistego

RSS

Cel przedmiotu

Wykształcenie umiejętności i kompetencji w obszarze programowania systemów czasu rzeczywistego (wbudowanych); podnoszenia niezawodności tych systemów oraz rozumienia roli procesu wytwarzania i dokumentowania.

Program wykładu

Specyfika systemów czasu rzeczywistego. Sprzęt (mikrokontrolery) i architektury systemów wbudowanych. Systemy operacyjne czasu rzeczywistego. (Mikro)jądro systemu i warstwy wewnętrzne. Środowiska wytwarzania. Metodyki obiektowe specjalizowane dla systemów czasu rzeczywistego: ROPES i HRT-HOOD. Podstawowe elementy metodyki ROPES. Wzorce projektowe dla oprogramowania systemów czasu rzeczywistego: architektura, współbieżność, zarządzanie pamięcią, zarządzanie zasobami, rozproszenie, bezpieczeństwo i niezawodność. Programowanie systemów czasu rzeczywistego z zastosowaniem język C i Ada2006. Programowanie współbieżne. Wyjątki: deklarowanie, zgłaszanie, obsługa i propagacja. Programowanie systemów czasu rzeczywistego: uwarunkowania czasowe, obsługa przerwań. Priorytety, strategie szeregowania zadań, analiza czasu odpowiedzi. Projektowanie niezawodnego oprogramowania. Procesy wytwarzania i rola metod formalnych.

Charakterystyka pozostałych zajęć

W trakcie zajęć laboratoryjnych realizowane są przykłady aplikacji (oprogramowanie) systemów czasu rzeczywistego. Główny nacisk położony jest na systematyczne realizacje˛ procesu pocza˛wszy od analizy wymagań przez projekt i implementację. Liczność zespołu (zazwyczaj 2-4 osób) zależy od wielkości aplikacji. W laboratorium studenci korzystają z odpowiednich środowisk wspomagających proces wytwarzania.

Bibliografia

1. Barnes J.: Programming in Ada 2005 Addison-Wesley/Prentice-Hall, 2006
2. Borkowski P. AVR i ARM7. Programowanie mikrokontrolerów dla każdego. Helion 2010
3. Douglass B.P.: Real-Time Design Patterns. Robust. Scalable Architecture for R-T Systems. Adds.- Wsl., 2003
4. Douglass B.P.: Real Time UML Third Edition. Advances in the UML for Real-Time Systems. Adds.-Wsl., 2004
5. Lal K., T. Rak: RT Linux – system czasu rzeczywistego. Helion 2003

Wszelkie prawa zastrzeżone © 2010 Katedra Informatyki   |   Akademia Górniczno-Hutnicza   |   Realizacja Creative Bastards