Modellierung einesverteilten Algorithmus                  Luhme X                  Niels Lohmann         nlohmann@informat...
Übersicht                                Luhme X1. Mutex-Algorithmus2. Modellierung als Petrinetz3. Überführung in TLA+-Fo...
Mutex-AlgorithmusSzenario                                                              Luhme X §        „global mutual ex...
Mutex-AlgorithmusAblauf                        b                                                 Luhme X                  ...
Mutex-AlgorithmusAblauf                        b                                                 Luhme X                  ...
Mutex-AlgorithmusAblauf                      leite Request                                weiter                        b ...
Mutex-AlgorithmusAblauf                              besitze                                    Token                     ...
Mutex-AlgorithmusAblauf                          gebe Token                                   an c                        ...
Mutex-AlgorithmusAblauf                        b                                   Luhme X         kritisch               ...
Mutex-AlgorithmusAblauf                            b                                       Luhme X         besitze        ...
Modellierung als PetrinetzNetz Σ                                                                      Luhme X             ...
Modellierung als PetrinetzNetz Σ                                                      Luhme X                             ...
Modellierung als PetrinetzKorrektheit                                               Luhme X In Elements of Distributed Alg...
Überführung in TLA+-FormelWas ist TLA+?                                              Luhme X        + TLA ist eine Kombina...
Überführung in TLA+-FormelTLA – The Temporal Logic of Actions                                          Zustand            ...
Überführung in TLA+-FormelTLA – The Temporal Logic of Actions                                                             ...
Überführung in TLA+-FormelIdee                                                     Luhme X                  + §         i...
Überführung in TLA+-FormelVariablen                                Luhme X                             Mutex-Algorithmus  ...
Überführung in TLA+-FormelAktionen                                Luhme X                             Mutex-Algorithmus   ...
Überführung in TLA+-FormelAktionen                                Luhme X                             Mutex-Algorithmus   ...
Überführung in TLA+-FormelSpezifikation                                Luhme X                             Mutex-Algorithmu...
Neue Modellierung in TLA+Ansatz                                                           Luhme X §        in der Petrine...
Neue Modellierung in TLA+Szenario                                                             Luhme X §        jede Site/...
Neue Modellierung in TLA+Ablauf         father   state   mailbox  a         a      idle     ;                          Luh...
Neue Modellierung in TLA+Ablauf         father   state mailbox  a         a      idle   ;                          Luhme X...
Neue Modellierung in TLA+Ablauf         father   state mailbox  a         a      idle   ;                              Luh...
Neue Modellierung in TLA+Ablauf         father   state mailbox  a         a      idle  {b}                             Luh...
Neue Modellierung in TLA+Ablauf         father   state mailbox  a        b       idle   ;                              Luh...
Neue Modellierung in TLA+Ablauf         father   state mailbox  a        b       idle   ;                          Luhme X...
Neue Modellierung in TLA+Ablauf         father    state mailbox  a        b        idle   ;                          Luhme...
Neue Modellierung in TLA+Ablauf         father   state   mailbox  a        b       idle     ;                          Luh...
Neue Modellierung in TLA+Spezifikation                                                 Luhme X                            n...
Model CheckingZustandsraum                                           Luhme X die erwartete Zustandsraumexplosion: § Petri...
Model CheckingModel Checker TLC                                                   Luhme X                                 ...
Model CheckingErgebnisse                                                   Luhme X §    in keiner der Modellierung (Petri...
Model CheckingErgebnisse                                                                                   Luhme X        ...
Modellierung einesverteilten Algorithmus         Luhme-Workshop 2004             Vielen Dank!                  Niels Lohma...
Nächste SlideShare
Wird geladen in …5
×

Modellierung eines verteilten Algorithmus

835 Aufrufe

Veröffentlicht am

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

Veröffentlicht in: Bildung
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
835
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
2
Aktionen
Geteilt
0
Downloads
2
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

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 Spezifikationssprache 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 § Spezifikation 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+-FormelSpezifikation 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 öffentlicher 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 Definition 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+Spezifikation Luhme X nur den Agenten betreffend Mutex-Algorithmus Modellierung als die Umwelt Petrinetz betreffend Ü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 Verifikation (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

×