SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Dirk Fahland
                       Amir Kantor

                 From LSC
to Distributed Components


  Weizmann Institute
  of Science
Distributed systems: common & complex



    web services       business processes




                           wireless
  embedded systems
                        sensor networks

                                      1
Design a distributed system



                         several components




                                              2
Create a model for each component




                      model
                                describes how the component
                                works: behavior + interface




            model              model




              model of the system
                                                    3
More intuitively: describe interactions


    X   Z                            a scenario
                                 X    a course of related actions
                                       (across components)




                  Y                       Z




            specification of the system
                                                          4
The research problem

                                 synthesize


      X Z




  specification:                                         system model:
a set of scenarios                                        components
                     satisfies                exhibits
                                  system
                                 behavior


                                                                    5
Current situation for LSC


                                                       
    X Z                         centralized system

                            [Bontemps et al. 07]


specification:
a set of LSCs



                                  components
                                                   6
Live Sequence Charts
                    Lifeline

       event

                                                    prechart



  message                                           main chart


semantics:     if (and when) the prechart occurs,
               then the main chart occurs.
                                                          7
LSC and distributed components


                             A




                        B        C



trace:



                                 8
LSC and distributed components


                                A
                            a




                        B           C



trace: a



                                    9
LSC and distributed components


                                A
                            a
                        b




                        B           C



trace: a b



                                    10
LSC and distributed components


                                A
                            a
                        b




                        B            C
                                 c




trace: a b c



                                     11
LSC and distributed components


                                   A
                                 a a
                             b




                             B         C
                                  c
  a


trace: a b c a
       a conflicts the LSC

                                       12
LSC and distributed components


                                            A
                                          a a           “block d”
                                   b




                                    B                   C
                                             c
  a


trace: a b c a
       a conflicts the LSC: LSC is no longer relevant
        abort chart  block ‘d’
                                                         13
LSC and distributed components


                                            A
                                          a a      coordinate

                                    b




                                    B                   C
                                             c
  a


trace: a b c a
       a conflicts the LSC: LSC is no longer relevant
         may C execute d?
                                                        14
LSC and distributed components


                                         A
                                       a a    coordinate

                                 b




                                 B               C
                                         c




 LSC semantics maintains global state
 requires additional interaction or central controller
                                                  15
Contribution




    X Z          decentralized system

                         extract

specification:
a set of LSCs
      with
  non-global
     states
                    components
                               16
Central Fragment of LSC

 Partial-order representation of LSCs          event a by
      X       Y
                                               component X
                                   X.a
          a

                                                 causal
          b       c          X.b         Y.c
                                               dependency


      X       Y                    Y.c

                  c

          d                        Y.d

          a
                                   X.a

                                                     17
Semantics: distributed LSC (dLSC)

 construct partially ordered runs

             if run ends with a pattern
    pre
             that matches the prechart    run
    main

             then concatenate                   pre
             the main chart locally
                                                main

 preserves causal dependencies in runs
 needs no global state
 no other auxiliary notions
                                                       18
dLSC Semantics – Example

                 L1:                   L2:       L3:
                                         Y.c       Y.c
                        X.a
                                         Y.d       Z.d
                  X.b         Y.c
                                         X.a       Z.e

  initial run:          X.a


                 X.b          Y.c



                                    concurrent
                                      events



                                                         19
dLSC Semantics – Example

       L1:                    L2:         L3:
                                Y.c         Y.c
              X.a
                                Y.d         Z.d
        X.b         Y.c
                                X.a         Z.e

              X.a


       X.b          Y.c


                    Y.d
                              local
                    X.a   concatenation



                                                  20
dLSC Semantics – Example

       L1:                            L2:     L3:
                                        Y.c     Y.c
              X.a
                                        Y.d     Z.d
        X.b         Y.c
                                        X.a     Z.e

              X.a               X.a


       X.b          Y.c   X.b         Y.c


                    Y.d               Z.d
                                              alternative
                    X.a               Z.e
                                                  run



                                                      21
dLSC Semantics – Example

           L1:                                  L2:     L3:
                                                  Y.c     Y.c
                  X.a
                                                  Y.d     Z.d
            X.b         Y.c
                                                  X.a     Z.e

                  X.a                     X.a


           X.b          Y.c         X.b         Y.c


                        Y.d                     Z.d
continue
  while
                        X.a                     Z.e
possible
                  X.b         Y.c


                                                                22
Complex precharts




                                             C.
                                           treat
if prechart occurs at the end of the run
 continue with main chart
                                               23
Outline




    X Z          decentralized system

                         extract

specification:
a set of dLSCs
       with
   non-global
      states
                    components
                               24
How hard is synthesis?




    X Z                                           Petri net


                  for each low-level Petri net
specification:     exists a dLSC spec with the same runs
a set of dLSCs    cannot (effectively) translate all dLSC specs
                   to Petri nets, reason: complex precharts




                                                              25
…need tokens with memory


                                                        history



    X Z                                        Token History
                                                  Petri net

                  each token records history of past events
specification:    transitions have guards wrt. token
a set of dLSCs     histories
                  can express complex precharts of
                   dLSC


                                                         26
Synthesis in 2 steps
        main charts  net structure
        precharts  guards
                                                   history



     X Z                                 Token History
                                            Petri net
                                      separate nodes

specification:
a set of dLSCs


 polynomial time complexity
                                         components
 complete for local choice specs
                                                   27
Larger Example: Emergency Management




                                  28
Step 1: Synthesize Decentralized System




                                     29
Step 2: Group nodes by components




                                    30
Result: Extracted components




                               31
Prototype Tool (SAM)




 Components are extracted as a CPN-Tools model
  • Supports simulation & analysis
• http://www.win.tue.nl/~dfahland/tools/sam/
                                               32
Conclusion




  X Z         dLSC = central fragment of   Token History PN
               LSC with non-global states
              more expressive than               extract
               low-level Petri nets
  dLSC        synthesis + prototype tool




                                             components
                                                        33
Possible Research Directions

 Code generation (for components)
 • Erlang actors
 • Java components/threads
 Operations on scenarios
 • Scenario (de)composition
 • scenario refinement
 Increasing expressive power of dLSC
 • mandatory (hot) events
 • data
 • etc.


                                        34
Dirk Fahland
                       Amir Kantor

                 From LSC
to Distributed Components


  Weizmann Institute
  of Science

Weitere ähnliche Inhalte

Andere mochten auch

Njemački jezik Luka Hublin 5.Klasse
Njemački jezik Luka Hublin 5.KlasseNjemački jezik Luka Hublin 5.Klasse
Njemački jezik Luka Hublin 5.KlasseBznzgc
 
Curriculum and instruction.
Curriculum and instruction.Curriculum and instruction.
Curriculum and instruction.jksofy
 
PetroSync - IWCF Well Intervention Pressure Control Level 2
PetroSync - IWCF Well Intervention Pressure Control Level 2PetroSync - IWCF Well Intervention Pressure Control Level 2
PetroSync - IWCF Well Intervention Pressure Control Level 2PetroSync
 
PetroSync - API 510 Pressure Vessel Inspector course
PetroSync - API 510 Pressure Vessel Inspector coursePetroSync - API 510 Pressure Vessel Inspector course
PetroSync - API 510 Pressure Vessel Inspector coursePetroSync
 
Gathering and organizing information developental reading
Gathering and organizing information developental readingGathering and organizing information developental reading
Gathering and organizing information developental readingjohncarlovaldezmariano
 
How to Turn Your Holiday Sales into Long-term Customer Retention
How to Turn Your Holiday Sales into Long-term Customer RetentionHow to Turn Your Holiday Sales into Long-term Customer Retention
How to Turn Your Holiday Sales into Long-term Customer RetentionAntavo Loyalty Management Platform
 
T'atreveixes a escriure 2016
T'atreveixes a escriure 2016T'atreveixes a escriure 2016
T'atreveixes a escriure 2016silviaprofe56
 
Eltextoysuspropiedades coherencia y cohesion-
Eltextoysuspropiedades coherencia y cohesion-Eltextoysuspropiedades coherencia y cohesion-
Eltextoysuspropiedades coherencia y cohesion-Julio Daza
 

Andere mochten auch (10)

Coaching the Snatch
Coaching the SnatchCoaching the Snatch
Coaching the Snatch
 
Njemački jezik Luka Hublin 5.Klasse
Njemački jezik Luka Hublin 5.KlasseNjemački jezik Luka Hublin 5.Klasse
Njemački jezik Luka Hublin 5.Klasse
 
Lekar
Lekar Lekar
Lekar
 
Curriculum and instruction.
Curriculum and instruction.Curriculum and instruction.
Curriculum and instruction.
 
PetroSync - IWCF Well Intervention Pressure Control Level 2
PetroSync - IWCF Well Intervention Pressure Control Level 2PetroSync - IWCF Well Intervention Pressure Control Level 2
PetroSync - IWCF Well Intervention Pressure Control Level 2
 
PetroSync - API 510 Pressure Vessel Inspector course
PetroSync - API 510 Pressure Vessel Inspector coursePetroSync - API 510 Pressure Vessel Inspector course
PetroSync - API 510 Pressure Vessel Inspector course
 
Gathering and organizing information developental reading
Gathering and organizing information developental readingGathering and organizing information developental reading
Gathering and organizing information developental reading
 
How to Turn Your Holiday Sales into Long-term Customer Retention
How to Turn Your Holiday Sales into Long-term Customer RetentionHow to Turn Your Holiday Sales into Long-term Customer Retention
How to Turn Your Holiday Sales into Long-term Customer Retention
 
T'atreveixes a escriure 2016
T'atreveixes a escriure 2016T'atreveixes a escriure 2016
T'atreveixes a escriure 2016
 
Eltextoysuspropiedades coherencia y cohesion-
Eltextoysuspropiedades coherencia y cohesion-Eltextoysuspropiedades coherencia y cohesion-
Eltextoysuspropiedades coherencia y cohesion-
 

Mehr von Dirk Fahland

Object-Centric Processes - from cases to objects and relations… and beyond
Object-Centric Processes - from cases to objects and relations… and beyondObject-Centric Processes - from cases to objects and relations… and beyond
Object-Centric Processes - from cases to objects and relations… and beyondDirk Fahland
 
Multi-Dimensional Process Analysis
Multi-Dimensional Process Analysis Multi-Dimensional Process Analysis
Multi-Dimensional Process Analysis Dirk Fahland
 
Artifacts and Databases - the Need for Event Relation Graphs and Synchronous ...
Artifacts and Databases - the Need for Event Relation Graphs and Synchronous ...Artifacts and Databases - the Need for Event Relation Graphs and Synchronous ...
Artifacts and Databases - the Need for Event Relation Graphs and Synchronous ...Dirk Fahland
 
Describing, Discovering, and Understanding Multi-Dimensional Processes
Describing, Discovering, and Understanding Multi-Dimensional ProcessesDescribing, Discovering, and Understanding Multi-Dimensional Processes
Describing, Discovering, and Understanding Multi-Dimensional ProcessesDirk Fahland
 
Process Mining: Past, Present, and Open Challenges (AIST 2017 Keynote)
Process Mining: Past, Present, and Open Challenges (AIST 2017 Keynote)Process Mining: Past, Present, and Open Challenges (AIST 2017 Keynote)
Process Mining: Past, Present, and Open Challenges (AIST 2017 Keynote)Dirk Fahland
 
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 modelsDirk Fahland
 
Mining Branch-Time Scenarios From Execution Logs
Mining Branch-Time Scenarios From Execution LogsMining Branch-Time Scenarios From Execution Logs
Mining Branch-Time Scenarios From Execution LogsDirk Fahland
 
LSC Revisited - From Scenarios to Distributed Components
LSC Revisited - From Scenarios to Distributed ComponentsLSC Revisited - From Scenarios to Distributed Components
LSC Revisited - From Scenarios to Distributed ComponentsDirk Fahland
 
Repairing Process Models to Match Reality
Repairing Process Models to Match RealityRepairing Process Models to Match Reality
Repairing Process Models to Match RealityDirk Fahland
 
Process Mining for ERP Systems
Process Mining for ERP SystemsProcess Mining for ERP Systems
Process Mining for ERP SystemsDirk Fahland
 
Simplifying Mined Process Models
Simplifying Mined Process ModelsSimplifying Mined Process Models
Simplifying Mined Process ModelsDirk Fahland
 
The Process of Process Modeling
The Process of Process ModelingThe Process of Process Modeling
The Process of Process ModelingDirk Fahland
 
Behavioral Conformance of Artifact-Centric Process Models
Behavioral Conformance of Artifact-Centric Process ModelsBehavioral Conformance of Artifact-Centric Process Models
Behavioral Conformance of Artifact-Centric Process ModelsDirk Fahland
 
Many-to-Many: Interactions in Artifact-Centric Choreographies
Many-to-Many: Interactions in Artifact-Centric ChoreographiesMany-to-Many: Interactions in Artifact-Centric Choreographies
Many-to-Many: Interactions in Artifact-Centric ChoreographiesDirk Fahland
 
Artifacts - Processes with Multiple Instances
Artifacts - Processes with Multiple InstancesArtifacts - Processes with Multiple Instances
Artifacts - Processes with Multiple InstancesDirk Fahland
 

Mehr von Dirk Fahland (15)

Object-Centric Processes - from cases to objects and relations… and beyond
Object-Centric Processes - from cases to objects and relations… and beyondObject-Centric Processes - from cases to objects and relations… and beyond
Object-Centric Processes - from cases to objects and relations… and beyond
 
Multi-Dimensional Process Analysis
Multi-Dimensional Process Analysis Multi-Dimensional Process Analysis
Multi-Dimensional Process Analysis
 
Artifacts and Databases - the Need for Event Relation Graphs and Synchronous ...
Artifacts and Databases - the Need for Event Relation Graphs and Synchronous ...Artifacts and Databases - the Need for Event Relation Graphs and Synchronous ...
Artifacts and Databases - the Need for Event Relation Graphs and Synchronous ...
 
Describing, Discovering, and Understanding Multi-Dimensional Processes
Describing, Discovering, and Understanding Multi-Dimensional ProcessesDescribing, Discovering, and Understanding Multi-Dimensional Processes
Describing, Discovering, and Understanding Multi-Dimensional Processes
 
Process Mining: Past, Present, and Open Challenges (AIST 2017 Keynote)
Process Mining: Past, Present, and Open Challenges (AIST 2017 Keynote)Process Mining: Past, Present, and Open Challenges (AIST 2017 Keynote)
Process Mining: Past, Present, and Open Challenges (AIST 2017 Keynote)
 
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
 
Mining Branch-Time Scenarios From Execution Logs
Mining Branch-Time Scenarios From Execution LogsMining Branch-Time Scenarios From Execution Logs
Mining Branch-Time Scenarios From Execution Logs
 
LSC Revisited - From Scenarios to Distributed Components
LSC Revisited - From Scenarios to Distributed ComponentsLSC Revisited - From Scenarios to Distributed Components
LSC Revisited - From Scenarios to Distributed Components
 
Repairing Process Models to Match Reality
Repairing Process Models to Match RealityRepairing Process Models to Match Reality
Repairing Process Models to Match Reality
 
Process Mining for ERP Systems
Process Mining for ERP SystemsProcess Mining for ERP Systems
Process Mining for ERP Systems
 
Simplifying Mined Process Models
Simplifying Mined Process ModelsSimplifying Mined Process Models
Simplifying Mined Process Models
 
The Process of Process Modeling
The Process of Process ModelingThe Process of Process Modeling
The Process of Process Modeling
 
Behavioral Conformance of Artifact-Centric Process Models
Behavioral Conformance of Artifact-Centric Process ModelsBehavioral Conformance of Artifact-Centric Process Models
Behavioral Conformance of Artifact-Centric Process Models
 
Many-to-Many: Interactions in Artifact-Centric Choreographies
Many-to-Many: Interactions in Artifact-Centric ChoreographiesMany-to-Many: Interactions in Artifact-Centric Choreographies
Many-to-Many: Interactions in Artifact-Centric Choreographies
 
Artifacts - Processes with Multiple Instances
Artifacts - Processes with Multiple InstancesArtifacts - Processes with Multiple Instances
Artifacts - Processes with Multiple Instances
 

Kürzlich hochgeladen

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 

Kürzlich hochgeladen (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

Decentralizing Live Sequence Charts for Distributed System Synthesis

  • 1. Dirk Fahland Amir Kantor From LSC to Distributed Components Weizmann Institute of Science
  • 2. Distributed systems: common & complex web services business processes wireless embedded systems sensor networks 1
  • 3. Design a distributed system several components 2
  • 4. Create a model for each component model describes how the component works: behavior + interface model model model of the system 3
  • 5. More intuitively: describe interactions X Z a scenario X  a course of related actions (across components) Y Z specification of the system 4
  • 6. The research problem synthesize X Z specification: system model: a set of scenarios components satisfies exhibits system behavior 5
  • 7. Current situation for LSC  X Z centralized system [Bontemps et al. 07] specification: a set of LSCs components 6
  • 8. Live Sequence Charts Lifeline event prechart message main chart semantics: if (and when) the prechart occurs, then the main chart occurs. 7
  • 9. LSC and distributed components A B C trace: 8
  • 10. LSC and distributed components A a B C trace: a 9
  • 11. LSC and distributed components A a b B C trace: a b 10
  • 12. LSC and distributed components A a b B C c trace: a b c 11
  • 13. LSC and distributed components A a a b B C c a trace: a b c a a conflicts the LSC 12
  • 14. LSC and distributed components A a a “block d” b B C c a trace: a b c a a conflicts the LSC: LSC is no longer relevant  abort chart  block ‘d’ 13
  • 15. LSC and distributed components A a a coordinate b B C c a trace: a b c a a conflicts the LSC: LSC is no longer relevant  may C execute d? 14
  • 16. LSC and distributed components A a a coordinate b B C c  LSC semantics maintains global state  requires additional interaction or central controller 15
  • 17. Contribution X Z decentralized system extract specification: a set of LSCs with non-global states components 16
  • 18. Central Fragment of LSC  Partial-order representation of LSCs event a by X Y component X X.a a causal b c X.b Y.c dependency X Y Y.c c d Y.d a X.a 17
  • 19. Semantics: distributed LSC (dLSC)  construct partially ordered runs if run ends with a pattern pre that matches the prechart run main then concatenate pre the main chart locally main  preserves causal dependencies in runs  needs no global state  no other auxiliary notions 18
  • 20. dLSC Semantics – Example L1: L2: L3: Y.c Y.c X.a Y.d Z.d X.b Y.c X.a Z.e initial run: X.a X.b Y.c concurrent events 19
  • 21. dLSC Semantics – Example L1: L2: L3: Y.c Y.c X.a Y.d Z.d X.b Y.c X.a Z.e X.a X.b Y.c Y.d local X.a concatenation 20
  • 22. dLSC Semantics – Example L1: L2: L3: Y.c Y.c X.a Y.d Z.d X.b Y.c X.a Z.e X.a X.a X.b Y.c X.b Y.c Y.d Z.d alternative X.a Z.e run 21
  • 23. dLSC Semantics – Example L1: L2: L3: Y.c Y.c X.a Y.d Z.d X.b Y.c X.a Z.e X.a X.a X.b Y.c X.b Y.c Y.d Z.d continue while X.a Z.e possible X.b Y.c 22
  • 24. Complex precharts C. treat if prechart occurs at the end of the run  continue with main chart 23
  • 25. Outline X Z decentralized system extract specification: a set of dLSCs with non-global states components 24
  • 26. How hard is synthesis? X Z Petri net  for each low-level Petri net specification: exists a dLSC spec with the same runs a set of dLSCs  cannot (effectively) translate all dLSC specs to Petri nets, reason: complex precharts 25
  • 27. …need tokens with memory history X Z Token History Petri net  each token records history of past events specification:  transitions have guards wrt. token a set of dLSCs histories  can express complex precharts of dLSC 26
  • 28. Synthesis in 2 steps main charts  net structure precharts  guards history X Z Token History Petri net separate nodes specification: a set of dLSCs  polynomial time complexity components  complete for local choice specs 27
  • 29. Larger Example: Emergency Management 28
  • 30. Step 1: Synthesize Decentralized System 29
  • 31. Step 2: Group nodes by components 30
  • 33. Prototype Tool (SAM)  Components are extracted as a CPN-Tools model • Supports simulation & analysis • http://www.win.tue.nl/~dfahland/tools/sam/ 32
  • 34. Conclusion X Z  dLSC = central fragment of Token History PN LSC with non-global states  more expressive than extract low-level Petri nets dLSC  synthesis + prototype tool components 33
  • 35. Possible Research Directions  Code generation (for components) • Erlang actors • Java components/threads  Operations on scenarios • Scenario (de)composition • scenario refinement  Increasing expressive power of dLSC • mandatory (hot) events • data • etc. 34
  • 36. Dirk Fahland Amir Kantor From LSC to Distributed Components Weizmann Institute of Science