Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Systemy czasu rzeczywistego
Tok studiów:
2019/2020
Kod:
RAIR-1-603-s
Wydział:
Inżynierii Mechanicznej i Robotyki
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Automatyka i Robotyka
Semestr:
6
Profil:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma studiów:
Stacjonarne
Strona www:
 
Prowadzący moduł:
dr hab. inż. Barszcz Tomasz (tbarszcz@agh.edu.pl)
Treści programowe zapewniające uzyskanie efektów uczenia się dla modułu zajęć

Moduł obejmuje zagadnienia z zakresu systemów RTOS, które muszą gwarantować odpowiedź w maksymalnym zadeklarowanym czasie. Obejmuje podstawy teoretyczne, zastosowania oraz przykłady programowe.

Opis efektów uczenia się dla modułu zajęć
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Powiązania z KEU Sposób weryfikacji i oceny efektów uczenia się osiągniętych przez studenta w ramach poszczególnych form zajęć i dla całego modułu zajęć
Wiedza: zna i rozumie
M_W001 ma podstawową wiedzę w zakresie samodzielnego formułowania i rozwiązywania zadań z informatyki występujących w układach automatyki i robotyki AIR1A_W12 Aktywność na zajęciach,
Wykonanie projektu
M_W002 ma podstawową wiedzę w zakresie architektury, funkcjonowania i programowania aplikacji w systemach czasu rzeczywistego AIR1A_W12 Aktywność na zajęciach,
Wykonanie ćwiczeń laboratoryjnych,
Wynik testu zaliczeniowego
M_W003 potrafi samodzielnie znaleźć materiały naukowe niezbędne do indywidualnego rozwiązania zagadnienia projektowego AIR1A_U04 Wykonanie projektu
Umiejętności: potrafi
M_U001 potrafi samodzielnie przygotować opracowanie rozwiązania wybranego zagadnienie projektowego AIR1A_U09 Wykonanie projektu
M_U002 potrafi dostrzegać konieczność stosowania systemów czasu rzeczywistego jak również niebezpieczeństwo ich niestosowania w miejscach, gdzie stosowane być powinny AIR1A_U12 Udział w dyskusji,
Wynik testu zaliczeniowego
Kompetencje społeczne: jest gotów do
M_K001 zdaje sobie sprawę z potrzeby wnikliwej znajomości architektury oraz funkcjonowania systemów czasu rzeczywistego potrzebnych do spełnienia wymogów niezawodności i bezpieczeństwa (np. SIL) AIR1A_K03, AIR1A_K01 Wynik testu zaliczeniowego
M_K002 zdaje sobie sprawę z bezpośredniego wpływu działania aplikacji tworzonych w systemach czasu rzeczywistego na życie ludzkie w wielu obszarach zastosowań (transport, urządzenia sterujące, komputery pokładowe) oraz na bezpieczeństwo finansowe (transfery bankowe, obsługa kart płatniczych, itd.) AIR1A_K02, AIR1A_K01 Aktywność na zajęciach,
Udział w dyskusji,
Wykonanie projektu
Liczba godzin zajęć w ramach poszczególnych form zajęć:
SUMA (godz.)
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
28 14 0 14 0 0 0 0 0 0 0 0
Matryca kierunkowych efektów uczenia się w odniesieniu do form zajęć i sposobu zaliczenia, które pozwalają na ich uzyskanie
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Forma zajęć dydaktycznych
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
Wiedza
M_W001 ma podstawową wiedzę w zakresie samodzielnego formułowania i rozwiązywania zadań z informatyki występujących w układach automatyki i robotyki + - - - - - - - - - -
M_W002 ma podstawową wiedzę w zakresie architektury, funkcjonowania i programowania aplikacji w systemach czasu rzeczywistego + - - - - - - - - - -
M_W003 potrafi samodzielnie znaleźć materiały naukowe niezbędne do indywidualnego rozwiązania zagadnienia projektowego + - - - - - - - - - -
Umiejętności
M_U001 potrafi samodzielnie przygotować opracowanie rozwiązania wybranego zagadnienie projektowego - - + - - - - - - - -
M_U002 potrafi dostrzegać konieczność stosowania systemów czasu rzeczywistego jak również niebezpieczeństwo ich niestosowania w miejscach, gdzie stosowane być powinny - - + - - - - - - - -
Kompetencje społeczne
M_K001 zdaje sobie sprawę z potrzeby wnikliwej znajomości architektury oraz funkcjonowania systemów czasu rzeczywistego potrzebnych do spełnienia wymogów niezawodności i bezpieczeństwa (np. SIL) + - - - - - - - - - -
M_K002 zdaje sobie sprawę z bezpośredniego wpływu działania aplikacji tworzonych w systemach czasu rzeczywistego na życie ludzkie w wielu obszarach zastosowań (transport, urządzenia sterujące, komputery pokładowe) oraz na bezpieczeństwo finansowe (transfery bankowe, obsługa kart płatniczych, itd.) + - - - - - - - - - -
Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 82 godz
Punkty ECTS za moduł 3 ECTS
Udział w zajęciach dydaktycznych/praktyka 28 godz
Przygotowanie do zajęć 30 godz
Samodzielne studiowanie tematyki zajęć 20 godz
Egzamin lub kolokwium zaliczeniowe 2 godz
Dodatkowe godziny kontaktowe 2 godz
Szczegółowe treści kształcenia w ramach poszczególnych form zajęć (szczegółowy program wykładów i pozostałych zajęć)
Wykład (14h):
  1. Wstęp do systemów czasu rzeczywistego

    Niezawodnośći i wiarygodność systemów czasu rzeczywistego, podstawowe cechy, standardy POSIX

  2. Architektura systemów czasu rzeczywistego

    Linux, QNX, architektury z mikrojądrem i systemy monolityczne

  3. Podstawy obsługi systemu czasu rzeczywistego

    Instalacja, konfiguracja, podstawowe polecenia, edycja, kompilacja i uruchamianie programów

  4. Procesy i wątki – informacje podstawowe

    Szeregowanie wątków, stany procesów, kolejki, odczyt i zmiana parametrów procesów i wątków

  5. Zarządzanie procesami

    Atrybuty procesów, tworzenie i kończenie procesów

  6. Zarządzanie wątkami

    Atrybuty wątków, tworzenie, łączenie, anulowanie i kończenie wątków

  7. Synchronizacja watków

    wyścigi, wzajemne wykluczanie, muteksy, inwersja priorytetów, sekcja krytyczna, zmienne warunkowe

  8. Komunikacja między procesami

    łącza nazwane i nienazwane, kolejki, komunikaty, socket’y (UDP, TCP)

  9. Komunikaty, semafory i sygnały – informacje podstawowe

    problemy wynikające z braku synchronizacji procesów, klasyczne problemy, podstawowe metody synchronizacji, sekcja krytyczna, zmienna warunkowa

  10. Przerwania, sygnały, sterowanie zależnościami czasowymi

    mechanizm przerwań, zastosowanie do obsługi zdarzeń asynchronicznych; sygnały jako przerwania programowe; standardowe sygnały w standardzie POSIX; sposoby pomiaru czasu, timery i ich wykorzystanie

Ćwiczenia laboratoryjne (14h):
  1. Wstęp, instalacja systemu, podstawowe polecenia systemu

    Instalacja i uruchomienie systemu QNX6 Neutrino

  2. Wprowadzenie do środowiska Momentics

    Instalacja i uruchomienie środowiska Momentics, kompilacja programów

  3. Omówienie zasad tworzenia programów w systemach czasu rzeczywistego

    Omówienie zasad tworzenia oprogramowania w trybie Host-Target

  4. Testowanie i ustawianie atrybutów procesu

    Tworzenie kodu w środowisku Momentics, strategia szeregowania, priorytety

  5. Tworzenie nowych procesów, przekształcanie procesów

    Tworzenie kodu w środowisku Momentics

  6. Obsługa zakończenia i synchronizacji procesów

    Tworzenie kodu w środowisku Momentics, kod powrotu procesu

  7. Ustawianie ograniczeń czasowych na zużycie zasobów

    Tworzenie kodu w środowisku Momentics, testowanie różnych ograniczeń, ograniczenia miękkie i twarde

  8. Tworzenie, łączenie i kończenie wątków

    Tworzenie kodu w środowisku Momentics

  9. Ustalanie atrybutów wątków

    Tworzenie kodu w środowisku Momentics, ustalanie atrybutów wątków przed i po ich utworzeniu

  10. Wyścigi i wzajemne wykluczanie

    Tworzenie kodu w środowisku Momentics, ilustracja wyścigów na przykładach

  11. Muteksy, inwersja priorytetów

    Tworzenie kodu w środowisku Momentics, ilustracja zajmowania i zwalniania muteksów, ustalanie protokołu zajmowania muteksu

  12. Synchronizacja i zmienne warunkowe

    Inicjacja i wykorzystanie zmiennej warunkowej

  13. Niskopoziomowe funkcje dostępu do plików

    Tworzenie kodu w środowisku Momentics, kopiowanie do plików

  14. Łącze nienazwane i nazwane

    Przykłady komunikacji poprzez łącza nazwane i nienazwane

  15. Semafory nazwane i nienazwane, zakleszczenia

    Tworzenie aplikacji, w których dochodzi do zakleszczenia

Pozostałe informacje
Metody i techniki kształcenia:
  • Wykład: Treści prezentowane na wykładzie są przekazywane w formie prezentacji multimedialnej w połączeniu z klasycznym wykładem tablicowym wzbogaconymi o pokazy odnoszące się do prezentowanych zagadnień.
  • Ćwiczenia laboratoryjne: W trakcie zajęć laboratoryjnych studenci samodzielnie rozwiązują zadany problem praktyczny, dobierając odpowiednie narzędzia. Prowadzący stymuluje grupę do refleksji nad problemem, tak by otrzymane wyniki miały wysoką wartość merytoryczną.
Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:

Zaliczenie wszystkich zadań z ćwiczeń laboratoryjnych

Zasady udziału w zajęciach:
  • Wykład:
    – Obecność obowiązkowa: Nie
    – Zasady udziału w zajęciach: Studenci uczestniczą w zajęciach poznając kolejne treści nauczania zgodnie z syllabusem przedmiotu. Studenci winni na bieżąco zadawać pytania i wyjaśniać wątpliwości. Rejestracja audiowizualna wykładu wymaga zgody prowadzącego.
  • Ćwiczenia laboratoryjne:
    – Obecność obowiązkowa: Tak
    – Zasady udziału w zajęciach: Studenci wykonują ćwiczenia laboratoryjne zgodnie z materiałami udostępnionymi przez prowadzącego. Student jest zobowiązany do przygotowania się w przedmiocie wykonywanego ćwiczenia, co może zostać zweryfikowane kolokwium w formie ustnej lub pisemnej. Zaliczenie zajęć odbywa się na podstawie zaprezentowania rozwiązania postawionego problemu. Zaliczenie modułu jest możliwe po zaliczeniu wszystkich zajęć laboratoryjnych.
Sposób obliczania oceny końcowej:

Średnia arytmetyczna ocen z ćwiczeń laboratoryjnych oraz testu końcowego

Sposób i tryb wyrównywania zaległości powstałych wskutek nieobecności studenta na zajęciach:

Wykonanie zadań z ćwiczeń laboratoryjnych, na których student był nieobecny na następnych zajęciach lub w innym terminie w uzgodnieniu z prowadzącym zajęcia

Wymagania wstępne i dodatkowe, z uwzględnieniem sekwencyjności modułów :
  • Znajomość podstaw języka C
  • Podstawy architektury komputerów
Zalecana literatura i pomoce naukowe:
  1. Ułasiewicz J.: Systemy czasu rzeczywistego QNX 6 Neutrino, btc 2007.
  2. Sacha K.: Systemy czasu rzeczywistego. Warszawa, Oficyna Wyd. PW, 1999.
  3. Lal K., Rak T., Orkisz K., RTLinux – system czasu rzeczywistego. Gliwice, Helion, 2003.
  4. Kolnick F., The QNX 4 Real-time Operating System. Basis Computer Systems, 2000.
Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

Informatyczne aspekty projektowania systemów monitorowania stanu maszyn – sprzęt i oprogramowanie — Computer engineering problems in design and implementation of monitoring system – hardware and software / Tadeusz UHL, Tomasz BARSZCZ // Diagnostyka / Polskie Towarzystwo Diagnostyki Technicznej ; ISSN 1641-6414. — 2001 vol. 24 s. 13–22
Modułowy system diagnostyczny AIDA II w eksploatacji urządzeń energetyki — AIDA II module diagnostic system in the power equipment operation / Tomasz BARSZCZ // Energetyka (Warszawa) / Centralny Zarząd Energetyki, Stowarzyszenie Elektryków Polskich ; ISSN 0013-7294. — 2001 nr 6 s. 296–301
Systemy monitorowania i diagnostyki maszyn — [Monitoring and diagnostics systems for machinery] / Tomasz BARSZCZ. — Kraków : Wydawnictwo Instytutu Technologii Eksploatacji – PIB, 2006

Informacje dodatkowe:

Brak