Modellierung eines
verteilten Algorithmus
                  Luhme X




                  Niels Lohmann
         nlohmann@informatik.hu-berlin.de
http://www.informatik.hu-berlin.de/~nlohmann/arbeit



                                                      14.10.2004
Übersicht


                                Luhme X
1. Mutex-Algorithmus
2. Modellierung als Petrinetz
3. Überführung in TLA+-Formel
4. Neue Modellierung in TLA+
5. Model Checking




                                  2
Mutex-Algorithmus
Szenario



                                                              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
Mutex-Algorithmus
Ablauf


                        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
Mutex-Algorithmus
Ablauf


                        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
Mutex-Algorithmus
Ablauf                      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
Mutex-Algorithmus
Ablauf                              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
Mutex-Algorithmus
Ablauf                          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
Mutex-Algorithmus
Ablauf


                        b
                                   Luhme X



         kritisch
                                Mutex-Algorithmus
                                 Modellierung als
                    c       a      Petrinetz
                                 Überführung in
                                  TLA+-Formel
                                Neue Modellierung
                                     in TLA+
                                 Model Checking




                                        9
Mutex-Algorithmus
Ablauf


                            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
Modellierung als Petrinetz
Netz Σ



                                                                      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
Modellierung als Petrinetz
Netz Σ



                                                      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
Modellierung als Petrinetz
Korrektheit



                                               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
Überführung in TLA+-Formel
Was 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
Überführung in TLA+-Formel
TLA – 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
Überführung in TLA+-Formel
TLA – 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
Überführung in TLA+-Formel
Idee



                                                     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
Überführung in TLA+-Formel
Variablen



                                Luhme X




                             Mutex-Algorithmus
                              Modellierung als
                                Petrinetz
                              Überführung in
                               TLA+-Formel
                             Neue Modellierung
                                  in TLA+
                              Model Checking




                                    18
Überführung in TLA+-Formel
Aktionen



                                Luhme X




                             Mutex-Algorithmus
                              Modellierung als
                                Petrinetz
                              Überführung in
                               TLA+-Formel
                             Neue Modellierung
                                  in TLA+
                              Model Checking




                                    19
Überführung in TLA+-Formel
Aktionen



                                Luhme X




                             Mutex-Algorithmus
                              Modellierung als
                                Petrinetz
                              Überführung in
                               TLA+-Formel
                             Neue Modellierung
                                  in TLA+
                              Model Checking




                                    20
Überführung in TLA+-Formel
Spezifikation



                                Luhme X




                             Mutex-Algorithmus
                              Modellierung als
                                Petrinetz
                              Überführung in
                               TLA+-Formel
                             Neue Modellierung
                                  in TLA+
                              Model Checking




                                    21
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
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
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
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
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
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
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
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
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
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
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
Model Checking
Zustandsraum



                                           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
Model Checking
Model 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
Model Checking
Ergebnisse



                                                   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
Model Checking
Ergebnisse



                                                                                   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
Modellierung eines
verteilten Algorithmus
         Luhme-Workshop 2004



             Vielen Dank!

                  Niels Lohmann
         nlohmann@informatik.hu-berlin.de
http://www.informatik.hu-berlin.de/~nlohmann/arbeit



                                                      14.10.2004

Modellierung eines verteilten Algorithmus

  • 1.
    Modellierung eines verteilten Algorithmus Luhme X Niels Lohmann nlohmann@informatik.hu-berlin.de http://www.informatik.hu-berlin.de/~nlohmann/arbeit 14.10.2004
  • 2.
    Übersicht Luhme X 1. Mutex-Algorithmus 2. Modellierung als Petrinetz 3. Überführung in TLA+-Formel 4. Neue Modellierung in TLA+ 5. Model Checking 2
  • 3.
    Mutex-Algorithmus Szenario 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.
    Mutex-Algorithmus Ablauf 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.
    Mutex-Algorithmus Ablauf 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.
    Mutex-Algorithmus Ablauf 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.
    Mutex-Algorithmus Ablauf 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.
    Mutex-Algorithmus Ablauf 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.
    Mutex-Algorithmus Ablauf b Luhme X kritisch Mutex-Algorithmus Modellierung als c a Petrinetz Überführung in TLA+-Formel Neue Modellierung in TLA+ Model Checking 9
  • 10.
    Mutex-Algorithmus Ablauf 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.
    Modellierung als Petrinetz NetzΣ 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.
    Modellierung als Petrinetz NetzΣ 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.
    Modellierung als Petrinetz Korrektheit 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.
    Überführung in TLA+-Formel Wasist 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.
    Überführung in TLA+-Formel TLA– 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.
    Überführung in TLA+-Formel TLA– 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.
    Überführung in TLA+-Formel Idee 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.
    Überführung in TLA+-Formel Variablen Luhme X Mutex-Algorithmus Modellierung als Petrinetz Überführung in TLA+-Formel Neue Modellierung in TLA+ Model Checking 18
  • 19.
    Überführung in TLA+-Formel Aktionen Luhme X Mutex-Algorithmus Modellierung als Petrinetz Überführung in TLA+-Formel Neue Modellierung in TLA+ Model Checking 19
  • 20.
    Überführung in TLA+-Formel Aktionen Luhme X Mutex-Algorithmus Modellierung als Petrinetz Überführung in TLA+-Formel Neue Modellierung in TLA+ Model Checking 20
  • 21.
    Überführung in TLA+-Formel Spezifikation Luhme X Mutex-Algorithmus Modellierung als Petrinetz Überführung in TLA+-Formel Neue Modellierung in TLA+ Model Checking 21
  • 22.
    Neue Modellierung inTLA+ 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.
    Neue Modellierung inTLA+ 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.
    Neue Modellierung inTLA+ 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.
    Neue Modellierung inTLA+ 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.
    Neue Modellierung inTLA+ 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.
    Neue Modellierung inTLA+ 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.
    Neue Modellierung inTLA+ 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.
    Neue Modellierung inTLA+ 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.
    Neue Modellierung inTLA+ 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.
    Neue Modellierung inTLA+ 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.
    Neue Modellierung inTLA+ 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.
    Model Checking Zustandsraum 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.
    Model Checking Model CheckerTLC 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.
    Model Checking Ergebnisse 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.
    Model Checking Ergebnisse 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.
    Modellierung eines verteilten Algorithmus Luhme-Workshop 2004 Vielen Dank! Niels Lohmann nlohmann@informatik.hu-berlin.de http://www.informatik.hu-berlin.de/~nlohmann/arbeit 14.10.2004