SlideShare una empresa de Scribd logo
1 de 17
Cédric Favre       Barbara Jobstmann     Niels Lohmann           Dirk Fahland
   Jana Koehler                              Karsten Wolf
   Hagen Völzer




IBM Research Zürich     EPF Lausanne      Universität Rostock   Humboldt-Universität
                                                                    zu Berlin
Find errors as early as possible




                                                                               Analysis on Demand?
                   business process
                        model
                                                 simulation   
                                
                     X                         code generation    .bpel   


business process                               workflow engine 
modeler
             error in process model  unreliable simulation results
                                     erroneous translation
                                     erroneous execution
             find errors as early as possible
             find control-flow errors: check soundness
                                                                                    2
Finding errors in practice




                                                          Analysis on Demand?
  an example from practice, not well-structured
                                                    




               sound?
                        need:   automated analysis

          ?
how often on every save, load, export, on demand
 h ow fast? press a button … < 500 ms
             Which techniques allow analysis on demand?        3
Outline




                                      Analysis on Demand?
  Soundness and how difficult is it?
  Techniques for efficient analysis
  Experimental results




                                          4
Error (1): Lack of Synchronization
sound = no deadlock + no lack of synchronization




                                                                              Analysis on Demand?
P1 :                         B
                                                   Lack of Synchronization:
          A                          X       D     two tokens on one edge
                             C


State Space of P1:
                         D
                                 C
               B
          A          C           D       D
              C           B      B
                      D


Naïve analysis: build state space and find error state
                                                                                    5
Error (2): Deadlock
sound = no deadlock + no lack of synchronization




                                                                          Analysis on Demand?
P2 :                      B
                                                   Deadlock:
          A       X                  D             token cannot proceed
                          C


State Space of P2:
                      B
              A
                      C


Naïve analysis: build state space and find error state
                                                                               6
How difficult is soundness analysis?




                                                                             Analysis on Demand?
  a sample of 735 industrial business processes
  all expressed with:
           A        B         X                 (“free choice” constructs)



  analysis by naïve state space exploration:
        intractable for 4 processes only
  problem: state space explosion
        n parallel activities  2n states
        found 4 sound processes with >> 1,000,000 states

  naïve analysis is incomplete in practice
                                                                                  7
Outline




                                      Analysis on Demand?
  Soundness and how difficult is it?
  Techniques for efficient analysis
  Experimental results




                                           8
Partial order reduction




                                                         Analysis on Demand?
  naïve analysis:
        build each state: check if deadlock
  partial order reduction
        build only one path from entry to exit
        no deadlock on path  no deadlock in the rest
        yields exponential reduction
  works also for lack of synchronization
                                                              9
Refined Process Structure Tree (RPST)
  decompose process into fragments (single entry and single exit)




                                                                                      Analysis on Demand?
     P   A
              A1                 A2
                                                           P   par
          B            B1                        A   seq             B   split/join
              X
                       B2                   A1 A2              B1 B2


  analyze each fragment
                  A:                        B1
                            A1    A2   B:
                                            B2
  error in a fragment ↔ process unsound
                                                                                       10
Avoid state space exploration
                                                 A




                                                                              Analysis on Demand?
  heuristics on fragments, e.g.                      A1            A2
  A: only sequence  sound
  B: one XOR-split, n0 XOR-join                  B            B1
       unsound                                       X
                                                               B2

  structural reduction:
                                                          A1             A2
        rules for reducing process model
        reduction to single node  sound
                                                                A12

  infer behavior from model structure
        e.g. S-coverability (in Woflan) = partial check for unsoundness

                                                                                 11
Outline




                                      Analysis on Demand?
  Soundness and how difficult is it?
  Techniques for efficient Analysis
  Experimental results




                                        12
Experiment




                                                       Analysis on Demand?
  a sample of 735 industrial business processes
  size of processes:
        nodes:                    max. 118
        parallel branches:        max. 66
        state space:              max. >> 1,000,000


  experiment: 3 tools (different techniques)
        complete analysis on all processes
        # sound: 374 (50%)
        max. analysis time: 91 ms, avg. 10 ms


 analysis on demand
                                                         13
Detailed results
                                                    sound




                                                                                                Analysis on Demand?
      Petri          LoLA: model checker +
       net           partial order reduction         unsound:
                                                                          max. 50 ms
max. > 1,000,000 decision within 6500 states        error-trace


                   IBM WebSphere                                         sound
                                                heuristics
    workflow          decompose    frag-
                        IBM WebSphere Business Modeler                    unsound:
     graph                                     state space
                       (RPST)     ment                                   erroneous
                                               exploration
                                                                         fragments
                         heuristics decides 97% of all fragments
                         decision within 165 states per fragment          max. 62 ms
                    Woflan
                                                                          sound
    workflow           structural       Woflan       state space
      net                           S-coverability                       unsound + info
                      reduction                    exploration
                                                                        133 processes
  735 processes                                         decision
                      sound        unsound + info
                  251 processes     351 processes    within 12 states      max. 91 ms
                                                                         one exception: 1 sec    14
Diagnostic information
  only 50% sound models




                                                                       Analysis on Demand?
  state-space exploration               A1            A2
        trace to error
                                                  B1
        experiment: traces of
                                         X
         reasonable length
                                                  B2        deadlock
  RPST fragments
        one error per fragment              B         B1
        can detect multiple errors               X
        experiment:                                   B2
         unsound  2-7 error fragments
                                                 XOR/AND mismatch
  Woflan
        nodes that cause the error
                                                                          15
Conclusion




                                                            Analysis on Demand?
  checked soundness of 735 industrial business processes

  naïve state space exploration incomplete in practice
 apply reduction techniques (state space, structure)
        experiment with 3 different approaches
        max. < 91 ms per process
        allows for analysis on demand


 choose analysis technique depending on diagnostic info
        trace to error
        anti-patterns

                                                              16
Future work




                                                                Analysis on Demand?
  Present diagnostic information to modeler
  Check models with more involved constructs
        e.g. BPMN event handler
  Check advanced properties
  Different combinations of techniques
        RPST fragments + partial order reduction


  Try by yourself: www.service-technology.org/soundness
        process models and
        links to: LoLA / IBM WebSphere + RPST plugin / Woflan


                                                                  17

Más contenido relacionado

Destacado

pelajaran kelas 9 dari pak arif syarifudin
pelajaran kelas 9 dari pak arif syarifudinpelajaran kelas 9 dari pak arif syarifudin
pelajaran kelas 9 dari pak arif syarifudinAushafiNata
 
Representation of class
Representation of classRepresentation of class
Representation of classhjgoldsmith
 
Cresa Information
Cresa InformationCresa Information
Cresa Informationsdifranco
 
пета среща в падуа отчет пред пс
пета среща в падуа  отчет пред пспета среща в падуа  отчет пред пс
пета среща в падуа отчет пред псPGTburgas
 
奇特的世界
奇特的世界奇特的世界
奇特的世界Tom Tsai
 
Final major project evaluation revisited
Final major project evaluation revisitedFinal major project evaluation revisited
Final major project evaluation revisitedJack Dixon
 
αναστάσιος γιαννουλάτος –
αναστάσιος  γιαννουλάτος –αναστάσιος  γιαννουλάτος –
αναστάσιος γιαννουλάτος –Manousakis123
 

Destacado (8)

pelajaran kelas 9 dari pak arif syarifudin
pelajaran kelas 9 dari pak arif syarifudinpelajaran kelas 9 dari pak arif syarifudin
pelajaran kelas 9 dari pak arif syarifudin
 
Representation of class
Representation of classRepresentation of class
Representation of class
 
Cresa Information
Cresa InformationCresa Information
Cresa Information
 
Incoterms
IncotermsIncoterms
Incoterms
 
пета среща в падуа отчет пред пс
пета среща в падуа  отчет пред пспета среща в падуа  отчет пред пс
пета среща в падуа отчет пред пс
 
奇特的世界
奇特的世界奇特的世界
奇特的世界
 
Final major project evaluation revisited
Final major project evaluation revisitedFinal major project evaluation revisited
Final major project evaluation revisited
 
αναστάσιος γιαννουλάτος –
αναστάσιος  γιαννουλάτος –αναστάσιος  γιαννουλάτος –
αναστάσιος γιαννουλάτος –
 

Más de 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
 

Más de 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
 

Último

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 

Último (20)

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 

Analysis on demand? - Instantaneous Soundness Checking of Industrial Business Process Models

  • 1. Cédric Favre Barbara Jobstmann Niels Lohmann Dirk Fahland Jana Koehler Karsten Wolf Hagen Völzer IBM Research Zürich EPF Lausanne Universität Rostock Humboldt-Universität zu Berlin
  • 2. Find errors as early as possible Analysis on Demand? business process model simulation   X code generation  .bpel  business process workflow engine  modeler error in process model  unreliable simulation results  erroneous translation  erroneous execution find errors as early as possible find control-flow errors: check soundness 2
  • 3. Finding errors in practice Analysis on Demand?   an example from practice, not well-structured   sound? need: automated analysis ? how often on every save, load, export, on demand h ow fast? press a button … < 500 ms Which techniques allow analysis on demand? 3
  • 4. Outline Analysis on Demand?   Soundness and how difficult is it?   Techniques for efficient analysis   Experimental results 4
  • 5. Error (1): Lack of Synchronization sound = no deadlock + no lack of synchronization Analysis on Demand? P1 : B Lack of Synchronization: A X D two tokens on one edge C State Space of P1: D C B A C D D C B B D Naïve analysis: build state space and find error state 5
  • 6. Error (2): Deadlock sound = no deadlock + no lack of synchronization Analysis on Demand? P2 : B Deadlock: A X D token cannot proceed C State Space of P2: B A C Naïve analysis: build state space and find error state 6
  • 7. How difficult is soundness analysis? Analysis on Demand?   a sample of 735 industrial business processes   all expressed with: A B X (“free choice” constructs)   analysis by naïve state space exploration:   intractable for 4 processes only   problem: state space explosion   n parallel activities  2n states   found 4 sound processes with >> 1,000,000 states   naïve analysis is incomplete in practice 7
  • 8. Outline Analysis on Demand?   Soundness and how difficult is it?   Techniques for efficient analysis   Experimental results 8
  • 9. Partial order reduction Analysis on Demand?   naïve analysis:   build each state: check if deadlock   partial order reduction   build only one path from entry to exit   no deadlock on path  no deadlock in the rest   yields exponential reduction   works also for lack of synchronization 9
  • 10. Refined Process Structure Tree (RPST)   decompose process into fragments (single entry and single exit) Analysis on Demand? P A A1 A2 P par B B1 A seq B split/join X B2 A1 A2 B1 B2   analyze each fragment A: B1 A1 A2 B: B2   error in a fragment ↔ process unsound 10
  • 11. Avoid state space exploration A Analysis on Demand?   heuristics on fragments, e.g. A1 A2   A: only sequence  sound   B: one XOR-split, n0 XOR-join B B1  unsound X B2   structural reduction: A1 A2   rules for reducing process model   reduction to single node  sound A12   infer behavior from model structure   e.g. S-coverability (in Woflan) = partial check for unsoundness 11
  • 12. Outline Analysis on Demand?   Soundness and how difficult is it?   Techniques for efficient Analysis   Experimental results 12
  • 13. Experiment Analysis on Demand?   a sample of 735 industrial business processes   size of processes:   nodes: max. 118   parallel branches: max. 66   state space: max. >> 1,000,000   experiment: 3 tools (different techniques)   complete analysis on all processes   # sound: 374 (50%)   max. analysis time: 91 ms, avg. 10 ms  analysis on demand 13
  • 14. Detailed results sound Analysis on Demand? Petri LoLA: model checker + net partial order reduction unsound: max. 50 ms max. > 1,000,000 decision within 6500 states error-trace IBM WebSphere sound heuristics workflow decompose frag- IBM WebSphere Business Modeler unsound: graph state space (RPST) ment erroneous exploration fragments heuristics decides 97% of all fragments decision within 165 states per fragment max. 62 ms Woflan sound workflow structural Woflan state space net S-coverability unsound + info reduction exploration 133 processes 735 processes decision sound unsound + info 251 processes 351 processes within 12 states max. 91 ms one exception: 1 sec 14
  • 15. Diagnostic information   only 50% sound models Analysis on Demand?   state-space exploration A1 A2   trace to error B1   experiment: traces of X reasonable length B2 deadlock   RPST fragments   one error per fragment B B1   can detect multiple errors X   experiment: B2 unsound  2-7 error fragments XOR/AND mismatch   Woflan   nodes that cause the error 15
  • 16. Conclusion Analysis on Demand?   checked soundness of 735 industrial business processes   naïve state space exploration incomplete in practice  apply reduction techniques (state space, structure)   experiment with 3 different approaches   max. < 91 ms per process   allows for analysis on demand  choose analysis technique depending on diagnostic info   trace to error   anti-patterns 16
  • 17. Future work Analysis on Demand?   Present diagnostic information to modeler   Check models with more involved constructs   e.g. BPMN event handler   Check advanced properties   Different combinations of techniques   RPST fragments + partial order reduction   Try by yourself: www.service-technology.org/soundness   process models and   links to: LoLA / IBM WebSphere + RPST plugin / Woflan 17

Notas del editor

  1. We explain the ERROR
  2. We explain the ERROR