Successfully reported this slideshow.                                     Upcoming SlideShare
×

# Modellierung eines verteilten Algorithmus

962 views

Published on

Workshop presentation given by Niels Lohmann on October 14, 2004 in Groß Köris, Germany at Luhme X.

Published in: Education
• Full Name
Comment goes here.

Are you sure you want to Yes No • Be the first to comment

• Be the first to like this

### Modellierung eines verteilten Algorithmus

1. 1. Modellierung einesverteilten Algorithmus Luhme X Niels Lohmann nlohmann@informatik.hu-berlin.dehttp://www.informatik.hu-berlin.de/~nlohmann/arbeit 14.10.2004
2. 2. Übersicht Luhme X1. Mutex-Algorithmus2. Modellierung als Petrinetz3. Überführung in TLA+-Formel4. Neue Modellierung in TLA+5. Model Checking 2
3. 3. Mutex-AlgorithmusSzenario Luhme X § „global mutual exclusion in networks“ § als Baum organisiertes Netzwerk Mutex-Algorithmus § globaler wechselseitiger Ausschluss Modellierung als Petrinetz § Token T als Semaphor Überführung in TLA+-Formel Neue Modellierung § Tokenlines b in TLA+ Model Checking Die Tokenlines bilden stets einen gerichteten Baum mit dem Token- c a Besitzer als Wurzel. T 3
4. 4. Mutex-AlgorithmusAblauf b Luhme X besitze Token Mutex-Algorithmus Modellierung als c a Petrinetz T Überführung in TLA+-Formel Neue Modellierung in TLA+ Model Checking 4
5. 5. Mutex-AlgorithmusAblauf b Luhme X besitze Token Request! Mutex-Algorithmus Modellierung als c a Petrinetz T Überführung in TLA+-Formel Neue Modellierung in TLA+ Model Checking 5
6. 6. Mutex-AlgorithmusAblauf leite Request weiter b Luhme X besitze Token Request! Mutex-Algorithmus Modellierung als c a Petrinetz T Überführung in TLA+-Formel Neue Modellierung in TLA+ Model Checking 6
7. 7. Mutex-AlgorithmusAblauf besitze Token b Luhme X T gebe Token an b Request! Mutex-Algorithmus Modellierung als c a Petrinetz Überführung in TLA+-Formel Neue Modellierung in TLA+ Model Checking 7
8. 8. Mutex-AlgorithmusAblauf gebe Token an c b Luhme X Request! Mutex-Algorithmus Modellierung als c a Petrinetz Überführung in besitze T TLA+-Formel Token Neue Modellierung in TLA+ Model Checking 8
9. 9. Mutex-AlgorithmusAblauf b Luhme X kritisch Mutex-Algorithmus Modellierung als c a Petrinetz Überführung in TLA+-Formel Neue Modellierung in TLA+ Model Checking 9
10. 10. Mutex-AlgorithmusAblauf b Luhme X besitze Token Mutex-Algorithmus Modellierung als c a Petrinetz Überführung in T TLA+-Formel Neue Modellierung in TLA+ Model Checking 10
11. 11. Modellierung als PetrinetzNetz Σ Luhme X Mutex-Algorithmus Modellierung als Petrinetz Überführung in TLA+-Formel Neue Modellierung in TLA+ Model Checking Anfangsmarkierung: Menge aller Sites Token-Lines erster Token-Besitzer 11
12. 12. Modellierung als PetrinetzNetz Σ Luhme X Mutex-Algorithmus Modellierung als Petrinetz Überführung in TLA+-Formel Neue Modellierung in TLA+ Model Checking x fragt für sich selbst nach z fragt für x nach z ist näher am Token-Besitzer als x 12
13. 13. Modellierung als PetrinetzKorrektheit Luhme X In Elements of Distributed Algorithms wurde die Eigenschaft Mutex-Algorithmus Modellierung als Petrinetz Überführung in TLA+-Formel bewiesen. Neue Modellierung in TLA+ Model Checking „Jeder, der kritisch werden möchte, wird auch irgendwann kritisch.“ 13
14. 14. Überführung in TLA+-FormelWas ist TLA+? Luhme X + TLA ist eine Kombination aus § der temporalen Logik TLA Mutex-Algorithmus § der klassischen Mengenlehre Modellierung als Petrinetz Überführung in TLA+-Formel Neue Modellierung in TLA+ + → TLA ist eine Speziﬁkationssprache für Model Checking verteilte Systeme. 14
15. 15. Überführung in TLA+-FormelTLA – The Temporal Logic of Actions Zustand Luhme X § Abläufe Mutex-Algorithmus Modellierung als Petrinetz Überführung in TLA+-Formel Neue Modellierung in TLA+ § TLA-Formeln Model Checking Zustandsprädikat TLA-Aktionen neuer Wert für x 15
16. 16. Überführung in TLA+-FormelTLA – The Temporal Logic of Actions Luhme X § Stottern Mutex-Algorithmus Modellierung als Petrinetz Überführung in § Speziﬁkation TLA+-Formel Neue Modellierung in TLA+ Model Checking Initialisierungs- Tupel aller Fairness- bedingung Variablen annahmen 16
17. 17. Überführung in TLA+-FormelIdee Luhme X + § in TLA dürfen Variablen Mengen sein § Fairness und Progress von Aktionen Mutex-Algorithmus kann ausgedrückt werden Modellierung als Petrinetz Überführung in TLA+-Formel Neue Modellierung in TLA+ → Idee: „kanonische“ Überführung des Model Checking Petrinetzes in eine TLA+-Formel: § Plätze → Mengen § Transitionen → Aktionen 17
18. 18. Überführung in TLA+-FormelVariablen Luhme X Mutex-Algorithmus Modellierung als Petrinetz Überführung in TLA+-Formel Neue Modellierung in TLA+ Model Checking 18
19. 19. Überführung in TLA+-FormelAktionen Luhme X Mutex-Algorithmus Modellierung als Petrinetz Überführung in TLA+-Formel Neue Modellierung in TLA+ Model Checking 19
20. 20. Überführung in TLA+-FormelAktionen Luhme X Mutex-Algorithmus Modellierung als Petrinetz Überführung in TLA+-Formel Neue Modellierung in TLA+ Model Checking 20
21. 21. Überführung in TLA+-FormelSpeziﬁkation Luhme X Mutex-Algorithmus Modellierung als Petrinetz Überführung in TLA+-Formel Neue Modellierung in TLA+ Model Checking 21
22. 22. Neue Modellierung in TLA+Ansatz Luhme X § in der Petrinetz-Modellierung unrealistisch/zu abstrakt: Mutex-Algorithmus § pending als öﬀentlicher Nachrichtenplatz Modellierung als Petrinetz § compass als globale Netzinfrastruktur Überführung in TLA+-Formel Neue Modellierung § Entnahme von compass-Kanten in TLA+ Model Checking § besser/realistischer: § agentenbasierte Sicht § Mailboxen § lokale Nachrichtenkanäle 22
23. 23. Neue Modellierung in TLA+Szenario Luhme X § jede Site/Agent besitzt… § eine Mailbox für Anfragen Mutex-Algorithmus § Nachrichtenkanäle zu seinen Nachbarn Modellierung als Petrinetz § eine „Vater-Site“ oder das Token T Überführung in TLA+-Formel Neue Modellierung § einen Zustand (idle, requesting, critical) in TLA+ Model Checking § … und sieht § seine Nachbarn c b § sonst nichts 23
24. 24. Neue Modellierung in TLA+Ablauf father state mailbox a a idle ; Luhme X b a idle ; c b idle ; b Mutex-Algorithmus a Modellierung als Petrinetz Überführung in TLA+-Formel c a Neue Modellierung in TLA+ T b Model Checking hier per Deﬁnition deterministisch 24
25. 25. Neue Modellierung in TLA+Ablauf father state mailbox a a idle ; Luhme X b a idle ; c b request ; b Mutex-Algorithmus a Modellierung als Petrinetz Überführung in TLA+-Formel c a Neue Modellierung in TLA+ T b Model Checking 25
26. 26. Neue Modellierung in TLA+Ablauf father state mailbox a a idle ; Luhme X b a idle {c} c b request ; c b Mutex-Algorithmus a Modellierung als Petrinetz Überführung in TLA+-Formel c a Neue Modellierung in TLA+ T b Model Checking 26
27. 27. Neue Modellierung in TLA+Ablauf father state mailbox a a idle {b} Luhme X b a idle {c} c b request ; c b Mutex-Algorithmus a Modellierung als Petrinetz Überführung in TLA+-Formel c b a Neue Modellierung in TLA+ T b Model Checking 27
28. 28. Neue Modellierung in TLA+Ablauf father state mailbox a b idle ; Luhme X b b idle {c} c b request ; c b Mutex-Algorithmus T Modellierung als Petrinetz Überführung in TLA+-Formel c a Neue Modellierung in TLA+ b b Model Checking 28
29. 29. Neue Modellierung in TLA+Ablauf father state mailbox a b idle ; Luhme X b c idle ; c c request ; b Mutex-Algorithmus c Modellierung als Petrinetz Überführung in TLA+-Formel c a Neue Modellierung in TLA+ T Model Checking b 29
30. 30. Neue Modellierung in TLA+Ablauf father state mailbox a b idle ; Luhme X b c idle ; c c critical ; b Mutex-Algorithmus c Modellierung als Petrinetz Überführung in TLA+-Formel c a Neue Modellierung in TLA+ T Model Checking b 30
31. 31. Neue Modellierung in TLA+Ablauf father state mailbox a b idle ; Luhme X b c idle ; c c idle ; b Mutex-Algorithmus c Modellierung als Petrinetz Überführung in TLA+-Formel c a Neue Modellierung in TLA+ T Model Checking b 31
32. 32. Neue Modellierung in TLA+Speziﬁkation Luhme X nur den Agenten betreﬀend Mutex-Algorithmus Modellierung als die Umwelt Petrinetz betreﬀend Überführung in TLA+-Formel Neue Modellierung in TLA+ Model Checking 32
33. 33. Model CheckingZustandsraum Luhme X die erwartete Zustandsraumexplosion: § Petrinetz-Modellierung (n Sites): Mutex-Algorithmus § Modellierung als Petrinetz Überführung in § Agentenversion (n Agenten): TLA+-Formel Neue Modellierung in TLA+ § Model Checking → zu viel für einen Model Checker? 33
34. 34. Model CheckingModel Checker TLC Luhme X + § TLC akzeptiert eine Teilklasse von TLA (hier keine Einschränkung) Mutex-Algorithmus § explizites Model Checking für Modellierung als Petrinetz endliche Systeme Überführung in TLA+-Formel Neue Modellierung § kaum Reduktionstechniken (nur in TLA+ Model Checking Symmetrie – hier nicht anwendbar) § sehr große Schwächen, Lebendigkeit zu beweisen 34
35. 35. Model CheckingErgebnisse Luhme X § in keiner der Modellierung (Petrinetz, Agenten) Ergebnisse für mehr als zwei Sites Mutex-Algorithmus Modellierung als Petrinetz § Lebendigkeitsformeln wie z. B. Überführung in TLA+-Formel Neue Modellierung in TLA+ Model Checking ließen sich nicht mit TLC beweisen § bewiesen: Mutex, Typinvarianten § die Ergebnisse von TLC sind teilweise recht eigenartig 35
36. 36. Model CheckingErgebnisse Luhme X Mutex-Algorithmus Speicherüberlauf bei drei Sites: 4 GB RAM in 30 Minuten… Modellierung als Petrinetz Überführung in TLA+-Formel Neue Modellierung in TLA+ Model Checking Erfolgreiche Veriﬁkation (bei vier Sites) jeder Lebendigkeitsformel der Form 36
37. 37. Modellierung einesverteilten Algorithmus Luhme-Workshop 2004 Vielen Dank! Niels Lohmann nlohmann@informatik.hu-berlin.dehttp://www.informatik.hu-berlin.de/~nlohmann/arbeit 14.10.2004