modellierung eines verteilten algorithmus
DESCRIPTION
Workshop presentation given by Niels Lohmann on October 14, 2004 in Groß Köris, Germany at Luhme X.TRANSCRIPT
![Page 1: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/1.jpg)
14.10.2004
Modellierung einesverteilten Algorithmus
Luhme X
Niels Lohmann
[email protected]://www.informatik.hu-berlin.de/~nlohmann/arbeit
![Page 2: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/2.jpg)
Luhme X
2
Übersicht
1. Mutex-Algorithmus
2. Modellierung als Petrinetz
3. Überführung in TLA+-Formel
4. Neue Modellierung in TLA+
5. Model Checking
![Page 3: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/3.jpg)
Luhme X
3
Mutex-Algorithmus
§ „global mutual exclusion in networks“§ als Baum organisiertes Netzwerk§ globaler wechselseitiger Ausschluss§ Token als Semaphor§ Tokenlines
Szenario
c a
b
T
T
Die Tokenlines bilden stets einen gerichteten Baum mit dem Token-Besitzer als Wurzel.
Mutex-Algorithmus
Modellierung als Petrinetz
Überführung inTLA+-Formel
Neue Modellierungin TLA+
Model Checking
![Page 4: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/4.jpg)
Luhme X
4
Mutex-Algorithmus
c a
bbesitze Token
T
Ablauf
Mutex-Algorithmus
Modellierung als Petrinetz
Überführung inTLA+-Formel
Neue Modellierungin TLA+
Model Checking
![Page 5: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/5.jpg)
Luhme X
5
Mutex-Algorithmus
c a
b
Request!
besitze Token
T
Ablauf
Mutex-Algorithmus
Modellierung als Petrinetz
Überführung inTLA+-Formel
Neue Modellierungin TLA+
Model Checking
![Page 6: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/6.jpg)
Luhme X
6
Mutex-Algorithmus
c a
b
Request!
besitze Token
leite Requestweiter
T
Ablauf
Mutex-Algorithmus
Modellierung als Petrinetz
Überführung inTLA+-Formel
Neue Modellierungin TLA+
Model Checking
![Page 7: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/7.jpg)
Luhme X
7
Mutex-Algorithmus
c a
bT
besitze Token
gebe Tokenan b
Request!
Ablauf
Mutex-Algorithmus
Modellierung als Petrinetz
Überführung inTLA+-Formel
Neue Modellierungin TLA+
Model Checking
![Page 8: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/8.jpg)
Luhme X
8
Mutex-Algorithmus
c a
b
cT
Request!
besitze Token
gebe Tokenan c
Ablauf
Mutex-Algorithmus
Modellierung als Petrinetz
Überführung inTLA+-Formel
Neue Modellierungin TLA+
Model Checking
![Page 9: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/9.jpg)
Luhme X
9
Mutex-Algorithmus
a
b
Ablauf
cc
kritischMutex-Algorithmus
Modellierung als Petrinetz
Überführung inTLA+-Formel
Neue Modellierungin TLA+
Model Checking
![Page 10: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/10.jpg)
Luhme X
10
Mutex-Algorithmus
a
b
Ablauf
cT
Mutex-Algorithmus
Modellierung als Petrinetz
Überführung inTLA+-Formel
Neue Modellierungin TLA+
Model Checking
besitzeToken
![Page 11: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/11.jpg)
Luhme X
11
Modellierung als Petrinetz
Menge aller Sites Token-Lines erster Token-Besitzer
Mutex-Algorithmus
Modellierung als Petrinetz
Überführung inTLA+-Formel
Neue Modellierungin TLA+
Model Checking
Netz Σ
Anfangsmarkierung:
![Page 12: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/12.jpg)
Luhme X
12
Modellierung als Petrinetz
x fragt für sich selbst nach
z fragt für x nach
z ist näher am Token-Besitzer als x
Netz Σ
Mutex-Algorithmus
Modellierung als Petrinetz
Überführung inTLA+-Formel
Neue Modellierungin TLA+
Model Checking
![Page 13: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/13.jpg)
Luhme X
13
Modellierung als Petrinetz
In Elements of Distributed Algorithmswurde die Eigenschaft
bewiesen.
„Jeder, der kritisch werden möchte, wird auch irgendwann kritisch.“
Korrektheit
Mutex-Algorithmus
Modellierung als Petrinetz
Überführung inTLA+-Formel
Neue Modellierungin TLA+
Model Checking
![Page 14: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/14.jpg)
Luhme X
14
Überführung in TLA+-Formel
TLA+ ist eine Kombination aus§ der temporalen Logik TLA
§ der klassischen Mengenlehre
→ TLA+ ist eine Spezifikationssprache für verteilte Systeme.
Was ist TLA+?
Mutex-Algorithmus
Modellierung als Petrinetz
Überführung inTLA+-Formel
Neue Modellierungin TLA+
Model Checking
![Page 15: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/15.jpg)
Luhme X
15
Überführung in TLA+-Formel
§ Abläufe
§ TLA-Formeln
TLA – The Temporal Logic of Actions
Zustandsprädikat
TLA-Aktionen
neuer Wert für x
Mutex-Algorithmus
Modellierung als Petrinetz
Überführung inTLA+-Formel
Neue Modellierungin TLA+
Model Checking
Zustand
![Page 16: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/16.jpg)
Luhme X
16
Überführung in TLA+-Formel
§ Stottern
§ Spezifikation
TLA – The Temporal Logic of Actions
Initialisierungs-bedingung
Fairness-annahmen
Tupel allerVariablen
Mutex-Algorithmus
Modellierung als Petrinetz
Überführung inTLA+-Formel
Neue Modellierungin TLA+
Model Checking
![Page 17: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/17.jpg)
Luhme X
17
Überführung in TLA+-Formel
§ in TLA+ dürfen Variablen Mengen sein§ Fairness und Progress von Aktionen
kann ausgedrückt werden
→ Idee: „kanonische“ Überführung des Petrinetzes in eine TLA+-Formel:
§ Plätze → Mengen§ Transitionen → Aktionen
Idee
Mutex-Algorithmus
Modellierung als Petrinetz
Überführung inTLA+-Formel
Neue Modellierungin TLA+
Model Checking
![Page 18: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/18.jpg)
Luhme X
18
Überführung in TLA+-Formel
Mutex-Algorithmus
Modellierung als Petrinetz
Überführung inTLA+-Formel
Neue Modellierungin TLA+
Model Checking
Variablen
![Page 19: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/19.jpg)
Luhme X
19
Überführung in TLA+-FormelAktionen
Mutex-Algorithmus
Modellierung als Petrinetz
Überführung inTLA+-Formel
Neue Modellierungin TLA+
Model Checking
![Page 20: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/20.jpg)
Luhme X
20
Überführung in TLA+-FormelAktionen
Mutex-Algorithmus
Modellierung als Petrinetz
Überführung inTLA+-Formel
Neue Modellierungin TLA+
Model Checking
![Page 21: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/21.jpg)
Luhme X
21
Überführung in TLA+-FormelSpezifikation
Mutex-Algorithmus
Modellierung als Petrinetz
Überführung inTLA+-Formel
Neue Modellierungin TLA+
Model Checking
![Page 22: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/22.jpg)
Luhme X
22
Neue Modellierung in TLA+
§ in der Petrinetz-Modellierung unrealistisch/zu abstrakt:
§ pending als öffentlicher Nachrichtenplatz§ compass als globale Netzinfrastruktur§ Entnahme von compass-Kanten
§ besser/realistischer:§ agentenbasierte Sicht§ Mailboxen§ lokale Nachrichtenkanäle
Mutex-Algorithmus
Modellierung als Petrinetz
Überführung inTLA+-Formel
Neue Modellierungin TLA+
Model Checking
Ansatz
![Page 23: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/23.jpg)
Luhme X
23
Neue Modellierung in TLA+
§ jede Site/Agent besitzt…§ eine Mailbox für Anfragen§ Nachrichtenkanäle zu seinen Nachbarn§ eine „Vater-Site“ oder das Token§ einen Zustand (idle, requesting, critical)
§ … und sieht§ seine Nachbarn§ sonst nichts
Szenario
cb
T
Mutex-Algorithmus
Modellierung als Petrinetz
Überführung inTLA+-Formel
Neue Modellierungin TLA+
Model Checking
![Page 24: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/24.jpg)
Luhme X
24
c a
b
Neue Modellierung in TLA+
Tb
a
Ablauf
baa
father
;idlec;idleb;idlea
mailboxstate
Mutex-Algorithmus
Modellierung als Petrinetz
Überführung inTLA+-Formel
Neue Modellierungin TLA+
Model Checking
hier per Definition deterministisch
![Page 25: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/25.jpg)
Luhme X
25
c a
b
Neue Modellierung in TLA+
Tb
a
Ablauf
baa
father
requestcidlebidlea
mailboxstate
Mutex-Algorithmus
Modellierung als Petrinetz
Überführung inTLA+-Formel
Neue Modellierungin TLA+
Model Checking
;
;
;
![Page 26: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/26.jpg)
Luhme X
26
c a
b
Neue Modellierung in TLA+
c
Tb
a
Ablauf
baa
father
requestc{c}idleb
idleamailboxstate
Mutex-Algorithmus
Modellierung als Petrinetz
Überführung inTLA+-Formel
Neue Modellierungin TLA+
Model Checking
;
;
![Page 27: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/27.jpg)
Luhme X
27
c a
b
Neue Modellierung in TLA+
b
c
Tb
a
Ablauf
baa
father
requestc{c}idleb{b}idlea
mailboxstate
Mutex-Algorithmus
Modellierung als Petrinetz
Überführung inTLA+-Formel
Neue Modellierungin TLA+
Model Checking
;
![Page 28: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/28.jpg)
Luhme X
28
c a
b
Neue Modellierung in TLA+
c
T
b b
Ablauf
bbb
father
requestc{c}idleb
idleamailboxstate
Mutex-Algorithmus
Modellierung als Petrinetz
Überführung inTLA+-Formel
Neue Modellierungin TLA+
Model Checking
;
;
![Page 29: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/29.jpg)
Luhme X
29
c a
b
Neue Modellierung in TLA+
Tb
c
Ablauf
ccb
father
requestcidlebidlea
mailboxstate
Mutex-Algorithmus
Modellierung als Petrinetz
Überführung inTLA+-Formel
Neue Modellierungin TLA+
Model Checking
;
;
;
![Page 30: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/30.jpg)
Luhme X
30
c a
b
Neue Modellierung in TLA+
Tb
c
Ablauf
ccb
father
criticalcidlebidlea
mailboxstate
Mutex-Algorithmus
Modellierung als Petrinetz
Überführung inTLA+-Formel
Neue Modellierungin TLA+
Model Checking
;
;
;
![Page 31: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/31.jpg)
Luhme X
31
c a
b
Neue Modellierung in TLA+
Tb
c
Ablauf
ccb
father
idlecidlebidlea
mailboxstate
Mutex-Algorithmus
Modellierung als Petrinetz
Überführung inTLA+-Formel
Neue Modellierungin TLA+
Model Checking
;
;
;
![Page 32: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/32.jpg)
Luhme X
32
Neue Modellierung in TLA+
Spezifikation
Mutex-Algorithmus
Modellierung als Petrinetz
Überführung inTLA+-Formel
Neue Modellierungin TLA+
Model Checking
nur den Agentenbetreffend
die Umweltbetreffend
![Page 33: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/33.jpg)
Luhme X
33
Model Checking
die erwartete Zustandsraumexplosion:
§ Petrinetz-Modellierung (n Sites):§
§ Agentenversion (n Agenten):§
→ zu viel für einen Model Checker?
Zustandsraum
Mutex-Algorithmus
Modellierung als Petrinetz
Überführung inTLA+-Formel
Neue Modellierungin TLA+
Model Checking
![Page 34: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/34.jpg)
Luhme X
34
Model Checking
§ TLC akzeptiert eine Teilklasse von TLA+ (hier keine Einschränkung)
§ explizites Model Checking fürendliche Systeme
§ kaum Reduktionstechniken (nur Symmetrie – hier nicht anwendbar)
§ sehr große Schwächen, Lebendigkeit zu beweisen
Model Checker TLC
Mutex-Algorithmus
Modellierung als Petrinetz
Überführung inTLA+-Formel
Neue Modellierungin TLA+
Model Checking
![Page 35: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/35.jpg)
Luhme X
35
Model Checking
§ in keiner der Modellierung (Petrinetz, Agenten) Ergebnisse für mehr als zwei Sites
§ Lebendigkeitsformeln wie z. B.
ließen sich nicht mit TLC beweisen
§ bewiesen: Mutex, Typinvarianten§ die Ergebnisse von TLC sind teilweise
recht eigenartig
Ergebnisse
Mutex-Algorithmus
Modellierung als Petrinetz
Überführung inTLA+-Formel
Neue Modellierungin TLA+
Model Checking
![Page 36: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/36.jpg)
Luhme X
36
Model Checking
Speicherüberlauf bei drei Sites: 4 GB RAM in 30 Minuten…Mutex-Algorithmus
Modellierung als Petrinetz
Überführung inTLA+-Formel
Neue Modellierungin TLA+
Model Checking
Ergebnisse
Erfolgreiche Verifikation (bei vier Sites) jeder Lebendigkeitsformel der Form
![Page 37: Modellierung eines verteilten Algorithmus](https://reader033.vdocuments.mx/reader033/viewer/2022052504/55380fec4a79591c7b8b469d/html5/thumbnails/37.jpg)
14.10.2004
Modellierung einesverteilten Algorithmus
Luhme-Workshop 2004
Vielen Dank!
Niels Lohmann
[email protected]://www.informatik.hu-berlin.de/~nlohmann/arbeit