SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

En vedette

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
 

En vedette (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-
 

Plus de 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
 

Plus de 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
 

Dernier

Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Kuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialKuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialJoão Esperancinha
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentMahmoud Rabie
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 

Dernier (20)

Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Kuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialKuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorial
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career Development
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 

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