Nazwa przedmiotu:
Analiza i projektowanie protokołów telekomunikacyjnych
Koordynator przedmiotu:
dr inż. Krzysztof Brzeziński
Status przedmiotu:
Fakultatywny ograniczonego wyboru
Poziom kształcenia:
Studia I stopnia
Program:
Telekomunikacja
Grupa przedmiotów:
Przedmioty techniczne
Kod przedmiotu:
APPT
Semestr nominalny:
7 / rok ak. 2015/2016
Liczba punktów ECTS:
4
Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
Bilans nakładu pracy studenta: -- udział w wykładach: 15 x 2 godz. = 30 godz. -- przygotowanie do wykładów (przejrzenie notatek): 15 x 0.5 godz. = 7.5 godz. -- udział w konsultacjach ogólnych (przy założeniu, że student dwukrotnie korzysta z 1 godz. konsultacji): 2 godz. -- przygotowanie do kolokwium: 6 godz. -- udział w konsultacjach dotyczących projektu (przy założeniu, że student trzykrotnie korzysta z 1 godz. konsultacji): 3 godz. -- realizacja projektu (obejmuje wszystkie elementy): 40 godzin -- przygotowanie do egzaminu: 12 godz. Łączny nakład pracy studenta wynosi: 30 + 7.5 + 2 + 6 + 3 + 40 + 12 = 100.5 godzin, co odpowiada 4 punktom ECTS.
Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
30 + 2 + 3 + 2 (udział nauczyciela w obronie projektu) = 37 (co odpowiada ok. 1.5 punktu ECTS)
Język prowadzenia zajęć:
polski
Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
25 (implementacja projektu - w zależności od tematu), co odpowiada ok. 1 punktowi ECTS
Formy zajęć i ich wymiar w semestrze:
  • Wykład0h
  • Ćwiczenia0h
  • Laboratorium0h
  • Projekt0h
  • Lekcje komputerowe0h
Wymagania wstępne:
Brak.
Limit liczby studentów:
30
Cel przedmiotu:
1. Uformowanie uogólnionego rozumienia protokołu komunikacyjnego jako jednej z fundamentalnych abstrakcji systemu rozproszonego i zarazem obiektu zainteresowania wyróżnialnej dziedziny badań - "protokologii". 2. Ukształtowanie rozumienia specyfiki telekomunikacyjnego podejścia do protokołów (z jej obrazem utrwalonym w standardach telekomunikacyjnych), na tle podejścia informatycznego (computer science, software engineering). 3. Zapoznanie studentów ze zbiorem środków wyrazu (języków), metod, technik i narzędzi służących do sformalizowanego analizowania (weryfikacji, walidacji) i przetwarzania protokołu we wszystkich stadiach cyklu życia systemu. 4. Ukształtowanie zdolności do świadomego wyboru oraz podstawowych umiejętności użycia kombinacji elementów (metod, narzędzi) właściwych dla postawionego zadania.
Treści kształcenia:
Wykłady: (1h) Wprowadzenie. Charakterystyka systemów telekomunikacyjnych jako dużych, rozproszonych systemów reaktywnych. Pojęcie protokołu (Merlin). Rola i miejsce dziedziny protocol science / engineering. Historia badań nad protokołami. (2h) Podstawowe zagadnienia projektowania systemów. Cykl życia systemu. Przypomnienie i przegląd niezbędnych podstaw formalnych (matematycznych). (3h) Definicja zachowania. Protokół jako behawioralna abstrakcja systemu. Własności protokołu: generyczne (reguły poprawnej konstrukcji) i specyficzne. Konstruktywne i korektywne podejście do cyklu życiowego. Specyfikacja a opis. Porównywanie zachowań. Weryfikacja i walidacja. Cele i aspekty formalizacji. Języki i formalizmy: SDL, Estelle, Lotos, MSC, ASN.1+BER, TTCN. Podejścia do opisu i przekształceń zachowania: logiczne, algebraiczne, automatowe. (2h) Modelowanie zachowania z użyciem logik temporalnych. Własności bezpieczeństwa i żywotności (Alpern-Schneider, 1985). Model checking. Przykłady i zastosowania. (3h) Automatowy model zachowania. Automat globalny a automaty poszczególnych komponentów (procesów). Style specyfikacji. Formalizacja: FSM, EFSM, systemy przejść. Konwencje notacyjne. Model systemu: C(E)FSM. Modele kanałów komunikacyjnych. Stan globalny syntaktyczny a osiągalny. Zachowanie systemu: przeplot zdarzeń, ślad. Przestrzeń stanów osiągalnych. Defekty jako predykaty na stanach osiągalnych. (4h) Eksploracja przestrzeni stanów osiągalnych. Konstruowanie grafu osiągalności: wszerz, wgłąb. Jakość i pokrycie; metody ich poprawy. Eksploracja pełna i cząstkowa. Kompresja zapisu informacji o stanie – filtry Blooma, metoda Holzmanna (supertrace, bitstate hashing). Eksploracja bez zapisu informacji o stanie (random walk). (2h) Język MSC (Message Sequence Chart). Liniowy i częściowy porządek zdarzeń. Elementy języka. Spójność zachowania systemu z wyspecyfikowanym porządkiem częściowym. Weryfikacja własności nie dających się wyrazić jako predykaty na stanach osiągalnych. (2h) Protokół w funkcjonalnej architekturze warstwowej (koncepcje ISO OSI), model, uwarunkowania implementacyjne, relacje z protokołem abstrakcyjnym. Struktura elementów statycznych protokołu: definicja tabelaryczna, język ASN.1, reguły kodowania xER. (3h) (3h) Empiryczna weryfikacja realizacji protokołu. Pojęcia podstawowe: testowanie czynne i bierne a monitorowanie; tradycja telekomunikacyjna: testowanie zgodności i zdolności do współpracy; testowanie w tradycji inżynierii oprogramowania. Model testowania zgodności oparty na relacjach implementowania (imp) i relacjach spełnienia (sat), ITU-T Z.500. Cechy i struktura telekomunikacyjnych standardów dla protokołów; motywacje i przejawy ewolucji. (4h) Przemysłowe testowanie zgodności w telekomunikacji - norma ISO 9646. Istota i technika formułowania wymagań względem implementacji. Cechy protokołu w normach - formularze PICS. Zgodność statyczna i dynamiczna. System testujący i testowany, architektury testowe, metody i kontekst testowania, cel i struktura testu, struktura, pokrycie i ekspercka metoda wytwarzania zestawu testów. Informacja o języku TTCN-2 i TTCN-3, przykłady. Standaryzowany proces oceny zgodności. (2h) Inne rodzaje testów: testy współdziałania, wydajności. Metody automatycznego generowania testów zgodności - przegląd i przykłady. Projekt: W ramach projektu studenci rozwiązują, w niewielkich grupach (2-3 osoby), problemy projektowe bądź analityczne wskazane przez prowadzącego. Przykłady projektów: zaprojektować i zaimplementować system automatycznej eksploracji przestrzeni stanów osiągalnych protokołu zadanego w postaci sieci automatów FSM; wyspecyfikować jako protokół i przy użyciu poznanych metod zbadać zachowanie znanego z literatury problemu; zbudować model systemu wykrywającego zadane wzorce zachowań.
Metody oceny:
Sprawdzanie osiągnięcia założonych celów kształcenia w zakresie oceny sumatywnej jest realizowane poprzez: -- sprawdzanie wiedzy i umiejętności wykazanych na kolokwium i egzaminie pisemnym o charakterze testu zamkniętego, z elementami otwartymi (zadania problemowe); w razie wątpliwości co do oceny, sprawdzanie następuje w formie indywidualnego egzaminu ustnego; -- sprawdzanie wiedzy, umiejętności i kompetencji społecznych wykazanych podczas realizacji projektu. Sprawdzanie osiągnięcia założonych celów kształcenia w zakresie oceny formatywnej następuje poprzez interaktywne elementy wykładów, podczas bezpośrednich kontaktów ze studentami w ramach konsultacji, a także przez zgłoszenie przez prowadzącego uwag do projektu wstępnego.
Egzamin:
tak
Literatura:
1. G.J.Holzmann, Design and Validation of Computer Protocols. Prentice Hall, 1991 2. K.M.Brzeziński, Wprowadzenie do testowania protokołów telekomunikacyjnych. Skrypt, 2006 3. F. Babich, L. Deotto, Formal Methods for Specification and Analysis of Communication Protocols, IEEE Communications Surveys and Tutorials, 2002, 4, 2-20 4. ETSI, "Making Better Standards" 5. wskazane lub udostępnione przez prowadzącego standardy telekomunikacyjne (do swobodnego pobrania) i artykuły
Witryna www przedmiotu:
https://studia.elka.pw.edu.pl/
Uwagi:

Efekty uczenia się

Profil ogólnoakademicki - wiedza

Efekt APPT1-W1
Ma podstawową wiedzę na temat pojęcia systemu (jego struktury i zachowania, protokołu jako behawioralnej abstrakcji systemu, niepoprawności, cyklu projektowego / rozwojowego) oraz ma świadomość potrzeby i różnorodności metod i środków uzyskania poprawności zachowania systemu we wszystkich fazach jego cyklu życia.
Weryfikacja: kolokwium, egzamin
Powiązane efekty kierunkowe: K_W15, K_W16
Powiązane efekty obszarowe: T1A_W06, T1A_W08
Efekt APPT1-W2
Zna podstawowe nieformalne, pół-formalne i formalne techniki (notacje, modele) wyrażania i badania zachowania protokołu (klasy transformacji formalnych i badań empirycznych), oraz jest świadom roli i ograniczneń formalizacji.
Weryfikacja: Wpisz opis
Powiązane efekty kierunkowe: K_W01, K_W08
Powiązane efekty obszarowe: T1A_W01, T1A_W02, T1A_W01, T1A_W03, T1A_W04
Efekt APPT1-W3
Ma wiedzę o relacjach zachodzących pomiędzy danym protokołem “rzeczywistym”, np. opisanym w terminach architektury ISO OSI, a protokołem abstrakcyjnym oraz jest świadom kroków niezbędnych do tego, aby do protokołu “rzeczywistego" można było zastosować poznane sformalizowane metody weryfikacji.
Weryfikacja: kolokwium, egzamin
Powiązane efekty kierunkowe: K_W05, K_W08
Powiązane efekty obszarowe: T1A_W02, T1A_W04, T1A_W01, T1A_W03, T1A_W04

Profil ogólnoakademicki - umiejętności

Efekt APPT1-U1
Potrafi zapisać prosty wzorzec zachowania, zadany opisowo, w postaci modelu formalnego logicznego i automatowego oraz zinterpretować zadane proste modele tych klas w terminach zachowania, jakie takie modele wyrażają.
Weryfikacja: Wpisz opis
Powiązane efekty kierunkowe: K_U05, K_U06
Powiązane efekty obszarowe: T1A_U02, T1A_U07, T1A_U07, T1A_U09
Efekt APPT1-U2
Potrafi wybrać metodę weryfikacji / walidacji odpowiednią dla zadanego problemu oraz zastosować elementy tej metody bądź wskazać ogólnie, w jaki sposób (za pomocą jakich technik i/lub narzędzi, ew. na podstawie jakich standardów) należy to uczynić.
Weryfikacja: kolokwium, egzamin, projekt
Powiązane efekty kierunkowe: K_U06, K_U09, K_U10, K_U14
Powiązane efekty obszarowe: T1A_U07, T1A_U09, T1A_U05, T1A_U07, T1A_U09, T1A_U13, T1A_U07, T1A_U09, T1A_U13, T1A_U01
Efekt APPT1-U3
Ma podstawową umiejętność odczytywania i rozumienia standardów telekomunikacyjnych, w których zastosowano notację formalną (SDL, MSC, ASN.1, TTCN).
Weryfikacja: egzamin, projekt
Powiązane efekty kierunkowe: K_U05, K_U14
Powiązane efekty obszarowe: T1A_U02, T1A_U07, T1A_U01

Profil ogólnoakademicki - kompetencje społeczne

Efekt APPT1-K1
Potrafi efektywnie współpracować w grupie przy prowadzeniu projektu.
Weryfikacja: projekt
Powiązane efekty kierunkowe: K_K03, K_K06
Powiązane efekty obszarowe: T1A_K03, T1A_K06