SlideShare a Scribd company logo
Correctness Ensuring
Process Configuration:
An Approach Based on
Partner Synthesis
Wil van der Aalst (TU/e, QUT)
Niels Lohmann (U-Rostock, TU/e)
Marcello La Rosa (QUT)
Jingxin Xu (QUT)
The need for configurable process
      models: CoSeLoG project




+/- 430 Dutch
                                          PAGE 1
municipalities
The need for configurable process
  models: Suncorp case
End to end process has between 250-1000 process steps
      Product
                             Sales                Service                Claims           500
        Dev                                                                                steps
 • 25+ steps         • 50+ steps           • 75+ steps           • 100+ steps
      Sources: Guidewire reference models, GIO CISSS Project, CI US&S P4PI Project




     Home                                                                       

     Motor                                                                         30
     Commercial                                                                     variations
     Liability                                                                   

     CTP / WC                                                           
                                                                                                   PAGE 2
Two variants of the same process …




                                     PAGE 3
Variation points

                   Configuration = limiting behavior !

                                             Activate


                                             Hide/skip


                                             Block


                             Blocking   Hiding        Blocking




                                          Action

                                         Activating


                                                           PAGE 4
Correctness of configurations



                         +                   =
 Configurable Model + Configuration = Configured model
• Question 1:
  Is a particular configuration correct?
• Question 2:
  Is there a correct configuration?
• Question 3:
  How to characterize the set of all correct configurations?
• Question 4:
  How to auto-complete a configuration?
                                                               PAGE 5
Transition    Flow
                                   Place         XOR-split

Can t3 be blocked?                 AND-split

                                   AND-join
                                                 XOR-join

                                                 Token




               pI
                                     pI
          t1        t2
                              t1                t2

     p2        p3   p4   p2          p3         p4

               t5   t6               t5         t6
t3   t4                  t4
               p6                    p6

     p5        t8        p5          t8

               p7                    p7

          t7                  t7

               pO                   pO

                                                        PAGE 6
Transition           Flow
                                                                                                                        Place                XOR-split

        Block t1 and hide t3 ?                                                                                          AND-split

                                                                                                                        AND-join
                                                                                                                                             XOR-join

                                                                                                                                             Token




                                                    p1                                                                           p1
                   Prepare                                               Prepare                                                                             Prepare
               Travel Form    t1                                    t2   Travel Form
                                                                                                                                                    t2       Travel Form
                (Secretary)                                              (Employee)                                                                          (Employee

                                              p2                                                                           p2
                                                     Arrange
                              p3               t3    travel         p4                                     p3                        τ              p4
                                                     insurance                                                              t3
                                                     (Employee)

                                              p5                                                                           p5
Request for                        Check & Update
              t7              t4   Travel Form                      t5   τ     Request for                      Check & Update
    change
   (Admin)                         (Employee)                                      change    t7            t4   Travel Form                         t5       τ
                                                                                  (Admin)                       (Employee)
                                              p6
                                                                                                                           p6
                                                     Submit
                                                     Travel Form                                                                     Submit
                                               t6                                                                                    Travel Form
                                                     for Approval                                                           t6       for Approval
                                                     (Employee)
                                                                                                                                     (Employee)
                                              p7
                                                                                                                           p7
                        Approve                    Reject
                     Travel Form   t8         Travel Form    t9                                      Approve                    Reject
                         (Admin)                  (Admin)                                         Travel Form   t8         Travel Form       t9
                                                                                                      (Admin)                  (Admin)
                                              p8
                                                                                                                           p8
                                                                                                                                                    PAGE 7
Transition          Flow
                                                                                                                   Place               XOR-split

        Block t4 also?                                                                                             AND-split

                                                                                                                   AND-join
                                                                                                                                       XOR-join

                                                                                                                                       Token




                                                    p1                                                                          p1
                   Prepare                                               Prepare                                                                     Prepare
               Travel Form    t1                                    t2   Travel Form                                                            t2   Travel F
                (Secretary)                                              (Employee)                                                                  (Emplo

                                              p2                                                                        p2
                                                     Arrange
                              p3               t3    travel         p4                                   p3             t3       τ              p4
                                                     insurance
                                                     (Employee)

                                              p5                                                                        p5

Request for                        Check & Update                            Request for
    change    t7              t4   Travel Form                      t5   τ       change    t7                                                   t5   τ
   (Admin)                         (Employee)                                   (Admin)

                                              p6                                                                        p6
                                                     Submit                                                                      Submit
                                                     Travel Form                                                                 Travel Form
                                               t6    for Approval
                                                                                                                        t6       for Approval
                                                     (Employee)                                                                  (Employee)

                                              p7                                                                        p7
                        Approve                    Reject                                          Approve                  Reject
                     Travel Form   t8         Travel Form    t9                                 Travel Form   t8       Travel Form       t9
                         (Admin)                  (Admin)                                           (Admin)                (Admin)

                                              p8                                                                        p8

                                                                                                                                           PAGE 8
Existing approaches

  • Most approaches only consider the
    syntactical issues or simply create the
    configured model and analyze it (i.e.,
    trail and error).
  • Our earlier approach using a SAT
    solver is an exception to this rule, but
    is limited to free-choice WF-nets.

W.M.P. van der Aalst, M. Dumas, F. Gottschalk, A.H.M. ter Hofstede, M. La Rosa, J.
Mendling, Preserving Correctness During Business Process Model Configuration. In
Formal Aspects of Computing (FACS). Vol. 22 No. 3-4, 2010.
                                                                                     PAGE 9
New approach

• Based on partner synthesis developed in the
  Rostock group.
• Implemented in C-YAWL using Wendy.

• Advantages:
 1. No syntactical restrictions (i.e. beyond WF-nets
    and free-choice).
 2. Complete characterization of all correct
    configurations at design time: the so-called
    configuration guideline.
 3. Computation time is moved from configuration
    time to design time.                               PAGE 10
Open nets and weak termination

             Open net:
             • Labeled Petri net without any
               syntactical restrictions.
             • Special label: τ
             • Set of final markings, in this case
               [p4].

             Correctness notion:
             • weak termination: it is always
               possible to reach a final marking
               (weaker than classical soundness)

                                                PAGE 11
Composition of open nets
              p11            p21                         p11      p21



y t11         t12 x      t21 x               τ   (t12,
                                                 t21)



             p12                                         p12

                             p22                                  p22
τ   t13       t14 z
                                   =   τ   t13      τ    (t14,
                                                         t22)



              p13        t22 z                           p13


          t15 z                              τ   (t15,
                                                 t22)



             p14             p23                         p14      p23


     Ω ={[p14]}       Ω ={[p23]}                 Ω ={[p14,p23]}
                                                                        PAGE 12
Controllability

• An open net is controllable if there exists another
  open net such that their composition is weakly
  terminating.
• An open net is called a partner of another open net if
  their composition is weakly terminating.
• A controllable open net has at least one partner.
• There are efficient techniques to check controllability
  and to synthesize partners.
 [Karsten Wolf. Does My Service Have Partners?. T. Petri Nets and Other Models
 of Concurrency 2: 152-171 (2009)]

• These are implemented in Wendy.
 [Niels Lohmann, Daniela Weinberg. Wendy: A Tool to Synthesize Partners for
 Services. Petri Nets 2010: 297-307.]

                                                                          PAGE 13
Controllability

               p11



 y t11          t12 x

                                        weakly
  p14          p12
                                    =   terminating
 τ   t13        t14 z   partner??


               p13

        Ω ={[p13]}
                             Idea:
     good configuration = partner!
                                                      PAGE 14
Configurable interface (allow by default)




                                        PAGE 15
Configurable interface (block by default)




                                            PAGE 16
Configuration guideline (allow by default)




                                      CG
                                        PAGE 17
Configurable interface (block by default)




                                     CG     PAGE 18
Configuration guideline (allow by default)




                                             CG

                                         PAGE 19
Configuration guideline (allow by default)




                                         CG

                                         PAGE 20
Configuration guideline (allow by default)




                                    CG

                                         PAGE 21
Configuration guideline (allow by default)




                                       CG



                                        PAGE 22
Tool support

• YAWL editor
   − Creating C-YAWL models
   − Configuring C-YAWL models
   − Verification and auto-completion (using SAT solver
     and/or Wendy)
• YAWL engine                                     Configuration
                                                  model (.cml)


• YAWL services          Quaestio



                                                 C-YAWL Editor

                                                 C-YAWL model
                                                    (.yawl)
                                                                                                 Configured                      YAWL Engine
                                                                                               C-YAWL (.yawl)                    spec. (.yawl)

                       Questionnaire                                  Mapping
                       Model (.qml)                                   (.cmap)
                                                                                                                   Process
                                                    Mapper                       Process
                                                                                                Configured      Individualizer         EPC
                                                                                Configurator   C-EPC (.epml)                         (.epml)
                                                  C-EPC model
                                                     (.epml)

                       Questionnaire
                         Designer


                                       C-EPC Designer      Process Merger



                                                                                                                           PAGE 23
C-YAWL

                                                         p1
                        Prepare                                               Prepare
                    Travel Form    t1                                    t2   Travel Form
                     (Secretary)                                              (Employee)

                                                   p2
                                                          Arrange
                                   p3               t3    travel         p4
                                                          insurance
                                                          (Employee)

                                                   p5

     Request for                        Check & Update
         change    t7              t4   Travel Form                      t5   τ
        (Admin)                         (Employee)

                                                   p6
                                                          Submit
                                                          Travel Form
                                                    t6    for Approval
                                                          (Employee)

                                                   p7
                             Approve                    Reject
                          Travel Form   t8         Travel Form    t9
                              (Admin)                  (Admin)

                                                   p8
                                                                                            PAGE 24
C-YAWL




         PAGE 25
Conclusion

• New approach for ensuring the correctness of process
  configurations based on partner synthesis.
• Advantages:
 1. No syntactical restrictions (i.e. beyond WF-nets and free-
    choice).
 2. Complete characterization of all correct configurations at
    design time: the so-called configuration guideline.
 3. Computation time is moved from configuration time to
    design time.
• Implemented in C-YAWL using Wendy.
   −   Complete support for workflow configuration,
       verification, and enactment.
   −   Autocomplete, domain knowledge, etc.
                                                          PAGE 26
More information

• www.processconfiguration.com
 (various references to configuration literature and a comprehensive toolset)

• www.yawlfoundation.org
 (YAWL has been extended to support configuration, cf. C-YAWL)

• service-technology.org
 (paper and tools - including Wendy - related to the analysis of services)

• www.win.tue.nl/coselog
 (webpage of the CoSeLoG project)




                                                                                PAGE 27

More Related Content

PDF
AboutFace Media Capabilities Presentation
KEY
Digitale Mediers Historie
PDF
Behavioral Constraints for Services
PDF
A Multi-Dimensional Compositional Approach for Business Process Engineering
PDF
Dagstuhl 2013 - Montali - Data-Aware Business Processes - Formalization and R...
PDF
service-technology.org — A tool family for correct
business processes and ser...
PPTX
Why does my service have no partners?
PDF
Tools4BPEL Tutorial
AboutFace Media Capabilities Presentation
Digitale Mediers Historie
Behavioral Constraints for Services
A Multi-Dimensional Compositional Approach for Business Process Engineering
Dagstuhl 2013 - Montali - Data-Aware Business Processes - Formalization and R...
service-technology.org — A tool family for correct
business processes and ser...
Why does my service have no partners?
Tools4BPEL Tutorial

Viewers also liked (7)

PDF
Diagnosis of Open Workflow Nets
PDF
Saarbruecken
KEY
Verification with LoLA
PDF
Where did I go wrong? Explaining errors in process models
PDF
Representing Business Processes: Conceptual Model and Design Methodology
PPTX
Extending the Compatibility Notion for Abstract WS-BPEL Processes
PPT
Set Algebra for Service Behavior
Diagnosis of Open Workflow Nets
Saarbruecken
Verification with LoLA
Where did I go wrong? Explaining errors in process models
Representing Business Processes: Conceptual Model and Design Methodology
Extending the Compatibility Notion for Abstract WS-BPEL Processes
Set Algebra for Service Behavior
Ad

More from Universität Rostock (20)

PDF
Pragmatic model checking: from theory to implementations
PDF
Decidability Results for Choreography Realization
PDF
Artifact-centric modeling using BPMN
PDF
Compliance by Design for Artifact-Centric Business Processes
KEY
Verification with LoLA: 7 Implementation
KEY
Verification with LoLA: 6 Integrating LoLA
KEY
Verification with LoLA: 5 Case Studies
KEY
Verification with LoLA: 4 Using LoLA
KEY
Verification with LoLA: 3 State Space Reduction
KEY
Verification with LoLA: 1 Basics
KEY
Verification with LoLA: 2 The LoLA Input Language
PDF
Ws4 dsec talk @ Kickoff RS3
PDF
Internal Behavior Reduction for Services
PDF
Karsten Wolf @ Carl Adam Petri Memorial Symposium
PDF
Implementation of an Interleaving Semantics for TLDA
PDF
Formale Fundierung und effizientere Implementierung der schrittbasierten TLDA...
PDF
Demonstration of BPEL2oWFN and Fiona
PDF
Analyzing Web Service Behavior
PDF
Modellierung eines verteilten Algorithmus
PDF
Analyzing Interacting BPEL Processes - A Tool Demo
Pragmatic model checking: from theory to implementations
Decidability Results for Choreography Realization
Artifact-centric modeling using BPMN
Compliance by Design for Artifact-Centric Business Processes
Verification with LoLA: 7 Implementation
Verification with LoLA: 6 Integrating LoLA
Verification with LoLA: 5 Case Studies
Verification with LoLA: 4 Using LoLA
Verification with LoLA: 3 State Space Reduction
Verification with LoLA: 1 Basics
Verification with LoLA: 2 The LoLA Input Language
Ws4 dsec talk @ Kickoff RS3
Internal Behavior Reduction for Services
Karsten Wolf @ Carl Adam Petri Memorial Symposium
Implementation of an Interleaving Semantics for TLDA
Formale Fundierung und effizientere Implementierung der schrittbasierten TLDA...
Demonstration of BPEL2oWFN and Fiona
Analyzing Web Service Behavior
Modellierung eines verteilten Algorithmus
Analyzing Interacting BPEL Processes - A Tool Demo
Ad

Recently uploaded (20)

PPTX
GDM (1) (1).pptx small presentation for students
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
Classroom Observation Tools for Teachers
PPTX
Cell Structure & Organelles in detailed.
PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PDF
Basic Mud Logging Guide for educational purpose
PDF
Insiders guide to clinical Medicine.pdf
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
01-Introduction-to-Information-Management.pdf
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PPTX
Pharma ospi slides which help in ospi learning
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PDF
Computing-Curriculum for Schools in Ghana
PPTX
Cell Types and Its function , kingdom of life
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PPTX
PPH.pptx obstetrics and gynecology in nursing
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
Complications of Minimal Access Surgery at WLH
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
GDM (1) (1).pptx small presentation for students
O5-L3 Freight Transport Ops (International) V1.pdf
Classroom Observation Tools for Teachers
Cell Structure & Organelles in detailed.
Microbial disease of the cardiovascular and lymphatic systems
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Basic Mud Logging Guide for educational purpose
Insiders guide to clinical Medicine.pdf
Anesthesia in Laparoscopic Surgery in India
01-Introduction-to-Information-Management.pdf
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
Pharma ospi slides which help in ospi learning
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
Computing-Curriculum for Schools in Ghana
Cell Types and Its function , kingdom of life
Supply Chain Operations Speaking Notes -ICLT Program
PPH.pptx obstetrics and gynecology in nursing
human mycosis Human fungal infections are called human mycosis..pptx
Complications of Minimal Access Surgery at WLH
FourierSeries-QuestionsWithAnswers(Part-A).pdf

Correctness Ensuring Process Configuration: An Approach Based on Partner Synthesis

  • 1. Correctness Ensuring Process Configuration: An Approach Based on Partner Synthesis Wil van der Aalst (TU/e, QUT) Niels Lohmann (U-Rostock, TU/e) Marcello La Rosa (QUT) Jingxin Xu (QUT)
  • 2. The need for configurable process models: CoSeLoG project +/- 430 Dutch PAGE 1 municipalities
  • 3. The need for configurable process models: Suncorp case End to end process has between 250-1000 process steps Product Sales Service Claims 500 Dev steps • 25+ steps • 50+ steps • 75+ steps • 100+ steps Sources: Guidewire reference models, GIO CISSS Project, CI US&S P4PI Project Home       Motor         30 Commercial      variations Liability      CTP / WC      PAGE 2
  • 4. Two variants of the same process … PAGE 3
  • 5. Variation points Configuration = limiting behavior ! Activate Hide/skip Block Blocking Hiding Blocking Action Activating PAGE 4
  • 6. Correctness of configurations + = Configurable Model + Configuration = Configured model • Question 1: Is a particular configuration correct? • Question 2: Is there a correct configuration? • Question 3: How to characterize the set of all correct configurations? • Question 4: How to auto-complete a configuration? PAGE 5
  • 7. Transition Flow Place XOR-split Can t3 be blocked? AND-split AND-join XOR-join Token pI pI t1 t2 t1 t2 p2 p3 p4 p2 p3 p4 t5 t6 t5 t6 t3 t4 t4 p6 p6 p5 t8 p5 t8 p7 p7 t7 t7 pO pO PAGE 6
  • 8. Transition Flow Place XOR-split Block t1 and hide t3 ? AND-split AND-join XOR-join Token p1 p1 Prepare Prepare Prepare Travel Form t1 t2 Travel Form t2 Travel Form (Secretary) (Employee) (Employee p2 p2 Arrange p3 t3 travel p4 p3 τ p4 insurance t3 (Employee) p5 p5 Request for Check & Update t7 t4 Travel Form t5 τ Request for Check & Update change (Admin) (Employee) change t7 t4 Travel Form t5 τ (Admin) (Employee) p6 p6 Submit Travel Form Submit t6 Travel Form for Approval t6 for Approval (Employee) (Employee) p7 p7 Approve Reject Travel Form t8 Travel Form t9 Approve Reject (Admin) (Admin) Travel Form t8 Travel Form t9 (Admin) (Admin) p8 p8 PAGE 7
  • 9. Transition Flow Place XOR-split Block t4 also? AND-split AND-join XOR-join Token p1 p1 Prepare Prepare Prepare Travel Form t1 t2 Travel Form t2 Travel F (Secretary) (Employee) (Emplo p2 p2 Arrange p3 t3 travel p4 p3 t3 τ p4 insurance (Employee) p5 p5 Request for Check & Update Request for change t7 t4 Travel Form t5 τ change t7 t5 τ (Admin) (Employee) (Admin) p6 p6 Submit Submit Travel Form Travel Form t6 for Approval t6 for Approval (Employee) (Employee) p7 p7 Approve Reject Approve Reject Travel Form t8 Travel Form t9 Travel Form t8 Travel Form t9 (Admin) (Admin) (Admin) (Admin) p8 p8 PAGE 8
  • 10. Existing approaches • Most approaches only consider the syntactical issues or simply create the configured model and analyze it (i.e., trail and error). • Our earlier approach using a SAT solver is an exception to this rule, but is limited to free-choice WF-nets. W.M.P. van der Aalst, M. Dumas, F. Gottschalk, A.H.M. ter Hofstede, M. La Rosa, J. Mendling, Preserving Correctness During Business Process Model Configuration. In Formal Aspects of Computing (FACS). Vol. 22 No. 3-4, 2010. PAGE 9
  • 11. New approach • Based on partner synthesis developed in the Rostock group. • Implemented in C-YAWL using Wendy. • Advantages: 1. No syntactical restrictions (i.e. beyond WF-nets and free-choice). 2. Complete characterization of all correct configurations at design time: the so-called configuration guideline. 3. Computation time is moved from configuration time to design time. PAGE 10
  • 12. Open nets and weak termination Open net: • Labeled Petri net without any syntactical restrictions. • Special label: τ • Set of final markings, in this case [p4]. Correctness notion: • weak termination: it is always possible to reach a final marking (weaker than classical soundness) PAGE 11
  • 13. Composition of open nets p11 p21 p11 p21 y t11 t12 x t21 x τ (t12, t21) p12 p12 p22 p22 τ t13 t14 z = τ t13 τ (t14, t22) p13 t22 z p13 t15 z τ (t15, t22) p14 p23 p14 p23 Ω ={[p14]} Ω ={[p23]} Ω ={[p14,p23]} PAGE 12
  • 14. Controllability • An open net is controllable if there exists another open net such that their composition is weakly terminating. • An open net is called a partner of another open net if their composition is weakly terminating. • A controllable open net has at least one partner. • There are efficient techniques to check controllability and to synthesize partners. [Karsten Wolf. Does My Service Have Partners?. T. Petri Nets and Other Models of Concurrency 2: 152-171 (2009)] • These are implemented in Wendy. [Niels Lohmann, Daniela Weinberg. Wendy: A Tool to Synthesize Partners for Services. Petri Nets 2010: 297-307.] PAGE 13
  • 15. Controllability p11 y t11 t12 x weakly p14 p12 = terminating τ t13 t14 z partner?? p13 Ω ={[p13]} Idea: good configuration = partner! PAGE 14
  • 16. Configurable interface (allow by default) PAGE 15
  • 17. Configurable interface (block by default) PAGE 16
  • 18. Configuration guideline (allow by default) CG PAGE 17
  • 19. Configurable interface (block by default) CG PAGE 18
  • 20. Configuration guideline (allow by default) CG PAGE 19
  • 21. Configuration guideline (allow by default) CG PAGE 20
  • 22. Configuration guideline (allow by default) CG PAGE 21
  • 23. Configuration guideline (allow by default) CG PAGE 22
  • 24. Tool support • YAWL editor − Creating C-YAWL models − Configuring C-YAWL models − Verification and auto-completion (using SAT solver and/or Wendy) • YAWL engine Configuration model (.cml) • YAWL services Quaestio C-YAWL Editor C-YAWL model (.yawl) Configured YAWL Engine C-YAWL (.yawl) spec. (.yawl) Questionnaire Mapping Model (.qml) (.cmap) Process Mapper Process Configured Individualizer EPC Configurator C-EPC (.epml) (.epml) C-EPC model (.epml) Questionnaire Designer C-EPC Designer Process Merger PAGE 23
  • 25. C-YAWL p1 Prepare Prepare Travel Form t1 t2 Travel Form (Secretary) (Employee) p2 Arrange p3 t3 travel p4 insurance (Employee) p5 Request for Check & Update change t7 t4 Travel Form t5 τ (Admin) (Employee) p6 Submit Travel Form t6 for Approval (Employee) p7 Approve Reject Travel Form t8 Travel Form t9 (Admin) (Admin) p8 PAGE 24
  • 26. C-YAWL PAGE 25
  • 27. Conclusion • New approach for ensuring the correctness of process configurations based on partner synthesis. • Advantages: 1. No syntactical restrictions (i.e. beyond WF-nets and free- choice). 2. Complete characterization of all correct configurations at design time: the so-called configuration guideline. 3. Computation time is moved from configuration time to design time. • Implemented in C-YAWL using Wendy. − Complete support for workflow configuration, verification, and enactment. − Autocomplete, domain knowledge, etc. PAGE 26
  • 28. More information • www.processconfiguration.com (various references to configuration literature and a comprehensive toolset) • www.yawlfoundation.org (YAWL has been extended to support configuration, cf. C-YAWL) • service-technology.org (paper and tools - including Wendy - related to the analysis of services) • www.win.tue.nl/coselog (webpage of the CoSeLoG project) PAGE 27