CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez...
Transcript of CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez...
![Page 1: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/1.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
CADP
Sławomir Rudnicki
Niezawodnosc systemów współbieznych i obiektowych
18 maja 2011
Sławomir Rudnicki CADP
![Page 2: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/2.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
1 Wprowadzenie
2 LOTOS
3 Narzedzia CADP
4 Prezentacja
5 Case studies
Sławomir Rudnicki CADP
![Page 3: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/3.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
Wprowadzenie
CADP(Construction and Analysis of Distributed Protocols)
Jezyk definiowania protokołów i systemów LOTOS,Zestaw narzedzi do manipulacji i weryfikacji systemów.
Program komercyjny, rozwijany przez zespół VASY w INRIA.Darmowe licencje dostepne dla uczelni.
Sławomir Rudnicki CADP
![Page 4: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/4.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
WprowadzeniePodstawowy LOTOSRozszerzony LOTOSAbstrakcyjne typy danych
LOTOS
1 Algebra procesów wzorowana na:CCS –Calculus of Communicating Processes, Milner 1980CSP –Communicating Sequential Processes, Hoare 1978
2 Jezyk do opisu abstrakcyjnych typów danych
Sławomir Rudnicki CADP
![Page 5: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/5.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
WprowadzeniePodstawowy LOTOSRozszerzony LOTOSAbstrakcyjne typy danych
LOTOS
Rozwijany przez grupe ekspertów wewnatrz ISO w latach1981–1987W roku 1989 uznany za miedzynarodowy standard ISO8807Sugerowane zastosowania:
Modelowanie protokołów dla poszczególnych elementówstosu OSIInne protokoły komunikacyjneSystemy współbiezne przetwarzajace informacje
Sławomir Rudnicki CADP
![Page 6: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/6.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
WprowadzeniePodstawowy LOTOSRozszerzony LOTOSAbstrakcyjne typy danych
Analogia muzyczna
Protopianola
P1[C, E, G, c, e, g, c’]
Sławomir Rudnicki CADP
![Page 7: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/7.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
WprowadzeniePodstawowy LOTOSRozszerzony LOTOSAbstrakcyjne typy danych
Analogia muzyczna
Dopuszczalne sekwencje:
Cc
c’
E
G
c
ii
G
E
C
e
g
c’
g
e
c
Sławomir Rudnicki CADP
![Page 8: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/8.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
WprowadzeniePodstawowy LOTOSRozszerzony LOTOSAbstrakcyjne typy danych
Analogia muzyczna
Dwie protopianole
G
g
E e
P1[C, E, G, c, e, g, c’] ||| P2[C, E, G, c, e, g, c’]
Sławomir Rudnicki CADP
![Page 9: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/9.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
WprowadzeniePodstawowy LOTOSRozszerzony LOTOSAbstrakcyjne typy danych
Analogia muzyczna
Dwie połaczone protopianole
Cc
c’
ii
G
E
C
g
e
c
P1[C, E, G, c, e, g, c’] |[E, G, e, g]| P2[C, E, G, c, e, g, c’]Sławomir Rudnicki CADP
![Page 10: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/10.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
WprowadzeniePodstawowy LOTOSRozszerzony LOTOSAbstrakcyjne typy danych
Podstawowy LOTOS
Algebra procesów bez wymiany danych na bramkach.Przykładowa definicja procesu:
process Max3[in1, in2, in3, out] :=hide mid in
Max2[in1, in2, mid] |[mid]| Max2[mid, in3, out]where
process Max2[a, b, c] :=a;b;c;stop[]b;a;c;stop
endprocendproc
Sławomir Rudnicki CADP
![Page 11: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/11.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
WprowadzeniePodstawowy LOTOSRozszerzony LOTOSAbstrakcyjne typy danych
Ukryta bramka
in1
in2 in3
Max3
Max2Max2
outmid
Bramka mid jest ukryta – nie ma do niej dostepu z zewnatrzprocesu Max3.
Sławomir Rudnicki CADP
![Page 12: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/12.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
WprowadzeniePodstawowy LOTOSRozszerzony LOTOSAbstrakcyjne typy danych
Zachowanie procesu: programy sekwencyjne
Proces bezczynnosci:stop
Zakonczenie procesu:exit
Złozenie sekwencyjne:i; P
a; P
WybórP1[]P2
Wywołanie procesu:
P[g1,g2, . . . ,gn]
Pozwala uzyskac rekurencje lub iteracje.Sławomir Rudnicki CADP
![Page 13: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/13.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
WprowadzeniePodstawowy LOTOSRozszerzony LOTOSAbstrakcyjne typy danych
Zachowanie procesu: współbieznosc
Złozenie współbiezne z synchronizacja:
P1 |[g1,g2, . . . ,gn]|P2
Procesy synchronizuja sie na bramkach g1, . . . ,gn.Pozostałe akcje obu procesów sa niezalezne.Czysta współbieznosc:
P1|||P2
Bez synchronizacjiPełna synchronizacja:
P1||P2
Synchronizacja na wszystkich bramkach
Sławomir Rudnicki CADP
![Page 14: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/14.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
WprowadzeniePodstawowy LOTOSRozszerzony LOTOSAbstrakcyjne typy danych
Zachowanie procesu: relacje miedzy procesami
Wyzwolenie:P1 >> P2
Proces P2 moze działac dopiero po zakonczeniu sieprocesu P1 Przykład:
(a; b; exit|||a; c; stop) >> P[. . . ]
Nie zadziała!Blokowanie:
P [> B
Proces B moze w kazdym momencie przerwac działanieP.
Sławomir Rudnicki CADP
![Page 15: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/15.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
WprowadzeniePodstawowy LOTOSRozszerzony LOTOSAbstrakcyjne typy danych
Rozszerzony LOTOS
Do algebry procesów zostana dodane wartosci, które moga bycprzekazywane pomiedzy procesami
Deklaracja bramki:
gi 〈true, “foo“,3〉
Deklaracja wartosci!(x + 1)
Deklaracja zmiennej?x : nat
Sławomir Rudnicki CADP
![Page 16: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/16.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
WprowadzeniePodstawowy LOTOSRozszerzony LOTOSAbstrakcyjne typy danych
Komunikacja miedzy procesami
Synchronizacja:P1 :: g !EP2 :: g !E
Przekazywanie wartosci:P1 :: g !EP2 :: g ?x : t
Uzgadnianie wartosciP1 :: g ?x : tP2 :: g ?y : u
Sławomir Rudnicki CADP
![Page 17: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/17.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
WprowadzeniePodstawowy LOTOSRozszerzony LOTOSAbstrakcyjne typy danych
Konstrukcje warunkowe
Warunki wyboru:g?x : nat [x < 3]
Przykład: negocjacja parametru
hide g ing ?x:nat[x<max]; B1(x)|[g]|g ?y:nat[y>min]; B2(y)
Instrukcje dozorowane:
[x > 0]→ E
Przykład: wartosc bezwzgledna
[x>0] −> sap !x; P[...](x, ...)[] [x<=0] −> sap !−x; P[...](x, ...)
Sławomir Rudnicki CADP
![Page 18: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/18.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
WprowadzeniePodstawowy LOTOSRozszerzony LOTOSAbstrakcyjne typy danych
Wybór niedeterministyczny
Wybór wartosci danego typu:
choice x : t [] i ; B(x)
Wybór bramki
choice g in [a1, . . . ,an] [] P[g]
Sławomir Rudnicki CADP
![Page 19: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/19.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
WprowadzeniePodstawowy LOTOSRozszerzony LOTOSAbstrakcyjne typy danych
Składanie sekwencyjne z przekazywaniem wartosci
Przekazywanie wartosci przez proces konczacy sie:
exit(x , y)
Przejmowanie wartosci przez nowy proces:
B1 >> accept x1 : t1, . . . , xn : tn in B2
Funkcjonalnosc procesu:
process P : func := . . .
noexit exit exit(t1, . . . , tn)
Sławomir Rudnicki CADP
![Page 20: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/20.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
WprowadzeniePodstawowy LOTOSRozszerzony LOTOSAbstrakcyjne typy danych
Abstrakcyjne typy danych
LOTOS pozwala na definiowanie typów danych przezkonstruktory i aksjomaty.Przykład: definicja liczb naturalnych z dodawaniem:
Nosnik: NSygnatura: 〈0, s,+〉Aksjomaty:
x + 0 = x
x + s(y) = s(x + y)
Sławomir Rudnicki CADP
![Page 21: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/21.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
WprowadzeniePodstawowy LOTOSRozszerzony LOTOSAbstrakcyjne typy danych
Abstrakcyjne typy danych
type Nat_numbers issorts natopns 0 : −> nat
s : nat −> nat_+_ : nat, nat −> nat.
eqnsforall x, y : natofsort nat
x + 0 = x;x + s(y) = s(x+y);
endtype
Sławomir Rudnicki CADP
![Page 22: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/22.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
Kompilatory LOTOS-uManipulacja przestrzenia stanówBadanie odpowiedniosciWeryfikacja własnosci modeliI wiecej...
CAESAR
Kompiluje opis zachowania procesów do:C – do symulacji przez inne narzedziaLTS (Labelled Transition System) – do weryfikacji
Akceptuje rozszerzony jezyk LOTOS bez rekurencjiprocesów po lewej stronie >> i [> oraz po obu stronach|[. . . ]|.W rozsadnym czasie buduje systemy o kilku milionachstanów.
Sławomir Rudnicki CADP
![Page 23: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/23.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
Kompilatory LOTOS-uManipulacja przestrzenia stanówBadanie odpowiedniosciWeryfikacja własnosci modeliI wiecej...
CAESAR.ADT
Kompilator opisów abstrakcyjnych typów danych dowykorzystania w C.
Typy definiowane w LOTOS-ie sa przekształcane w typy CKonstruktory sa przekształcane w funkcje C
Sławomir Rudnicki CADP
![Page 24: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/24.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
Kompilatory LOTOS-uManipulacja przestrzenia stanówBadanie odpowiedniosciWeryfikacja własnosci modeliI wiecej...
BCG
BCG jest binarnym formatem przechowywania strukturKripkego oraz zbiorem narzedzi do manipulacji nimi.Wybrane narzedzia:
BCG_DRAWBCG_EDITBCG_MINBCG_INFO
Sławomir Rudnicki CADP
![Page 25: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/25.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
Kompilatory LOTOS-uManipulacja przestrzenia stanówBadanie odpowiedniosciWeryfikacja własnosci modeliI wiecej...
OPEN/CAESAR
Framework do tworzenia narzedzi do:symulacjiuruchamianiaweryfikacji
działajace na róznych reprezentacjach przestrzeni stanów.
Sławomir Rudnicki CADP
![Page 26: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/26.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
Kompilatory LOTOS-uManipulacja przestrzenia stanówBadanie odpowiedniosciWeryfikacja własnosci modeliI wiecej...
OPEN/CAESAR: wybrane moduły
Symulatory:OCIS, XSIMULATOR, SIMULATORGENERATOR:generator BCG z innych formatów z analiza osiagalnosciEXECUTOR:losowe wykonanie modeluEXHIBITOR:wyszukiwanie sekwencji
Sławomir Rudnicki CADP
![Page 27: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/27.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
Kompilatory LOTOS-uManipulacja przestrzenia stanówBadanie odpowiedniosciWeryfikacja własnosci modeliI wiecej...
BISIMULATOR
Weryfikuje odpowiedniosc dwóch modeli wzgledemzadanej relacji równowaznosci.
Sławomir Rudnicki CADP
![Page 28: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/28.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
Kompilatory LOTOS-uManipulacja przestrzenia stanówBadanie odpowiedniosciWeryfikacja własnosci modeliI wiecej...
BISIMULATOR: relacje równowaznosci
Silna odpowiedniosc:
p b→ p′ ⇒ q b→ q′ ∧ p′ ∼ q′
Równowaznosc gałeziowa:
p τ→ p′ ⇒ p′ ∼ q
p a→ p′ ⇒ q τ∗→ q′ a→ q′′ ∧ p ∼ q′ ∧ p′ ∼ q′′
Równowaznosc obserwacyjna:
p τ→ p′ ⇒ q τ∗→ q′ ∧ p′ ∼ q′
p a→ p′ ⇒ q τ∗aτ∗→ q′ ∧ p′ ∼ q′
Równowaznosc τ∗a:
p τ∗a→ p′ ⇒ q τ∗a→ q′ ∧ p′ ∼ q′
Sławomir Rudnicki CADP
![Page 29: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/29.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
Kompilatory LOTOS-uManipulacja przestrzenia stanówBadanie odpowiedniosciWeryfikacja własnosci modeliI wiecej...
REDUCTOR
Redukuje rozmiar przestrzeni stanów, zachowujacrównowaznosc wzgledem wybranych relacji. Wybraneredukcje:
redukcja zduplikowanych tranzycji,τ -dywergencja: zastapienie silnie spójnych składowych zτ -przejsciami pojedyncza petla,τ -kompresja: usuniecie silnie spójnych składowych z τprzejsciami,τ∗a: eliminacja wszystkich τ -przejsc.
Sławomir Rudnicki CADP
![Page 30: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/30.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
Kompilatory LOTOS-uManipulacja przestrzenia stanówBadanie odpowiedniosciWeryfikacja własnosci modeliI wiecej...
EVALUATOR
Umozliwia weryfikacje własnosci definiowanych w regularnymµ-rachunku modalnym.
Sławomir Rudnicki CADP
![Page 31: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/31.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
Kompilatory LOTOS-uManipulacja przestrzenia stanówBadanie odpowiedniosciWeryfikacja własnosci modeliI wiecej...
EVALUATOR: jezyk opisu własnosci
A – Formuła logiczna zbudowana z wyrazen regularnychopisujacych akcje, np.:
true
“a !TRUE“ or “b !FALSE“
“ba(b|c)(a∗)“ or “.∗!3“
R – Wyrazenia regularne nad A z operacjami
R1.R2 R1|R2 R ∗ R+
Sławomir Rudnicki CADP
![Page 32: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/32.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
Kompilatory LOTOS-uManipulacja przestrzenia stanówBadanie odpowiedniosciWeryfikacja własnosci modeliI wiecej...
EVALUATOR: jezyk opisu własnosci
F – Formuły logiki modalnej:
true false ¬F F1∧∨⇒ F2
〈R〉F [R] F
@R
µX .F νX .F
Sławomir Rudnicki CADP
![Page 33: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/33.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
Kompilatory LOTOS-uManipulacja przestrzenia stanówBadanie odpowiedniosciWeryfikacja własnosci modeliI wiecej...
EVALUATOR: przykłady
Brak zakleszczen:[true∗] 〈true〉
Bezpieczenstwo:
[true∗.Error ] false
Zywotnosc:〈true∗.Ok〉 true
µX . (〈true〉 true and [not Ok ] X )
Sławomir Rudnicki CADP
![Page 34: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/34.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
Kompilatory LOTOS-uManipulacja przestrzenia stanówBadanie odpowiedniosciWeryfikacja własnosci modeliI wiecej...
XTL
EXecutable Temporal Language – funkcyjny jezyk opisuwłasnosci przestrzeni stanów z akcjami.
Pozwala na wiazanie w zmienne danych zawartych wetykietach tranzycji (np. przekazywanych pomiedzyprocesami) i manipulacje nimi. Mozna napisac:
Box (SEND ?M:Msg, EF_A (true, Dia (RECV !M, true)))
(“kazda wiadomosc, która zostaje wysłana, moze zostacodczytana”)
Sławomir Rudnicki CADP
![Page 35: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/35.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
Kompilatory LOTOS-uManipulacja przestrzenia stanówBadanie odpowiedniosciWeryfikacja własnosci modeliI wiecej...
XTL: przykłady
def Dia (A:labelset, F:stateset) : stateset ={ S:state where
exists T:edge among out (S) in(label (T) among A) and (target (T) among F)
end_exists}
end_def
Dia(A,F ) ≡ 〈A〉F
Sławomir Rudnicki CADP
![Page 36: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/36.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
Kompilatory LOTOS-uManipulacja przestrzenia stanówBadanie odpowiedniosciWeryfikacja własnosci modeliI wiecej...
XTL: przykłady
def EF_A (A:labelset, F:stateset) =for in X:stateset
while X <> (F or Dia (A, X))apply orfrom falseto F or Dia (A, X)
end_forend_def
EF_A(A,F ) ≡ µX . (F ∨ 〈A〉X ) ≡ EFA(F )
Sławomir Rudnicki CADP
![Page 37: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/37.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
Kompilatory LOTOS-uManipulacja przestrzenia stanówBadanie odpowiedniosciWeryfikacja własnosci modeliI wiecej...
XTL – biblioteki
Istnieja biblioteki, które nadbudowuja nad XTL inne logikimodalne (np. CTL, ACTL) umozliwiajac tworzenie zwiezłychformuł:
INIT implies AG_A (not (PUT), Box (GET, false))
(“Na poczatku nie mozna osiagnac akcji GET przed akcjaPUT”)
Sławomir Rudnicki CADP
![Page 38: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/38.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
Kompilatory LOTOS-uManipulacja przestrzenia stanówBadanie odpowiedniosciWeryfikacja własnosci modeliI wiecej...
I wiecej...
CADP udostepnia równiez:Analize łancuchów Markowa z czasem ciagłym,Rozpraszanie obliczen na wiele stacji roboczych,Testowanie pod wzgledem zadanych scenariuszy,Graficzny interfejs uzytkownika.
Sławomir Rudnicki CADP
![Page 39: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/39.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
Case studies
Na stronie projektu CADP znajduje sie lista ponad 130 studiówprzypadku z lat 1990–2010, w których narzedzie zostałowykorzystane.
Algorytmy współbiezne:wzajemne wykluczanie,wybór lidera,
Protokoły komunikacyjne i kryptograficzne:CHAP,TCP,protokół Needhama-Schrödera,
Zastosowania biznesowe:chilijski system przesyłania faktur,holenderski system wyborów on-line,Air Traffic Control – system kontroli lotów.
Sławomir Rudnicki CADP
![Page 40: CADP - mimuw.edu.plsl/teaching/SEMNIEZ/SLAJDY_1011/cadp.pdf · Program komercyjny, rozwijany przez zespół VASY w INRIA. Darmowe licencje dostepne˛ dla uczelni. Sławomir Rudnicki](https://reader030.fdocument.pub/reader030/viewer/2022020206/5c77357e09d3f2322f8bd94f/html5/thumbnails/40.jpg)
WprowadzenieLOTOS
Narzedzia CADPPrezentacja
Case studies
Bibliografia
Bolognesi T., Brinksma E., Introduction to the ISOSpecification Language LOTOS, Computer Networks andISDN Systems, 1987.Mateescu R., Garavel H., XTL: A Meta-Language and Toolfor Temporal Logic Model-Checking, 1998.CADP Manual Pages
Sławomir Rudnicki CADP