Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (N2)
specjalność: Inteligencja obliczeniowa

Sylabus przedmiotu Systemy czasu rzeczywistego:

Informacje podstawowe

Kierunek studiów Informatyka
Forma studiów studia niestacjonarne 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 Piotr Dziurzański <Piotr.Dziurzanski@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
laboratoriaL4 20 2,00,50zaliczenie
wykładyW4 20 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, kolejkowanie i synchronizacja w Real-Time Java2
T-L-6Programowanie z wykorzystaniem Real-time Clock API2
T-L-7Programowanie wątków asynchronicznych w Real-Time Java2
T-L-8Projekt i implementacja projektu w Java RTS4
T-L-9Zaliczenie laboratoriów2
20
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 Java2
T-W-5Programowanie sytemów czasu rzeczywistego w Real-time Java2
T-W-6Kolejkowanie statyczne i dynamiczne2
T-W-7Kolejkowanie zadań asynchronicznych1
T-W-8Kolejkowanie w systemach wielordzeniowych1
T-W-9Projektowanie i niezawodność systemów czasu rzeczywistego2
T-W-10Przykłady zastosowań systemów czasu rzeczywistego2
T-W-11Zaliczenie wykładu2
20

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

KODForma aktywnościGodziny
laboratoria
A-L-1Przygotowanie do zajęć10
A-L-2Uczestnictwo w zajęciach20
A-L-3Praca indywidualna nad projektem końcowym20
50
wykłady
A-W-1Przygotowanie do zajęć20
A-W-2Uczestnictwo w zajęciach14
A-W-3Przygotowanie do zaliczenia wykładu16
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-1, T-W-2, T-W-3, T-W-4, T-W-5, T-W-6, T-W-7, T-W-8, T-W-9, T-W-10, T-W-11M-1, M-2, M-3S-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-1, T-L-2, T-L-3, T-L-4, T-L-5, T-L-6, T-L-7, T-L-8, T-L-9M-3, M-4, M-5S-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, kolejkowanie i synchronizacja w Real-Time Java2
T-L-6Programowanie z wykorzystaniem Real-time Clock API2
T-L-7Programowanie wątków asynchronicznych w Real-Time Java2
T-L-8Projekt i implementacja projektu w Java RTS4
T-L-9Zaliczenie laboratoriów2
20

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 Java2
T-W-5Programowanie sytemów czasu rzeczywistego w Real-time Java2
T-W-6Kolejkowanie statyczne i dynamiczne2
T-W-7Kolejkowanie zadań asynchronicznych1
T-W-8Kolejkowanie w systemach wielordzeniowych1
T-W-9Projektowanie i niezawodność systemów czasu rzeczywistego2
T-W-10Przykłady zastosowań systemów czasu rzeczywistego2
T-W-11Zaliczenie wykładu2
20

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1Przygotowanie do zajęć10
A-L-2Uczestnictwo w zajęciach20
A-L-3Praca indywidualna nad projektem końcowym20
50
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1Przygotowanie do zajęć20
A-W-2Uczestnictwo w zajęciach14
A-W-3Przygotowanie do zaliczenia wykładu16
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-1Podstawowe zagadnienia systemów czasu rzeczywistego
T-W-2Podstawowe cechy systemu Real-Time Linux
T-W-3Wprowadzenie do systemów operacyjnych czasu rzeczywistego na przykładzie FreeRTOS
T-W-4Architektura maszyny wirtualnej Real-time Java
T-W-5Programowanie sytemów czasu rzeczywistego w Real-time Java
T-W-6Kolejkowanie statyczne i dynamiczne
T-W-7Kolejkowanie zadań asynchronicznych
T-W-8Kolejkowanie w systemach wielordzeniowych
T-W-9Projektowanie i niezawodność systemów czasu rzeczywistego
T-W-10Przykłady zastosowań systemów czasu rzeczywistego
T-W-11Zaliczenie wykładu
Metody nauczaniaM-1Wykład informacyjny
M-2Wykład problemowy
M-3Metoda przypadków
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-1Podstawy FreeRTOS API
T-L-2Tworzenie zadań okresowych oraz zadań z różnymi priorytetami w systemie FreeRTOS
T-L-3Gwarantowanie poprawności czasowej w systemach ze statycznym planistą
T-L-4Symulacja kolejkowania wieloprocesorowego (z SimSo)
T-L-5Tworzenie wątków, kolejkowanie i synchronizacja w Real-Time Java
T-L-6Programowanie z wykorzystaniem Real-time Clock API
T-L-7Programowanie wątków asynchronicznych w Real-Time Java
T-L-8Projekt i implementacja projektu w Java RTS
T-L-9Zaliczenie laboratoriów
Metody nauczaniaM-3Metoda przypadków
M-4Ćwiczenia laboratoryjne
M-5Projekt
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.