Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Systemy czasu rzeczywistego
Tok studiów:
2019/2020
Kod:
EELT-2-204-IE-s
Wydział:
Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej
Poziom studiów:
Studia II stopnia
Specjalność:
Inżynieria elektryczna w pojazdach samochodowych
Kierunek:
Elektrotechnika
Semestr:
2
Profil:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma studiów:
Stacjonarne
Strona www:
 
Prowadzący moduł:
Szmuc Tomasz (tsz@agh.edu.pl)
Treści programowe zapewniające uzyskanie efektów uczenia się dla modułu zajęć

Celem modułu jest przekazanie wiedzy nt. projektowania i implementacji systemów czasu rzeczywistego, w szczególności dotyczących współbieżności, szeregowania i bezpieczeństwa.

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 Zna podstawowe cechy systemów czasu rzeczywistego ELT2A_W06, ELT2A_W04 Kolokwium
M_W002 Zna podstawowe właściwości systemów operacyjnych czasu rzeczywistego ELT2A_W06, ELT2A_W04 Kolokwium
Umiejętności: potrafi
M_U001 Potrafi modelować podstawowe struktury systemów czasu rzeczywistego ELT2A_U10, ELT2A_U06 Kolokwium
M_U002 Potrafi w zakresie podstawowym programować systemy czasu rzeczywistego ELT2A_U10, ELT2A_U11, ELT2A_U06 Sprawozdanie
Kompetencje społeczne: jest gotów do
M_K001 Student rozumie potrzebę i zna możliwości ciągłego dokształcania się oraz podnoszenia swoich kompetencji zawodowych ELT2A_K02 Aktywność na zajęciach
M_K002 Student ma świadomość ważności i rozumie pozatechniczne aspekty i skutki działalności inżyniera – elektryka, w tym jej wpływ na środowisko, i związaną z tym odpowiedzialność za podejmowane decyzje ELT2A_K02 Zaangażowanie w pracę zespołu
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
48 28 0 20 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 Zna podstawowe cechy systemów czasu rzeczywistego + - - - - - - - - - -
M_W002 Zna podstawowe właściwości systemów operacyjnych czasu rzeczywistego + - - - - - - - - - -
Umiejętności
M_U001 Potrafi modelować podstawowe struktury systemów czasu rzeczywistego + - + - - - - - - - -
M_U002 Potrafi w zakresie podstawowym programować systemy czasu rzeczywistego - - + - - - - - - - -
Kompetencje społeczne
M_K001 Student rozumie potrzebę i zna możliwości ciągłego dokształcania się oraz podnoszenia swoich kompetencji zawodowych + - - - - - - - - - -
M_K002 Student ma świadomość ważności i rozumie pozatechniczne aspekty i skutki działalności inżyniera – elektryka, w tym jej wpływ na środowisko, i związaną z tym odpowiedzialność za podejmowane decyzje + - + - - - - - - - -
Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 88 godz
Punkty ECTS za moduł 3 ECTS
Udział w zajęciach dydaktycznych/praktyka 48 godz
Przygotowanie do zajęć 10 godz
przygotowanie projektu, prezentacji, pracy pisemnej, sprawozdania 15 godz
Samodzielne studiowanie tematyki zajęć 15 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 (28h):
  1. Charakterystyka systemów czasu rzeczywistego (3 godz) Podstawowe cechy i klasy systemów czasu rzeczywistego. Problemy procesu wytwarzania. Zagadnienia programowania systemów czasu rzeczywistego.
  2. Modelowanie systemów czasu rzeczywistego (9 godz)

    Modelowanie architektury a modelowanie obiektowe.
    Język opisu architektury AADL (Architecture Analysis and Design Language)

    • Pojęcie komponentu i jego zakres
    • Implementacja komponentu
    • Komponenty oprogramowania: data, thread, thread group, process, subprogram, subprogram group
    • Komponenty sprzętu: processor, virtual processor, bus, virtual bus, device
    • Integracja – komponent system
      Łączenie oprogramowania i specyfikacji sprzętu.

  3. Systemy operacyjne czasu rzeczywistego (6 godz)

    Podstawowe funkcje systemów operacyjnych czasu rzeczywistego.
    Standard POSIX.
    System RT Linux.
    FreeRTOS.

  4. Programowanie systemów czasu rzeczywistego C/C++ (4 godz)

    Dostęp do rejestrów
    Programowanie obsługi przerwań
    Programowanie mechanizmów czasowych
    Wybrane szablony RT

  5. Podstawowe aspekty programowania systemów czasu rzeczywistego (6 godz)

    Zarządzanie współbieżnością
    Szeregowanie zadań
    Zarządzanie zasobami. Inwersja priorytetów i sposoby usuwania
    Zapewnianie bezpieczeństwa i niezawodności

Ćwiczenia laboratoryjne (20h):
  1. Wprowadzenie do modelowania w języku AADL (6 godz)

    Wprowadzenie do środowiska OSATE
    Modelowanie przykładowych komponentów oprogramowania
    Proste ćwiczenia łączenia architektury (AADL) z kodem w C/C++. Modelowanie i analiza

  2. Modelowanie systemu w języku AADL (14 godz)

    Opis i analiza wymagań systemu
    Modelowanie komponentów oprogramowania i ich implementacji
    Uściślanie modeli i włączanie modułów programów
    Modelowanie komponentów sprzętowych
    Modelowanie i analiza reguł współbieżności wątków
    Modelowanie charakterystyk czasowych i analiza czasu odpowiedzi z zastosowaniem pakietów pomocniczych
    Opracowanie dokumentacji ćwiczenia

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:

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:

Ocena końcowa jest równa ocenie zaliczenia z laboratorium uzyskanego w pierwszym terminie. W przypadku nieuzyskania zaliczenia w pierwszym terminie obliczana jest średnia z uwzględnieniem oceny niedostatecznej.

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

Wymagania wstępne i dodatkowe, z uwzględnieniem sekwencyjności modułów :

Umiejętność programowania C/C++ na poziomie podstawowym
Znajomość podstawowych pojęć inżynierii oprogramowania

Zalecana literatura i pomoce naukowe:
  1. Bismor D.: Programowanie systemów sterowania. Narzędzia i metody. WNT, 2009
  2. Peter H. Feiler, David P. Gluch: Model-Based Engineering using AADL. An Introduction to the SAE Archtecture Analysis & Design Language, Edisson-Wesley, 2012
  3. Kopetz H.: Real-Time Systems. Design Priciples for Distributed Embedded Applications. Second Edition. Springer 2011
  4. Lal K., T. Rak: RT Linux – system czasu rzeczywistego. Helion 2003
  5. Szymczyk P.: Systemy operacyjne czasu rzeczywistego. Wydawnictwo AGH. 2003
Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:
  1. Motet G., Szmuc T.: Programowanie systemów czasu rzeczywistego z zastosowaniem języka Ada. Wydawnictwo naukowo-Dydaktyczne AGH, 2002
  2. Szmuc T.: Modele i Metody Inżynierii Oprogramowania Systemów Czasu Rzeczywistego, Wydawnictwa Naukowo-Dydaktyczne AGH, 2001
Informacje dodatkowe:

Brak