SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Andere mochten auch (13)

Sistema operativo UBUNTU
Sistema operativo UBUNTUSistema operativo UBUNTU
Sistema operativo UBUNTU
 
Stadionzeitung TuS Geretsried vs. Kirchheimer SC
Stadionzeitung TuS Geretsried vs. Kirchheimer SCStadionzeitung TuS Geretsried vs. Kirchheimer SC
Stadionzeitung TuS Geretsried vs. Kirchheimer SC
 
Grupo 1
Grupo 1Grupo 1
Grupo 1
 
Robuste Mehrsprecher-Spracherkennung mit ICA
Robuste Mehrsprecher-Spracherkennung mit ICARobuste Mehrsprecher-Spracherkennung mit ICA
Robuste Mehrsprecher-Spracherkennung mit ICA
 
Celular
CelularCelular
Celular
 
Paraiso natural
Paraiso naturalParaiso natural
Paraiso natural
 
Chancen des Internetmarketings für die Nachhaltigkeitsbewegung
Chancen des Internetmarketings für die NachhaltigkeitsbewegungChancen des Internetmarketings für die Nachhaltigkeitsbewegung
Chancen des Internetmarketings für die Nachhaltigkeitsbewegung
 
Ven_NYE-2011_DM
Ven_NYE-2011_DMVen_NYE-2011_DM
Ven_NYE-2011_DM
 
6 Benefits of Time Logging Software
6 Benefits of Time Logging Software6 Benefits of Time Logging Software
6 Benefits of Time Logging Software
 
Diapositivas Tema 3
Diapositivas Tema 3Diapositivas Tema 3
Diapositivas Tema 3
 
Pdi
PdiPdi
Pdi
 
San Valentin
San ValentinSan Valentin
San Valentin
 
Patios cordobeses
Patios cordobesesPatios cordobeses
Patios cordobeses
 

Mehr von Universität Rostock

Pragmatic model checking: from theory to implementations
Pragmatic model checking: from theory to implementationsPragmatic model checking: from theory to implementations
Pragmatic model checking: from theory to implementationsUniversität Rostock
 
Where did I go wrong? Explaining errors in process models
Where did I go wrong? Explaining errors in process modelsWhere did I go wrong? Explaining errors in process models
Where did I go wrong? Explaining errors in process modelsUniversität Rostock
 
Decidability Results for Choreography Realization
Decidability Results for Choreography RealizationDecidability Results for Choreography Realization
Decidability Results for Choreography RealizationUniversität Rostock
 
Artifact-centric modeling using BPMN
Artifact-centric modeling using BPMNArtifact-centric modeling using BPMN
Artifact-centric modeling using BPMNUniversität Rostock
 
Compliance by Design for Artifact-Centric Business Processes
Compliance by Design for Artifact-Centric Business ProcessesCompliance by Design for Artifact-Centric Business Processes
Compliance by Design for Artifact-Centric Business ProcessesUniversität Rostock
 
Verification with LoLA: 7 Implementation
Verification with LoLA: 7 ImplementationVerification with LoLA: 7 Implementation
Verification with LoLA: 7 ImplementationUniversität Rostock
 
Verification with LoLA: 6 Integrating LoLA
Verification with LoLA: 6 Integrating LoLAVerification with LoLA: 6 Integrating LoLA
Verification with LoLA: 6 Integrating LoLAUniversität Rostock
 
Verification with LoLA: 5 Case Studies
Verification with LoLA: 5 Case StudiesVerification with LoLA: 5 Case Studies
Verification with LoLA: 5 Case StudiesUniversität Rostock
 
Verification with LoLA: 4 Using LoLA
Verification with LoLA: 4 Using LoLAVerification with LoLA: 4 Using LoLA
Verification with LoLA: 4 Using LoLAUniversität Rostock
 
Verification with LoLA: 3 State Space Reduction
Verification with LoLA: 3 State Space ReductionVerification with LoLA: 3 State Space Reduction
Verification with LoLA: 3 State Space ReductionUniversität Rostock
 
Verification with LoLA: 2 The LoLA Input Language
Verification with LoLA: 2 The LoLA Input LanguageVerification with LoLA: 2 The LoLA Input Language
Verification with LoLA: 2 The LoLA Input LanguageUniversität Rostock
 
Internal Behavior Reduction for Services
Internal Behavior Reduction for ServicesInternal Behavior Reduction for Services
Internal Behavior Reduction for ServicesUniversität Rostock
 
Karsten Wolf @ Carl Adam Petri Memorial Symposium
Karsten Wolf @ Carl Adam Petri Memorial SymposiumKarsten Wolf @ Carl Adam Petri Memorial Symposium
Karsten Wolf @ Carl Adam Petri Memorial SymposiumUniversität Rostock
 
Implementation of an Interleaving Semantics for TLDA
Implementation of an Interleaving Semantics for TLDAImplementation of an Interleaving Semantics for TLDA
Implementation of an Interleaving Semantics for TLDAUniversität Rostock
 
Formale Fundierung und effizientere Implementierung der schrittbasierten TLDA...
Formale Fundierung und effizientere Implementierung der schrittbasierten TLDA...Formale Fundierung und effizientere Implementierung der schrittbasierten TLDA...
Formale Fundierung und effizientere Implementierung der schrittbasierten TLDA...Universität Rostock
 
Demonstration of BPEL2oWFN and Fiona
Demonstration of BPEL2oWFN and FionaDemonstration of BPEL2oWFN and Fiona
Demonstration of BPEL2oWFN and FionaUniversität Rostock
 

Mehr von Universität Rostock (20)

Pragmatic model checking: from theory to implementations
Pragmatic model checking: from theory to implementationsPragmatic model checking: from theory to implementations
Pragmatic model checking: from theory to implementations
 
Where did I go wrong? Explaining errors in process models
Where did I go wrong? Explaining errors in process modelsWhere did I go wrong? Explaining errors in process models
Where did I go wrong? Explaining errors in process models
 
Decidability Results for Choreography Realization
Decidability Results for Choreography RealizationDecidability Results for Choreography Realization
Decidability Results for Choreography Realization
 
Artifact-centric modeling using BPMN
Artifact-centric modeling using BPMNArtifact-centric modeling using BPMN
Artifact-centric modeling using BPMN
 
Compliance by Design for Artifact-Centric Business Processes
Compliance by Design for Artifact-Centric Business ProcessesCompliance by Design for Artifact-Centric Business Processes
Compliance by Design for Artifact-Centric Business Processes
 
Verification with LoLA
Verification with LoLAVerification with LoLA
Verification with LoLA
 
Verification with LoLA: 7 Implementation
Verification with LoLA: 7 ImplementationVerification with LoLA: 7 Implementation
Verification with LoLA: 7 Implementation
 
Verification with LoLA: 6 Integrating LoLA
Verification with LoLA: 6 Integrating LoLAVerification with LoLA: 6 Integrating LoLA
Verification with LoLA: 6 Integrating LoLA
 
Verification with LoLA: 5 Case Studies
Verification with LoLA: 5 Case StudiesVerification with LoLA: 5 Case Studies
Verification with LoLA: 5 Case Studies
 
Verification with LoLA: 4 Using LoLA
Verification with LoLA: 4 Using LoLAVerification with LoLA: 4 Using LoLA
Verification with LoLA: 4 Using LoLA
 
Verification with LoLA: 3 State Space Reduction
Verification with LoLA: 3 State Space ReductionVerification with LoLA: 3 State Space Reduction
Verification with LoLA: 3 State Space Reduction
 
Verification with LoLA: 1 Basics
Verification with LoLA: 1 BasicsVerification with LoLA: 1 Basics
Verification with LoLA: 1 Basics
 
Verification with LoLA: 2 The LoLA Input Language
Verification with LoLA: 2 The LoLA Input LanguageVerification with LoLA: 2 The LoLA Input Language
Verification with LoLA: 2 The LoLA Input Language
 
Saarbruecken
SaarbrueckenSaarbruecken
Saarbruecken
 
Ws4 dsec talk @ Kickoff RS3
Ws4 dsec talk @ Kickoff RS3Ws4 dsec talk @ Kickoff RS3
Ws4 dsec talk @ Kickoff RS3
 
Internal Behavior Reduction for Services
Internal Behavior Reduction for ServicesInternal Behavior Reduction for Services
Internal Behavior Reduction for Services
 
Karsten Wolf @ Carl Adam Petri Memorial Symposium
Karsten Wolf @ Carl Adam Petri Memorial SymposiumKarsten Wolf @ Carl Adam Petri Memorial Symposium
Karsten Wolf @ Carl Adam Petri Memorial Symposium
 
Implementation of an Interleaving Semantics for TLDA
Implementation of an Interleaving Semantics for TLDAImplementation of an Interleaving Semantics for TLDA
Implementation of an Interleaving Semantics for TLDA
 
Formale Fundierung und effizientere Implementierung der schrittbasierten TLDA...
Formale Fundierung und effizientere Implementierung der schrittbasierten TLDA...Formale Fundierung und effizientere Implementierung der schrittbasierten TLDA...
Formale Fundierung und effizientere Implementierung der schrittbasierten TLDA...
 
Demonstration of BPEL2oWFN and Fiona
Demonstration of BPEL2oWFN and FionaDemonstration of BPEL2oWFN and Fiona
Demonstration of BPEL2oWFN and Fiona
 

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 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
  • 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 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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 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. 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