Politechnika Warszawska - Centralny System Uwierzytelniania
Strona główna

Communication Protocols

Informacje ogólne

Kod przedmiotu: 103A-TCTCM-ISA-ECOPR
Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Communication Protocols
Jednostka: Wydział Elektroniki i Technik Informacyjnych
Grupy: ( Courses in English )--eng.-EITI
( Przedmioty techniczne )---EITI
( Technical Courses )--eng.-EITI
( Telecommunications - Foundation )-Telecommunications-M.Sc.-EITI
( Telecommunications )-Telecommunications-B.Sc.-EITI
Punkty ECTS i inne: 6.00 Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.
Język prowadzenia: angielski
Jednostka decyzyjna:

103000 - Wydział Elektroniki i Technik Informacyjnych

Kod wydziałowy:

ECOPR

Numer wersji:

1

Skrócony opis:

W ramach niniejszego wykładu, "komunikację" rozumie się jako jeden z fundamentalnych mechanizmów tworzenia Systemu z jego części składowych, a "protokół" jest rozumiany jako zbiór ograniczeń definiujących pożądane wzorce (ang. patterns) zachowania komunikujących się stron, zgodnie z zadanymi potrzebami. Takie rozumienie kontrastuje z popularnym pojmowaniem protokołów komunikacyjnych jako mechanizmu przesyłania strumienia "danych użytkowych" pomiędzy odległymi systemami fizycznymi. Studentom wpaja się szersze spojrzenie na protokoły komunikacyjne jako na istotną abstrakcję behawioralną Systemu, która podlega różnorodnym transformacjom na trajektorii cyklu życia Systemu. Wykład skupia się zatem nie na klasyfikowaniu i opisywaniu poszczególnych protokołów "transferu danych użytkowych", lecz na omawianiu metod i narzędzi (formalnych, pół-formalnych i pragmatycznych) analizowania i przetwarzania protokołów w różnych stadiach ich cyklu życia: formułowania wymagań, (...)

Pełny opis: (tylko po angielsku)

In the present course, "communication" is understood as one of the most
fundamental mechanisms for forming a System out of individual parts,
and a "protocol" is understood as a set of constraints that define the
desired patterns of behaviour of communicating parties, according to
selected needs and goals. This is in contrast to the popular, but
narrow understanding of communication protocols as the means of
transferring "user data" between distant physical systems. Students are
thus given a wider view on communication protocols as an important
behavioural abstraction of a System, which undergoes various
transformations along the life-cycle trajectory of a System itself.

Consequently, focus is not on listing, classifying and describing
particular ("user-data-transfer") protocols, but on discussing the
(formal, semi-formal, and pragmatic) methods and tools for dealing with
protocols at various stages of their life-cycle: stating requirements;
formal design; verification and validation by manipulating their formal
descriptions (a.k.a. "formal verification"); implementing; verification
and validation as an empirical activity (formalized testing); further
maintenance and its mechanisms (monitoring, passive testing).

Accordingly, the following formal concepts and notations (languages)
will be introduced and (to a various degree) used: temporal logics,
finite automata and automata-based development languages (SDL),
Labelled Transition Systems and LTS-based Process Calculi, ASN.1+xER
family of syntax description languages, total / partial orderings
(traces, MSC), notions of correctness (conformance relations), concepts
of model-based testing (with the elements of automatic test
generation), test languages and systems (TTCN-3).

The generalized notion of a protocol will be related to "real"
communication protocols (according to their narrow understanding) by
projecting it onto a layered system architecture.


Lecture contents

  1. Introduction and outline (2h): The intuition of a protocol.
    History of research on protocols. Characteristics, correctness criteria
    and generic system design problems. Research communities dealing with
    protocols. Organizational matters.

  2. Underlying concepts (2h): Ontology: intension / extension,
    definitions (Aristotle), defining modes. Semiotics: sign / referent
    (Saussure, Peirce), index, icon, symbol (Peirce), linguistic levels:
    syntax, semantics, pragmatics (Morris). Required mathematical tools:
    set theory, relations, propositional and first-order predicate logic.
    Models of and for.

  3. Developing protocols - the big picture (2h): A System and its
    properties. The abstract notion of a protocol. System / protocol life
    cycle. Critique of life-cycle models (Parnas). A unified view on
    specification / description. Verification and validation. Intensional
    and extensional V&V methods. Incorrectness notions: error, fault,
    failure. Protocol standards as systems (products). Role of formality.
    Formal Description Techniques (FDT) for protocols.

  4. Behaviour and its properties (2h): What is behaviour? Traces.
    Property-oriented vs constructive approach. Temporal logic, safety and
    liveness (Alpern-Schneider), model checking.

  5. Automata-based methods (4h): Finite automata: FSM, EFSM, C(E)FSM.
    Composing automata: channels, traces, interleaving semantics, global
    states, reachability relation. Constructing and exploring a
    reachability graph. Fault patterns in a graph. Full (exhaustive) and
    partial exploration. Bitstate hashing, multihash (Holzmann).
    Effectiveness and coverage of exploration. Kripke structures and model
    checking of properties stated in temporal logic.

  6. LTS-based methods (2h): The LTS model and its linguistic
    implementations. Representing, composing and comparing behaviours.
    Equivalence and preorder relations.

  7. Mid-term test (1h).

  8. Traces (1h): Behaviour as sets of traces. The MSC language. Total
    vs partial order semantics. Liveness properties in MSC (LSC).

  9. Towards "real" protocols (2h): Protocols in a layered system
    architecture: abstract model and implementation-related issues.
    Verifying layered protocols. Specifying the syntax of protocol
    messages: the ASN.1+xER suite of notations vs tabular / narrative
    descriptions.

  10. Basics of testing (2h): Extra-technical (epistemological)
    origins: testing in the Scientific Method (Peirce, Popper). Sources of
    tests: ad-hoc, property-based (requirements-based), model-based,
    implementation-based. Black-box vs. glass-box testing. Testing in a
    system life-cycle: the Telecommunications (ETSI) and Software
    Engineering (IEEE 829, model V) points of view. The concept of
    antiproduct development. Test purposes and the TPLan language. Test
    cases, test suites, verdicts.

  11. Meta-standardization (2h): Informal industrial conformance
    testing: ISO 9646. Standardization of standards for protocols - the
    ETSI (Making Better Standards) approach: the 3-stage structure, base
    and testing standards, ICS documents. Reverse-engineering.

  12. Formal conformance testing (3h): Formal Methods in Conformance
    Testing (ITU-T Z.500). Test hypotheses and fault models. Correctness vs
    test execution. Properties of test suites: soundness, exhaustiveness,
    coverage. Automatic generation of conformance tests from (E)FSM (W, DS,
    UIO - Cavalli) and LTS models (Tretmans).

  13. Means of Testing (1h): TTCN-3: a standardized test language and
    test architecture. Implementing a test system.

  14. Extensions (2h): Other types of testing: interoperability
    testing, passive testing, testing of quantitative properties. Shift of
    paradigm: IPv6 Testing ? pattern-based, component-wise test
    development. Representative examples of protocols. Laboratory hands-on
    presentation: live protocols observed using protocol monitors /
    analyzers.

  15. Wrap-up (2h): Final Test, A, recapitulation.


Projects contents
Projects will be assigned to 2-3 person teams, after the initial lectures. Students solve the design or analytical problems chosen from a fixed set of projects, of the implementation-oriented, analytical, and essay type. A particular project proposed by a group may also be considered. Examples of projects: to design and implement a simplified system for the automatic verification of protocols; to specify and check properties of a well known protocol (e.g. leader election in a ring network; a connection setup protocol); to design and implement an "oracle" that decides whether a given trace is consistent with a partially specified behaviour.

Similar Courses
CodeNameDiscount ECTS
103B-TLSST-ISP-APPTAnaliza i projektowanie protokołów telekomunikacyjnych4

Literatura: (tylko po angielsku)

    1. G.J. Holzmann, Design and Validation of Computer Protocols,
      Prentice Hall, 1991 (free electronic version available from the
      instructor).

    2. K.M.Brzeziński, Introduction to the theory and practice of
      protocol testing, script, CITCOM-PW.

    3. F. Babich, L. Deotto, Formal Methods for Specification and
      Analysis of Communication Protocols, IEEE Communications Surveys and
      Tutorials, 2002, 4, 2-20.

    4. D. Lee, M. Yannakakis, Principles and Methods of Testing Finite
      State Machines - A Survey, Proceedings of the IEEE, 1996, 84, 1090-1126.

    5. ETSI, Making Better Standards.

    6. Reading material: excerpts from conference papers (PSTV, TCS,
      FORTE, TestCOM), standards, and meta-standards, available from the
      instructor.

Metody i kryteria oceniania: (tylko po angielsku)

Mid-term written test (MT): 20 points

Project (assigned to 2-3 person teams): 40 points:


  • 10 points: Preliminary Project (PP) handed in and presented (per
    team)

  • 25 points: Final Project (FP) handed in and presented /
    demonstrated (per team)

  • 5 points: final Project Defended (PD) in person (per each team
    member)

Final written test (FT): 50 points



The final result is calculated as follows:

  • 5.0: 91-110 points

  • 4.5: 81-90 points

  • 4.0: 71-80 points

  • 3.5: 61-70 points

  • 3.0: 51-60 points

  • 2.0: 0-50 points

Zajęcia w cyklu "rok akademicki 2023/2024 - sem. letni" (w trakcie)

Okres: 2024-02-19 - 2024-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Projekt, 30 godzin, 36 miejsc więcej informacji
Wykład, 30 godzin, 36 miejsc więcej informacji
Koordynatorzy: Krzysztof Brzeziński
Prowadzący grup: Krzysztof Brzeziński
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103600 - Instytut Telekomunikacji

Zajęcia w cyklu "rok akademicki 2022/2023 - sem. letni" (zakończony)

Okres: 2023-02-20 - 2023-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Projekt, 30 godzin, 36 miejsc więcej informacji
Wykład, 30 godzin, 36 miejsc więcej informacji
Koordynatorzy: Krzysztof Brzeziński
Prowadzący grup: Krzysztof Brzeziński
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103600 - Instytut Telekomunikacji

Zajęcia w cyklu "rok akademicki 2021/2022 - sem. letni" (zakończony)

Okres: 2022-02-23 - 2022-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Projekt, 30 godzin, 39 miejsc więcej informacji
Wykład, 30 godzin, 39 miejsc więcej informacji
Koordynatorzy: Krzysztof Brzeziński
Prowadzący grup: Krzysztof Brzeziński
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103600 - Instytut Telekomunikacji

Zajęcia w cyklu "rok akademicki 2020/2021 - sem. letni" (zakończony)

Okres: 2021-02-20 - 2021-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Projekt, 30 godzin, 30 miejsc więcej informacji
Wykład, 30 godzin, 30 miejsc więcej informacji
Koordynatorzy: Krzysztof Brzeziński
Prowadzący grup: Krzysztof Brzeziński
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103600 - Instytut Telekomunikacji

Zajęcia w cyklu "rok akademicki 2019/2020 - sem. letni" (zakończony)

Okres: 2020-02-22 - 2020-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Projekt, 30 godzin, 30 miejsc więcej informacji
Wykład, 30 godzin, 30 miejsc więcej informacji
Koordynatorzy: Krzysztof Brzeziński
Prowadzący grup: Krzysztof Brzeziński
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103600 - Instytut Telekomunikacji

Zajęcia w cyklu "rok akademicki 2018/2019 - sem. letni" (zakończony)

Okres: 2019-02-18 - 2019-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Projekt, 30 godzin, 30 miejsc więcej informacji
Wykład, 30 godzin, 30 miejsc więcej informacji
Koordynatorzy: Krzysztof Brzeziński
Prowadzący grup: Krzysztof Brzeziński
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103600 - Instytut Telekomunikacji

Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Politechnika Warszawska.
pl. Politechniki 1, 00-661 Warszawa tel: (22) 234 7211 https://pw.edu.pl kontakt deklaracja dostępności USOSweb 7.0.0.0-7 (2024-03-18)