Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Algebra procesów CCS, bisymulacja Seminarium - Protokoły komunikacyjne 28 – 10 - 2003 Paweł Kozioł 189411.

Podobne prezentacje


Prezentacja na temat: "Algebra procesów CCS, bisymulacja Seminarium - Protokoły komunikacyjne 28 – 10 - 2003 Paweł Kozioł 189411."— Zapis prezentacji:

1 Algebra procesów CCS, bisymulacja Seminarium - Protokoły komunikacyjne 28 – Paweł Kozioł

2 Spis treści Wprowadzenie do algebry procesów Język CCS Przykłady Bisymulacja

3 Wprowadzenie Opis systemów współbieżnych Systemy są kompozycjonalne Zachowanie systemu składa się z niepodzielnych zdarzeń Zdarzenie –komunikacja z otoczeniem –zdarzenie wewnętrzne, nieobserwowalne z zewnątrz

4 Wprowadzenie – zdarzenia Każde zdarzenie jest komunikacją! Interesują nas zachowania obserwowalne – komunikacja z otoczeniem Założenia: –ignorujemy czas –nie dopuszczamy jednoczesności zdarzeń (wykonanie zdarzeń w dowolnej kolejności)

5 Wprowadzenie – komunikacja W każdą komunikację zaangażowane są dokładnie 2 procesy Komunikacja jest: –synchroniczna –niebuforowana

6 CCS – (Calculus of Communicating Systems) Przykład: Odbiera wartość x i wysyła ją dalej

7 in(x) wiąże x w (1) X – parametr, oznacza dowolną liczbę: x Z.P. oznacza: wykonaj i kontynuuj wg P - jedyny sposób szeregowania zdarzeń w języku Np. Proces wykonuje in(7) i staje się procesem C –ze stanu C po wykonaniu in(7) przechodzimy do stanu C

8 Język graficzny Odzwierciedla strukturę połączeń komunikacyjnych Porty wyjściowe są oznaczone kreską u góry

9 Język graficzny c.d Nowy dwuargumentowy operator _ _ –Połączenie dwóch kopii C kanałem komunikacyjnym nazwy portów przyłączonych do tego kanału są pominięte, bo są nieistotne

10 Operator + + zapewnia niedeterministyczny wybór E 1 + E 2 oznacza proces zachowujący się jak E 1 albo E 2 Zapis choice:

11 Operator | E 1 | E 2 - złożenie równoległe –równoległe wykonanie E 1 i E 2 –Przykład Uścisk dłoni (handshake) – synchroniczna, niewidoczna akcja między dwoma procesami –przesłanie wiadomości –synchronizacja – brak wymiany danych

12 Synchronizacja – przykład Jak połączyć ? Opowiedź Uściski dłoni nie są zaznaczane strzałkami Jednoznaczność połączenia przemienność operatora | [ A | B = B | A ] łączność operatora | [ A | (B | C) = (A | B) | C ]

13 Operator \ Wykluczenie (restriction) Niech L – zbiór etykiet (E | F) \ L to (E | F) z ukrytymi portami L Konwencja: (E | F) \ c = (E | F ) \ {c} Przykład (E | F) \ c

14 Przemianowanie [ a/a` ] Niech A: Wtedy A` = def A [ a`/a, b`/b, c`/c ]

15 Proces 0 Proces nieaktywny Kiedy obliczenie dotrze do niego następuje zakleszczenie (deadlock)

16 Zdarzenie Oznacza cichą komunikację między procesami– nieobserwowalną z zewnątrz

17 Mamy: oraz, stąd: Ale te tranzycje nie dotyczą komunikacji A z B Rozważmy na przykład komunikację

18 A teraz rozważmy komunikację między A i B Wtedy obserwator zewnętrzny zauważy : Opcjonalnie wykluczenie komunikacji przez port z otoczeniem – użycie operatora zakazującego \: (A|B) \ c

19 Notacja – drzewo i graf tranzycji Dla niego graf tranzycji wygląda następująco: Na przykładzie procesów A i B Rozważmy proces (A | B)\c

20 Drzewo tranzycji dla (A|B)\c Wygląda następująco:

21 Formalizacja CCS

22 Oznaczenia i założenia Dany jest zbiór nazw zawiera ko-nazwy – nazwy komplementarne Zbiór etykiet, gdzie dla każdej etykiety Zbiór zdarzeń, –W tym - ma specjalne znaczenie Tranzycje - proces w stanie P. wykonuje zdarzenie i przechodzi do stanu Q.

23 Składnia CCS

24 A(e 1,..., e k ) – wyrażenie funkcyjne o arności k Zmienne e k należy odróżnić od zmiennych procesowych x i X Zmienne e i to zmienne wartości

25 Reguły semantyczne CCS

26 Dowodzenie Tranzycja zachodzi wtw da się ją wywieść za pomocą powyższych reguł Np. Dowodzimy tranzycję

27 Operator punktu stałego Rekurencja pozwala opisać procesy nieskończone np. Zapis alternatywny: –zamiast, jest Dodatkowa konstrukcja językowa: Zbiór zawiera równania definiujące rodzinę procesów indeksowaną I

28 Operator fix – cd Wyrażenie oznacza element tego zbioru odpowiadający indeksowi j I W skrócie, zamiast piszemy Dodatkowo, niech oznacza P., w którym równolegle podstawiono E i za zmienną X i dla wszystkich i I

29 Operator fix – reguła semantyczna Reguła pokazuje, że jest to operator najmniejszego punktu stałego

30 Przykład – algorytm Dekkera

31

32 Dekker – zapis procesów

33 Równoważność procesów silna i słaba bisymulacja silna i słaba równoważność

34 Intuicje Aby wykazać równoważność A i B, gramy w grę Graczami są Kowalski i Nowak Kowalski dowodzi, że A i B są równoważne Nowak dowodzi, że się różnią Obaj wykonują naprzemiennie ruchy Najpierw Nowak wybiera system i wykonuje dowolne możliwe zdarzenie

35 Intuicje cd Kowalski musi odpowiedzieć w drugim systemie tym samym zdarzeniem Gracz, który nie ma więcej ruchów, przegrywa Systemy są równoważne, jeśli Kowalski zawsze wygrywa, tzn. gdy ma strategię wygrywającą

36 Bisymulacja - wprowadzenie Np. Te systemy rozpoznają identyczne języki (acd)*ab Początkowo mogą wykonać tylko a:

37 Bisymulacja cd W przypadku systemu A rezultat jest jednoznaczny (deterministyczny) W przypadku B wybór jest niejednoznaczny Eksperyment odróżnia zatem A od B

38 Definicja równoważności Definiujemy więc relację równoważności ~ P i Q są równoważne wtw. gdy nie można ich odróżnić w jednym kroku eksperymentu oraz otrzymane w tym kroku systemy są równoważne

39 Silna bisymulacja Relację binarną R pomiędzy procesami nazywamy silną bisymulacją, jeśli dla każdej pary, Określenie silna bisymulacja odróżnia ją od słabej bisymulacji Piszemy krótko: bisymulacja

40 Silna równoważność Procesy P i Q są silnie równoważne ozn. P ~ Q, jeśli (P,Q) R, dla pewnej bisymulacji R Innymi słowy, silna równoważność ~ jest sumą wszystkich bisymulacji Relację ~ będziemy też nazywać silną równoważnością bisymulacyjną

41 Kongruencja Silna równoważność jest kongruencją względem wszystkich operatorów

42 Słaba równoważność bisymulacyjna Pojęcia słabej bisymulacji i słabej równoważności są analogiczne do poprzednich z dokładnością do relacji tranzycji Zamiast tranzycji będziemy używać oraz zdefiniowanych następująco

43 Słaba bisymulacja Relację binarną pomiędzy procesami nazywamy słabą bisymulacją, jeśli dla każej pary (P,Q) R, Analogicznie definicja słabej równoważności

44 Literatura Wykład monograficzny prof. Lasoty: Wybrane zagadnienia teorii procesów współbieżnych 2002/03 R. Milner Communication and Concurrency, Prentice Hall, R. Milner Operational and Algebraic Semantics of Concurrent Processes Dynamic congruence vs. Progressing bisimulation for CCS* Ugo Montanari and Vladimiro Sassone


Pobierz ppt "Algebra procesów CCS, bisymulacja Seminarium - Protokoły komunikacyjne 28 – 10 - 2003 Paweł Kozioł 189411."

Podobne prezentacje


Reklamy Google