SlideShare a Scribd company logo
1 of 28
Download to read offline
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

Viewers also liked

Viewers also liked (7)

Diagnosis of Open Workflow Nets
Diagnosis of Open Workflow NetsDiagnosis of Open Workflow Nets
Diagnosis of Open Workflow Nets
 
Saarbruecken
SaarbrueckenSaarbruecken
Saarbruecken
 
Verification with LoLA
Verification with LoLAVerification with LoLA
Verification with LoLA
 
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
 
Representing Business Processes: Conceptual Model and Design Methodology
Representing Business Processes: Conceptual Model and Design MethodologyRepresenting Business Processes: Conceptual Model and Design Methodology
Representing Business Processes: Conceptual Model and Design Methodology
 
Extending the Compatibility Notion for Abstract WS-BPEL Processes
 Extending the Compatibility Notion for Abstract WS-BPEL Processes Extending the Compatibility Notion for Abstract WS-BPEL Processes
Extending the Compatibility Notion for Abstract WS-BPEL Processes
 
Set Algebra for Service Behavior
Set Algebra for Service BehaviorSet Algebra for Service Behavior
Set Algebra for Service Behavior
 

More from Universität Rostock

Verification with LoLA: 7 Implementation
Verification with LoLA: 7 ImplementationVerification with LoLA: 7 Implementation
Verification with LoLA: 7 Implementation
Universität Rostock
 
Verification with LoLA: 6 Integrating LoLA
Verification with LoLA: 6 Integrating LoLAVerification with LoLA: 6 Integrating LoLA
Verification with LoLA: 6 Integrating LoLA
Universität Rostock
 
Verification with LoLA: 5 Case Studies
Verification with LoLA: 5 Case StudiesVerification with LoLA: 5 Case Studies
Verification with LoLA: 5 Case Studies
Universität Rostock
 
Verification with LoLA: 4 Using LoLA
Verification with LoLA: 4 Using LoLAVerification with LoLA: 4 Using LoLA
Verification with LoLA: 4 Using LoLA
Universitä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 Reduction
Universitä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 Language
Universitä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 Symposium
Universität Rostock
 

More from 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
 
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: 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
 
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
 
Analyzing Web Service Behavior
Analyzing Web Service BehaviorAnalyzing Web Service Behavior
Analyzing Web Service Behavior
 
Modellierung eines verteilten Algorithmus
Modellierung eines verteilten AlgorithmusModellierung eines verteilten Algorithmus
Modellierung eines verteilten Algorithmus
 
Analyzing Interacting BPEL Processes - A Tool Demo
Analyzing Interacting BPEL Processes - A Tool DemoAnalyzing Interacting BPEL Processes - A Tool Demo
Analyzing Interacting BPEL Processes - A Tool Demo
 

Recently uploaded

Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 

Recently uploaded (20)

ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Third Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxThird Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptx
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Asian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptxAsian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptx
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 

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