Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (S2)

Sylabus przedmiotu Systemy czasu rzeczywistego:

Informacje podstawowe

Kierunek studiów Informatyka
Forma studiów studia stacjonarne Poziom drugiego stopnia
Tytuł zawodowy absolwenta magister inżynier
Obszary studiów charakterystyki PRK, kompetencje inżynierskie PRK
Profil ogólnoakademicki
Moduł
Przedmiot Systemy czasu rzeczywistego
Specjalność Projektowanie oprogramowania
Jednostka prowadząca Katedra Architektury Komputerów i Telekomunikacji
Nauczyciel odpowiedzialny Remigiusz Olejnik <Remigiusz.Olejnik@zut.edu.pl>
Inni nauczyciele Piotr Dziurzański <Piotr.Dziurzanski@zut.edu.pl>, Mirosław Łazoryszczak <Miroslaw.Lazoryszczak@zut.edu.pl>
ECTS (planowane) 4,0 ECTS (formy) 4,0
Forma zaliczenia zaliczenie Język polski
Blok obieralny Grupa obieralna

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
wykładyW2 30 2,00,50zaliczenie
laboratoriaL2 30 2,00,50zaliczenie

Wymagania wstępne

KODWymaganie wstępne
W-1Znajomość podstaw budowy i działania systemów wbudowanych.
W-2Znajomość podstaw działania systemów operacyjnych.
W-3Umiejętność programowania w języku C++/Java.

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Nabycie umiejętności projektowania i programowania systemów czasu rzeczywistego.

Treści programowe z podziałem na formy zajęć

KODTreść programowaGodziny
laboratoria
T-L-1Podstawy FreeRTOS API2
T-L-2Tworzenie zadań okresowych oraz zadań z różnymi priorytetami w systemie FreeRTOS2
T-L-3Gwarantowanie poprawności czasowej w systemach ze statycznym planistą2
T-L-4Symulacja kolejkowania wieloprocesorowego (z SimSo)2
T-L-5Tworzenie wątków i kolejkowanie w Real-Time Java2
T-L-6Synchronizacja wątków w Real-Time Java2
T-L-7Programowanie z wykorzystaniem Real-time Clock API2
T-L-8Programowanie wątków asynchronicznych w Real-Time Java2
T-L-9Wykorzystanie narzędzi Java RTS2
T-L-10Projekt i implementacja projektu w Java RTS10
T-L-11Zaliczenie laboratoriów2
30
wykłady
T-W-1Podstawowe zagadnienia systemów czasu rzeczywistego2
T-W-2Podstawowe cechy systemu Real-Time Linux2
T-W-3Wprowadzenie do systemów operacyjnych czasu rzeczywistego na przykładzie FreeRTOS2
T-W-4Architektura maszyny wirtualnej Real-time Java4
T-W-5Programowanie sytemów czasu rzeczywistego w Real-time Java4
T-W-6Kolejkowanie statyczne2
T-W-7Kolejkowanie dynamiczne2
T-W-8Kolejkowanie zadań asynchronicznych1
T-W-9Kolejkowanie w systemach wielordzeniowych1
T-W-10Niezawodność systemów czasu rzeczywistego2
T-W-11Projektowanie systemów czasu rzeczywistego2
T-W-12Przykłady zastosowań systemów czasu rzeczywistego4
T-W-13Zaliczenie wykładu2
30

Obciążenie pracą studenta - formy aktywności

KODForma aktywnościGodziny
laboratoria
A-L-1Uczestnictwo w zajęciach30
A-L-2Przygotowanie do zajęć6
A-L-3Udział w zaliczeniu i konsultacjach4
A-L-4Praca indywidualna nad projektem końcowym10
50
wykłady
A-W-1Uczestnictwo w zajęciach30
A-W-2Przygotowanie do zajęć18
A-W-3Konsultacje2
50

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1Wykład informacyjny
M-2Wykład problemowy
M-3Metoda przypadków
M-4Ćwiczenia laboratoryjne
M-5Projekt

Sposoby oceny

KODSposób oceny
S-1Ocena podsumowująca: Obrona projektu
S-2Ocena podsumowująca: Kolokwium
S-3Ocena podsumowująca: Obrona napisanych programów

Zamierzone efekty uczenia się - wiedza

Zamierzone efekty uczenia sięOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_2A_D02.05_W01
Student rozumie specyfikę systemów operacyjnych czasu rzeczywistego, w szczególności zna techniki analizy czasowej oraz rozumie ich rolę i ograniczenia.
I_2A_W02, I_2A_W03C-1T-W-7, T-W-9, T-W-13, T-W-3, T-W-11, T-W-8, T-W-5, T-W-6, T-W-4, T-W-10, T-W-2, T-W-12, T-W-1M-2, M-3, M-1S-2

Zamierzone efekty uczenia się - umiejętności

Zamierzone efekty uczenia sięOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_2A_D02.05_U01
Student potrafi programować systemy operacyjne czasu rzeczywistego w języku C/C++ oraz z wykorzystaniem Real-Time Java
I_2A_U09C-1T-L-3, T-L-4, T-L-7, T-L-11, T-L-1, T-L-9, T-L-2, T-L-10, T-L-5, T-L-8, T-L-6M-5, M-4, M-3S-1, S-3

Kryterium oceny - wiedza

Efekt uczenia sięOcenaKryterium oceny
I_2A_D02.05_W01
Student rozumie specyfikę systemów operacyjnych czasu rzeczywistego, w szczególności zna techniki analizy czasowej oraz rozumie ich rolę i ograniczenia.
2,0nie spełnia wymogów na ocenę 3,0.
3,0zna podstawowe aspekty kolejkowania statycznego systemów RT oraz podstawy API FreeRTOS.
3,5jak na ocenę 3,0 oraz zna podstawy API Java RT.
4,0jak na ocenę 3,5 oraz potrafi wyjaśnić różnice między tradycyjną maszyną wirtualną Javy a jej odpowiednikiem pracującym pod rygorem czasu rzeczywistego.
4,5jak na ocenę 4,0 oraz zna zasady zwiększania niezawodności systemów RT.
5,0jak na ocenę 4,5 oraz zna zasady analizy czasowej skomplikowanego zestawu zadań RT.

Kryterium oceny - umiejętności

Efekt uczenia sięOcenaKryterium oceny
I_2A_D02.05_U01
Student potrafi programować systemy operacyjne czasu rzeczywistego w języku C/C++ oraz z wykorzystaniem Real-Time Java
2,0nie spełnia wymogów na ocenę 3,0.
3,0potrafi tworzyć zadania RT w systemie FreeRTOS oraz dokonać analizy czasowej kolejkowania statycznego.
3,5jak na ocenę 3,0, a także potrafi tworzyć zadania RT w Java RT.
4,0jak na ocenę 3,5 oraz potrafi wykorzystać Real-time Clock API oraz programować wątki asynchroniczne w Java RT.
4,5jak na ocenę 4,0 oraz potrafi pisać programy w Java RT w sposób zwiększający ich niezawodność.
5,0jak na ocenę 4,5 oraz potrafi dokonać analizy czasowej skomplikowanego zestawu zadań RT.

Literatura podstawowa

  1. Alan Burns, Andy Wellings, Real-Time Systems and Programming Languages, Addison Wesley, 2009, 4
  2. M. Teresa Higuera-Toledano, Andy J. Wellings, Distributed, Embedded and Real-time Java Systems, Springer, 2012
  3. Eric J. Bruno, Greg Bollella, Real-Time Java Programming: With Java RTS, Prentice Hall, 2009

Literatura dodatkowa

  1. Hermann Kopetz, Real-Time Systems: Design Principles for Distributed Embedded Applications, Springer, 2011
  2. Alan Burns, Andy Wellings, Concurrent and Real-Time Programing in Ada, Cambridge University Press, 2007
  3. Andy Wellings, Concurrent and Real-Time Programming in Java, Wiley, 2004

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Podstawy FreeRTOS API2
T-L-2Tworzenie zadań okresowych oraz zadań z różnymi priorytetami w systemie FreeRTOS2
T-L-3Gwarantowanie poprawności czasowej w systemach ze statycznym planistą2
T-L-4Symulacja kolejkowania wieloprocesorowego (z SimSo)2
T-L-5Tworzenie wątków i kolejkowanie w Real-Time Java2
T-L-6Synchronizacja wątków w Real-Time Java2
T-L-7Programowanie z wykorzystaniem Real-time Clock API2
T-L-8Programowanie wątków asynchronicznych w Real-Time Java2
T-L-9Wykorzystanie narzędzi Java RTS2
T-L-10Projekt i implementacja projektu w Java RTS10
T-L-11Zaliczenie laboratoriów2
30

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Podstawowe zagadnienia systemów czasu rzeczywistego2
T-W-2Podstawowe cechy systemu Real-Time Linux2
T-W-3Wprowadzenie do systemów operacyjnych czasu rzeczywistego na przykładzie FreeRTOS2
T-W-4Architektura maszyny wirtualnej Real-time Java4
T-W-5Programowanie sytemów czasu rzeczywistego w Real-time Java4
T-W-6Kolejkowanie statyczne2
T-W-7Kolejkowanie dynamiczne2
T-W-8Kolejkowanie zadań asynchronicznych1
T-W-9Kolejkowanie w systemach wielordzeniowych1
T-W-10Niezawodność systemów czasu rzeczywistego2
T-W-11Projektowanie systemów czasu rzeczywistego2
T-W-12Przykłady zastosowań systemów czasu rzeczywistego4
T-W-13Zaliczenie wykładu2
30

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1Uczestnictwo w zajęciach30
A-L-2Przygotowanie do zajęć6
A-L-3Udział w zaliczeniu i konsultacjach4
A-L-4Praca indywidualna nad projektem końcowym10
50
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1Uczestnictwo w zajęciach30
A-W-2Przygotowanie do zajęć18
A-W-3Konsultacje2
50
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięI_2A_D02.05_W01Student rozumie specyfikę systemów operacyjnych czasu rzeczywistego, w szczególności zna techniki analizy czasowej oraz rozumie ich rolę i ograniczenia.
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_W02Ma wiedzę z zakresu zaawansowanych technik programowania systemów informatycznych w wybranym obszarze zastosowań
I_2A_W03Ma uporządkowaną, podbudowaną metodycznie i teoretycznie wiedzę w zakresie metod i technik projektowania systemów informatycznych
Cel przedmiotuC-1Nabycie umiejętności projektowania i programowania systemów czasu rzeczywistego.
Treści programoweT-W-7Kolejkowanie dynamiczne
T-W-9Kolejkowanie w systemach wielordzeniowych
T-W-13Zaliczenie wykładu
T-W-3Wprowadzenie do systemów operacyjnych czasu rzeczywistego na przykładzie FreeRTOS
T-W-11Projektowanie systemów czasu rzeczywistego
T-W-8Kolejkowanie zadań asynchronicznych
T-W-5Programowanie sytemów czasu rzeczywistego w Real-time Java
T-W-6Kolejkowanie statyczne
T-W-4Architektura maszyny wirtualnej Real-time Java
T-W-10Niezawodność systemów czasu rzeczywistego
T-W-2Podstawowe cechy systemu Real-Time Linux
T-W-12Przykłady zastosowań systemów czasu rzeczywistego
T-W-1Podstawowe zagadnienia systemów czasu rzeczywistego
Metody nauczaniaM-2Wykład problemowy
M-3Metoda przypadków
M-1Wykład informacyjny
Sposób ocenyS-2Ocena podsumowująca: Kolokwium
Kryteria ocenyOcenaKryterium oceny
2,0nie spełnia wymogów na ocenę 3,0.
3,0zna podstawowe aspekty kolejkowania statycznego systemów RT oraz podstawy API FreeRTOS.
3,5jak na ocenę 3,0 oraz zna podstawy API Java RT.
4,0jak na ocenę 3,5 oraz potrafi wyjaśnić różnice między tradycyjną maszyną wirtualną Javy a jej odpowiednikiem pracującym pod rygorem czasu rzeczywistego.
4,5jak na ocenę 4,0 oraz zna zasady zwiększania niezawodności systemów RT.
5,0jak na ocenę 4,5 oraz zna zasady analizy czasowej skomplikowanego zestawu zadań RT.
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięI_2A_D02.05_U01Student potrafi programować systemy operacyjne czasu rzeczywistego w języku C/C++ oraz z wykorzystaniem Real-Time Java
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_U09Ma umiejętność stosowania zaawansowanych technik programowania i metodyki projektowania systemów informatycznych w wybranym obszarze zastosowań
Cel przedmiotuC-1Nabycie umiejętności projektowania i programowania systemów czasu rzeczywistego.
Treści programoweT-L-3Gwarantowanie poprawności czasowej w systemach ze statycznym planistą
T-L-4Symulacja kolejkowania wieloprocesorowego (z SimSo)
T-L-7Programowanie z wykorzystaniem Real-time Clock API
T-L-11Zaliczenie laboratoriów
T-L-1Podstawy FreeRTOS API
T-L-9Wykorzystanie narzędzi Java RTS
T-L-2Tworzenie zadań okresowych oraz zadań z różnymi priorytetami w systemie FreeRTOS
T-L-10Projekt i implementacja projektu w Java RTS
T-L-5Tworzenie wątków i kolejkowanie w Real-Time Java
T-L-8Programowanie wątków asynchronicznych w Real-Time Java
T-L-6Synchronizacja wątków w Real-Time Java
Metody nauczaniaM-5Projekt
M-4Ćwiczenia laboratoryjne
M-3Metoda przypadków
Sposób ocenyS-1Ocena podsumowująca: Obrona projektu
S-3Ocena podsumowująca: Obrona napisanych programów
Kryteria ocenyOcenaKryterium oceny
2,0nie spełnia wymogów na ocenę 3,0.
3,0potrafi tworzyć zadania RT w systemie FreeRTOS oraz dokonać analizy czasowej kolejkowania statycznego.
3,5jak na ocenę 3,0, a także potrafi tworzyć zadania RT w Java RT.
4,0jak na ocenę 3,5 oraz potrafi wykorzystać Real-time Clock API oraz programować wątki asynchroniczne w Java RT.
4,5jak na ocenę 4,0 oraz potrafi pisać programy w Java RT w sposób zwiększający ich niezawodność.
5,0jak na ocenę 4,5 oraz potrafi dokonać analizy czasowej skomplikowanego zestawu zadań RT.