Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Algebra procesów CCS, bisymulacja
Seminarium - Protokoły komunikacyjne 28 – Paweł Kozioł 189411
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
X – parametr, oznacza dowolną liczbę: xZ
in(x) wiąże x w (1) X – parametr, oznacza dowolną liczbę: xZ .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
E1 + E2 oznacza proces zachowujący się jak E1 albo E2 Zapis choice:
11
Operator ‘|’ E1 | E2 - złożenie równoległe
równoległe wykonanie E1 i E2 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
Rozważmy na przykład komunikację
Mamy: , stąd: oraz , stąd: Ale te tranzycje nie dotyczą komunikacji A z B
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
Na przykładzie procesów A i B Rozważmy proces (A | B)\c Dla niego graf tranzycji wygląda następująco:
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(e1,..., ek) – wyrażenie funkcyjne o arności k
Zmienne ek należy odróżnić od zmiennych procesowych xi X Zmienne ei 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 Ei za zmienną Xi 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
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
Wykład monograficzny prof. Lasoty:
Literatura Wykład monograficzny prof. Lasoty: Wybrane zagadnienia teorii procesów współbieżnych 2002/03 R. Milner Communication and Concurrency, Prentice Hall, 1989. R. Milner Operational and Algebraic Semantics of Concurrent Processes „Dynamic congruence vs. Progressing bisimulation for CCS*” Ugo Montanari and Vladimiro Sassone
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.