Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
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

944 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
  • Als Erste(r) kommentieren

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

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

×