Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (S2)
specjalność: projektowanie i zarządzanie projektami informatycznymi

Sylabus przedmiotu Programowanie systemów reaktywnych - Przedmiot obieralny I:

Informacje podstawowe

Kierunek studiów Informatyka
Forma studiów studia stacjonarne Poziom drugiego stopnia
Tytuł zawodowy absolwenta magister
Obszary studiów nauki techniczne
Profil ogólnoakademicki
Moduł
Przedmiot Programowanie systemów reaktywnych - Przedmiot obieralny I
Specjalność systemy komputerowe i technologie mobilne
Jednostka prowadząca Katedra Architektury Komputerów i Telekomunikacji
Nauczyciel odpowiedzialny Piotr Dziurzański <Piotr.Dziurzanski@zut.edu.pl>
Inni nauczyciele
ECTS (planowane) 2,0 ECTS (formy) 2,0
Forma zaliczenia zaliczenie Język polski
Blok obieralny 13 Grupa obieralna 2

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
wykładyW2 15 1,20,50zaliczenie
laboratoriaL2 15 0,80,50zaliczenie

Wymagania wstępne

KODWymaganie wstępne
W-1Umiejętność programowania w dowolnym języku imperatywnym

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Student potrafi programować systemy reaktywne z wykorzystaniem specjalistycznych języków programowania (Esterel, Lustre), a także rozumie różnicę między programowaniem systemów reaktywnych a programowaniem systemów transformacyjnych i interaktywnych.

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

KODTreść programowaGodziny
laboratoria
T-L-1Zapoznanie studentów z narzędziami do kompilacji i symulacji modeli systemów reaktywnych w języku Esterel.2
T-L-2Tworzenie prostych modeli systemów reaktywnych z wykorzystaniem CFSM.4
T-L-3Tworzenie prostych modeli reaktywnych z wykorzystaniem języka Esterel.6
T-L-4Tworzenie części sterującej systemów zdominowanych przez kontrolę i dane w języku Esterel.3
15
wykłady
T-W-1Wprowadzenie do języka programowania Esterel. Upływ czasu w Esterelu. Wykonywanie instrukcji w sposób szeregowy i równoległy. Konstrukcja trap exit. Instrukcja loop i wychodzenie z pętli loop.2
T-W-2Model obliczeń CFSM i cykl wykonania CFSM.2
T-W-3Synteza oprogramowania w POLIS i S-graf.2
T-W-4Model kosztu oprogramowania w POLIS.1
T-W-5Jednostki w Esterel v7.1
T-W-6Status sygnału i wartość. Sygnały zarejestrowane.1
T-W-7Esterel Studio sequential control optimizer.1
T-W-8Zapisywanie sygnałów zarejestrowanych w sprzęcie. Multiclock w Esterelu.1
T-W-9Systemy reaktywne zdominowane danymi. Kahn Process Networks. Algorytm kolejkowania Tom Parks'a. Synchronous Dataflow. Kolejkowanie SDF.2
T-W-10Język programowania LUSTRE. Zegary w LUSTRE. Operatory temporalne w LUSTRE.2
15

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

KODForma aktywnościGodziny
laboratoria
A-L-1uczestnictwo w zajęciach15
A-L-2przygotowanie się do zajęć5
A-L-3Udzał w konsultacjach i zaliczeniu formy zajęć2
22
wykłady
A-W-1uczestnictwo w zajęciach15
A-W-2przygotowanie się do zajęć lektura materiałów i podręczników15
A-W-3Udzał w konsultacjach i zaliczeniu formy zajęć2
32

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

Sposoby oceny

KODSposób oceny
S-1Ocena podsumowująca: Ocena wiedzy i umiejętności wykazana na egzaminie pisemnym o charakterze problemowym
S-2Ocena podsumowująca: Obserwacja pracy programistycznej podczas zajęć laboratoryjnych.

Zamierzone efekty kształcenia - wiedza

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_2A_D18/O5/1-3_W01
Student zna podstawowe cechy oraz zakres stosowania języków reaktywnych.
I_2A_W04C-1T-W-1, T-W-2, T-W-4, T-W-5, T-W-6, T-W-7, T-W-8, T-W-9, T-W-10, T-W-3, T-L-1, T-L-2, T-L-3, T-L-4M-1, M-2S-1

Zamierzone efekty kształcenia - umiejętności

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_2A_D18/O5/1-3_U01
Student potrafi zaprogramować prosty system z wykorzystaniem języka programowania Esterel oraz diagramów CFSM.
I_2A_U12C-1T-W-5, T-W-6, T-W-8, T-L-1, T-L-3, T-L-4M-3, M-4S-2

Kryterium oceny - wiedza

Efekt kształceniaOcenaKryterium oceny
I_2A_D18/O5/1-3_W01
Student zna podstawowe cechy oraz zakres stosowania języków reaktywnych.
2,0nie spełnia wymogów na ocenę 3,0.
3,0zna podstawy języka reaktywnego Esterel i potrafi napisać proste programy w tym języku.
3,5jak na ocenę 3,0 oraz potrafi używać większości instrukcji języka Esterel v.5.
4,0jak na ocenę 3,5 oraz potrafi używać instrukcji języka Esterel v.7.
4,5jak na ocenę 4,0 oraz zna podstawy teoretyczne języków reaktywnych dla systemów zdominowanych przez dane.
5,0jak na ocenę 4,5 oraz zna podstawowe konstrukcje języka LUSTRE.

Kryterium oceny - umiejętności

Efekt kształceniaOcenaKryterium oceny
I_2A_D18/O5/1-3_U01
Student potrafi zaprogramować prosty system z wykorzystaniem języka programowania Esterel oraz diagramów CFSM.
2,0nie spełnia wymogów na ocenę 3,0.
3,0potrafi napisać prosty system za pomocą diagramów CFSM, a także potrafi w sposób dostateczny uzasadnić wybór użytych technik programistycznych.
3,5potrafi napisać prosty system za pomocą diagramów CFSM, a także potrafi w sposób wystarczający uzasadnić wybór użytych technik programistycznych.
4,0jak na ocenę 3,5 oraz potrafi napisać prosty kod w języku Esterel v.5.
4,5jak na ocenę 4,0 oraz potrafi napisać prosty kod w języku Esterel v.7.
5,0jak na ocenę 4,5 oraz potrafi napisać prosty kod w języku LUSTRE.

Literatura podstawowa

  1. Esterel Technologies, Esterel v7 language reference manual, 2007
  2. Esterel Technologies, Esterel Studio User's Manual, rev. 602, 2008
  3. Esterel EDA Technologies, An overview of hardware design using Esterel compared to VHDL, 2008
  4. Esterel EDA Technologies, An Esterel v7 Primer for Hardware Designers v0.1, 2005

Literatura dodatkowa

  1. F. Balarin et al., Hardware-Software Co-Design of Embedded Systems, The Polis Approach, Kluwer Academic Publishers, 2003, 5th printing
  2. Reinhard von Hanxleden, Synchronous Languages, Lecture Notes, Christian-Albrechts Universitat Kiel, 2008
  3. Esterel Technologies, What's new in ES version 6.0, 2008
  4. G. Berry, M. Kishinevsky, S. Singh, System Level Design and Verication Using a Synchronous Language, ICCAD, 2003
  5. Esterel EDA Technologies, Generating efficient hardware with Esterel v7 and Esterel Studio, 2005
  6. Esterel EDA Technologies, Understanding Esterel Studio Code Optimization, v.1.1, 2005

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Zapoznanie studentów z narzędziami do kompilacji i symulacji modeli systemów reaktywnych w języku Esterel.2
T-L-2Tworzenie prostych modeli systemów reaktywnych z wykorzystaniem CFSM.4
T-L-3Tworzenie prostych modeli reaktywnych z wykorzystaniem języka Esterel.6
T-L-4Tworzenie części sterującej systemów zdominowanych przez kontrolę i dane w języku Esterel.3
15

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Wprowadzenie do języka programowania Esterel. Upływ czasu w Esterelu. Wykonywanie instrukcji w sposób szeregowy i równoległy. Konstrukcja trap exit. Instrukcja loop i wychodzenie z pętli loop.2
T-W-2Model obliczeń CFSM i cykl wykonania CFSM.2
T-W-3Synteza oprogramowania w POLIS i S-graf.2
T-W-4Model kosztu oprogramowania w POLIS.1
T-W-5Jednostki w Esterel v7.1
T-W-6Status sygnału i wartość. Sygnały zarejestrowane.1
T-W-7Esterel Studio sequential control optimizer.1
T-W-8Zapisywanie sygnałów zarejestrowanych w sprzęcie. Multiclock w Esterelu.1
T-W-9Systemy reaktywne zdominowane danymi. Kahn Process Networks. Algorytm kolejkowania Tom Parks'a. Synchronous Dataflow. Kolejkowanie SDF.2
T-W-10Język programowania LUSTRE. Zegary w LUSTRE. Operatory temporalne w LUSTRE.2
15

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1uczestnictwo w zajęciach15
A-L-2przygotowanie się do zajęć5
A-L-3Udzał w konsultacjach i zaliczeniu formy zajęć2
22
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1uczestnictwo w zajęciach15
A-W-2przygotowanie się do zajęć lektura materiałów i podręczników15
A-W-3Udzał w konsultacjach i zaliczeniu formy zajęć2
32
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D18/O5/1-3_W01Student zna podstawowe cechy oraz zakres stosowania języków reaktywnych.
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_W04Ma wiedzę z zakresu zaawansowanych technik programowania systemów informatycznych w wybranym obszarze zastosowań
Cel przedmiotuC-1Student potrafi programować systemy reaktywne z wykorzystaniem specjalistycznych języków programowania (Esterel, Lustre), a także rozumie różnicę między programowaniem systemów reaktywnych a programowaniem systemów transformacyjnych i interaktywnych.
Treści programoweT-W-1Wprowadzenie do języka programowania Esterel. Upływ czasu w Esterelu. Wykonywanie instrukcji w sposób szeregowy i równoległy. Konstrukcja trap exit. Instrukcja loop i wychodzenie z pętli loop.
T-W-2Model obliczeń CFSM i cykl wykonania CFSM.
T-W-4Model kosztu oprogramowania w POLIS.
T-W-5Jednostki w Esterel v7.
T-W-6Status sygnału i wartość. Sygnały zarejestrowane.
T-W-7Esterel Studio sequential control optimizer.
T-W-8Zapisywanie sygnałów zarejestrowanych w sprzęcie. Multiclock w Esterelu.
T-W-9Systemy reaktywne zdominowane danymi. Kahn Process Networks. Algorytm kolejkowania Tom Parks'a. Synchronous Dataflow. Kolejkowanie SDF.
T-W-10Język programowania LUSTRE. Zegary w LUSTRE. Operatory temporalne w LUSTRE.
T-W-3Synteza oprogramowania w POLIS i S-graf.
T-L-1Zapoznanie studentów z narzędziami do kompilacji i symulacji modeli systemów reaktywnych w języku Esterel.
T-L-2Tworzenie prostych modeli systemów reaktywnych z wykorzystaniem CFSM.
T-L-3Tworzenie prostych modeli reaktywnych z wykorzystaniem języka Esterel.
T-L-4Tworzenie części sterującej systemów zdominowanych przez kontrolę i dane w języku Esterel.
Metody nauczaniaM-1Wykład informacyjny
M-2Wykład problemowy
Sposób ocenyS-1Ocena podsumowująca: Ocena wiedzy i umiejętności wykazana na egzaminie pisemnym o charakterze problemowym
Kryteria ocenyOcenaKryterium oceny
2,0nie spełnia wymogów na ocenę 3,0.
3,0zna podstawy języka reaktywnego Esterel i potrafi napisać proste programy w tym języku.
3,5jak na ocenę 3,0 oraz potrafi używać większości instrukcji języka Esterel v.5.
4,0jak na ocenę 3,5 oraz potrafi używać instrukcji języka Esterel v.7.
4,5jak na ocenę 4,0 oraz zna podstawy teoretyczne języków reaktywnych dla systemów zdominowanych przez dane.
5,0jak na ocenę 4,5 oraz zna podstawowe konstrukcje języka LUSTRE.
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D18/O5/1-3_U01Student potrafi zaprogramować prosty system z wykorzystaniem języka programowania Esterel oraz diagramów CFSM.
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_U12Ma umiejętność stosowania zaawansowanych technik programowania i metodyki projektowania systemów informatycznych w wybranym obszarze zastosowań
Cel przedmiotuC-1Student potrafi programować systemy reaktywne z wykorzystaniem specjalistycznych języków programowania (Esterel, Lustre), a także rozumie różnicę między programowaniem systemów reaktywnych a programowaniem systemów transformacyjnych i interaktywnych.
Treści programoweT-W-5Jednostki w Esterel v7.
T-W-6Status sygnału i wartość. Sygnały zarejestrowane.
T-W-8Zapisywanie sygnałów zarejestrowanych w sprzęcie. Multiclock w Esterelu.
T-L-1Zapoznanie studentów z narzędziami do kompilacji i symulacji modeli systemów reaktywnych w języku Esterel.
T-L-3Tworzenie prostych modeli reaktywnych z wykorzystaniem języka Esterel.
T-L-4Tworzenie części sterującej systemów zdominowanych przez kontrolę i dane w języku Esterel.
Metody nauczaniaM-3Metoda przypadków
M-4Ćwiczenia laboratoryjne
Sposób ocenyS-2Ocena podsumowująca: Obserwacja pracy programistycznej podczas zajęć laboratoryjnych.
Kryteria ocenyOcenaKryterium oceny
2,0nie spełnia wymogów na ocenę 3,0.
3,0potrafi napisać prosty system za pomocą diagramów CFSM, a także potrafi w sposób dostateczny uzasadnić wybór użytych technik programistycznych.
3,5potrafi napisać prosty system za pomocą diagramów CFSM, a także potrafi w sposób wystarczający uzasadnić wybór użytych technik programistycznych.
4,0jak na ocenę 3,5 oraz potrafi napisać prosty kod w języku Esterel v.5.
4,5jak na ocenę 4,0 oraz potrafi napisać prosty kod w języku Esterel v.7.
5,0jak na ocenę 4,5 oraz potrafi napisać prosty kod w języku LUSTRE.