A Multi-Dimensional
Compositional Approach for
Business Process

         Ang Chen



             1
Business Process Transaction &
Preliminary
              Engineering       ID-net




Questions      Conclusion    Applications
                   2
Business Process Transaction &
Preliminary Engineering       ID-net




  Questions     Conclusion   Applications
                   2
4
4
4
4
4
4
Separation of Dimensions
         Multi-Dimensional analysis is
            natural in science e.g.
          mathematics, physics, and
                 engineering




              5
Separation of Dimensions
                Multi-Dimensional analysis is
                   natural in science e.g.
                 mathematics, physics, and
                        engineering

   In software development, it is about the
 Separation of Concerns and Reusability, but
   their applications are more abstract and
                   conceptual
                      5
6
6
7
Business Process Transaction &
Preliminary
              Engineering       ID-net




Questions      Conclusion    Applications
                   8
Business Process
Preliminary            Transaction &
            Engineering ID-net




Questions    Conclusion   Applications
                8
Business Process
  (Workflow)




       9
Business Process




       10
Business Process: E-
      Commerce
Process                                      production
                                              schedule
                  receive         collect                   send
                   order         payment                  invoice
                                              shipping
                                              schedule



Each color represents an organization

Activity

Flow

Participant

                                        11
Process: Pass the Thesis
         Exam




           12
Process: Pass the Thesis
                Exam
                                             Inscription of
                                             exam (faculty)

Send thesis to    Approvals of                                      Authorization
                                 AND                          AND
  the juries         juries                                           of faculty


30+ days before                              Hard copy for
                                              department


                                            20 days before             Thesis
                                                                      Defence



                                       12
Traceability

 For an objective




        13
Traceability

 For an objective

When         Who

What         How



        13
Process Oriented
          Systems
•   Healthcare systems
•   Scientific workflows: following experiments
•   E-Government: administration procedures
•   E-Commerce, trading platforms
•   Any Case Handling Systems: Logistics,
    Insurance
Software Development
        Cycle




         15
Software Development
        Cycle




         15
Software Development
        Cycle




         15
Software Development
        Cycle

     Requireme




                 15
Software Development
        Cycle
                      Analysis
                      & Design


     Requireme




                 15
Software Development
        Cycle
                      Analysis
                      & Design


     Requireme

                                 Implement




                 15
Software Development
        Cycle
                      Analysis
                      & Design


     Requireme

                                 Implement




                       Test &



                 15
Software Development
        Cycle
                      Analysis
                      & Design


     Requireme

                                 Implement

     Execution


                       Test &



                 15
Challenges in Software
    Development




          16
Challenges in Software
      Development
Execution


Test &


Implement

  Analysis
  & Design

Requireme



             16
Challenges in Software
      Development
Execution


Test &


Implement

  Analysis
  & Design

Requireme



             16
Challenges in Software
      Development
Execution


Test &
             dependency




Implement

  Analysis
  & Design

Requireme



                          16
Challenges in Software
      Development
Execution
                          Complexity of
Test &                      models
             dependency




Implement

  Analysis
  & Design

Requireme



                                16
Challenges in Software
      Development
Execution
                           Complexity of
Test &                       models
             dependency




Implement

  Analysis                Frequent changes
  & Design
                           of requirements
Requireme



                                  16
Challenges in Software
       Development
Exe
      cut
         ion
                                Complexity of
Tes
   t&                             models
                  dependency



Imp
      lem
            ent
  Ana
 & D lysis
      esi
                               Frequent changes
          gn
Req
                                of requirements
    uire
         me


                                       16
Challenges




    17
Challenges
Business processes are complex entities which
      need to change frequently to adopt
     requirements from business domains




                     17
Challenges
Business processes are complex entities which
      need to change frequently to adopt
     requirements from business domains

 The development of business processes is
about developing concurrent and distributed
    programs across different platforms


                     17
Requirements of BP
Modeling: Workflow Patterns

                      Inscription of
                      exam (faculty)

 Approvals of                                Authorization
                AND                    AND
    juries                                     of faculty


      AND-SPLIT       Hard copy for
                       department
                                       AND-JOIN




                          18
Requirements of BP
Modeling: Workflow Patterns

                      Inscription of
                      exam (faculty)

 Approvals of                                Authorization
                AND                    AND
    juries                                     of faculty


      AND-SPLIT       Hard copy for
                       department
                                       AND-JOIN




                          18
Requirements of BP
Modeling: Workflow Patterns

                      Inscription of
                      exam (faculty)

 Approvals of                                Authorization
                AND                    AND
    juries                                     of faculty


      AND-SPLIT       Hard copy for
                       department
                                       AND-JOIN




                          18
Requirements of BP
Modeling: Workflow Patterns

                      Inscription of
                      exam (faculty)

 Approvals of                                Authorization
                AND                    AND
    juries                                     of faculty


      AND-SPLIT       Hard copy for
                       department
                                       AND-JOIN




                          18
Requirements of BP
Modeling: Workflow Patterns

                      Inscription of
                      exam (faculty)

 Approvals of                                Authorization
                AND                    AND
    juries                                     of faculty


      AND-SPLIT       Hard copy for
                       department
                                       AND-JOIN




                          18
Requirements of BP
Modeling: Workflow Patterns
                                                            B                                        B

    A                       B         A      AND                                A       XOR


                sequence                                    C                                        C
                                          AND split                                  XOR Split


    A                                 A                                                              B

                  AND       C                                                   A        MUL
                                              XOR               C
    B                                                                                                C
                                      B
                AND join                     XOR join                               Multi-Choice




                        B
                                                                                    B
A       start           C                               A              XOR                     AND       D
                                end   E
                                                                                    C
                        D                                           XOR Split                 AND join

    Interleaved parallel routing                                       a not well-formed process

                                             19
Requirements of BP
    Modeling




        20
Requirements of BP
        Modeling
•   Workflow patterns: increasing references for
    the requirements of expressiveness in BP
    modeling




                       20
Requirements of BP
        Modeling
•   Workflow patterns: increasing references for
    the requirements of expressiveness in BP
    modeling
•   Informal description




                           20
Requirements of BP
        Modeling
•   Workflow patterns: increasing references for
    the requirements of expressiveness in BP
    modeling
•   Informal description
•   No single language can satisfy all the
    requirements


                           20
What are the primitives for BP modeling?




                   21
Proposition: Dimensions
  of Business Process




           22
Proposition: Dimensions
  of Business Process
•   Control flow: for the execution (scheduling) of
    processes (parallel)




                           22
Proposition: Dimensions
  of Business Process
•   Control flow: for the execution (scheduling) of
    processes (parallel)

•   Data model: information which are not part of the
    control flow




                           22
Proposition: Dimensions
  of Business Process
•   Control flow: for the execution (scheduling) of
    processes (parallel)

•   Data model: information which are not part of the
    control flow

•   Transaction (synchronization): short-running (ACID),
    long-running (relaxed ACID)




                           22
Proposition: Dimensions
  of Business Process
•   Control flow: for the execution (scheduling) of
    processes (parallel)

•   Data model: information which are not part of the
    control flow

•   Transaction (synchronization): short-running (ACID),
    long-running (relaxed ACID)

    By combining the dimensions we obtain new
    aspects, e.g. :
       control + data model => data flow, concurrency

                           22
Dimensions of Business
      Process




          23
Dimensions of Business
      Process




   Control


             23
Dimensions of Business
      Process


                         0..*   1              1   0..1
                  Item              Order                  Shipping
                                         1     1
                                                   0..1
                                        0..*              Production



   Control        Data
                                    Payment




             23
Dimensions of Business
      Process
             Transaction
                      //, +, ..



                                         0..*   1              1   0..1
                                  Item              Order                  Shipping
                                                         1     1
                                                                   0..1
                                                        0..*              Production



   Control                        Data
                                                    Payment




                 23
Dimensions of Business
      Process
             Transaction
                      //, +, ..



                                         0..*   1              1   0..1
                                  Item              Order                  Shipping
                                                         1     1
                                                                   0..1
                                                        0..*              Production



   Control                        Data
                                                    Payment




                 23
Business Process Transaction &
Preliminary
              Engineering       ID-net




Questions      Conclusion    Applications
                   24
Preliminary              Transaction
            Business Process
              Engineering
                           ID-net




Questions    Conclusion   Applications
                24
Main Contributions
Main Contributions
•   Synchronization mechanism (Transaction) for the
    composition of dimensions.
Main Contributions
•   Synchronization mechanism (Transaction) for the
    composition of dimensions.

•   Formal notation: ID-net

    •   Semantics of the control dimension, true concurrency

    •   Tokens are identifications of resources, monitor the
        resources invovled in business proceses
Main Contributions
•   Synchronization mechanism (Transaction) for the
    composition of dimensions.

•   Formal notation: ID-net

    •   Semantics of the control dimension, true concurrency

    •   Tokens are identifications of resources, monitor the
        resources invovled in business proceses

•   Model process oriented system as ID-net Controlled
    System (IDCS): multi-dimensional model
Transaction
(Simultaneous)




      26
Transaction
(Simultaneous)
     Reserve a
    flight ticket




         26
Transaction
 (Simultaneous)
                      Reserve a
                     flight ticket

                                 //
validate client’s payment             reserve a place




      Bank service                    Airline ticket service


                            26
Transaction
(Exclusive Choice)
             Payment



               +


 By Paypal             By Credit Card




               27
ID-net: Separation of Control
    Flow and Data Model




              28
ID-net: Separation of Control
    Flow and Data Model


                         Typed places
                        Arc inscriptions
           x        y
    P1                    P2




               28
ID-net: Separation of Control
    Flow and Data Model
     Data model (e.g. global variables)
                  a        3
                  b        4
                  c        0

                                    Typed places
                                   Arc inscriptions
                 x             y
    P1                               P2




                      28
ID-net: Separation of Control
    Flow and Data Model
     Data model (e.g. global variables)
                  a        3
                  b        4
                  c        0

                 y:=[x]+2           Typed places
                                   Arc inscriptions
                 x      y
    P1                               P2




                      28
ID-net: Separation of Control
    Flow and Data Model
     Data model (e.g. global variables)
                  a        3
                  b        4
                  c        0

                 y:=[x]+2           Typed places
                                   Arc inscriptions
                 x      y
    P1 a,b,c                         P2




                      28
ID-net: Separation of Control
    Flow and Data Model
     Data model (e.g. global variables)
                  a        3
                  b        4
                  c        0

                 y:=[x]+2           Typed places
                                   Arc inscriptions
                 x      y
    P1 a,b,          c               P2




                      28
ID-net: Separation of Control
    Flow and Data Model
     Data model (e.g. global variables)
                  a        3
                  b        4
                  c        0

                                    Typed places
                                   Arc inscriptions
                 x             y
    P1 a,b,           c              P2
                      y:=[c]+2=2


                      28
ID-net: Separation of Control
    Flow and Data Model
     Data model (e.g. global variables)
                  a        3
                  b        4
                  c        0

                                    Typed places
                                   Arc inscriptions
                 x             y
    P1 a,b,                2         P2
                      y:=[c]+2=2


                      28
ID-net: Separation of Control
    Flow and Data Model
     Data model (e.g. global variables)
                  a        3
                  b        4
                  c        0

                                        Typed places
                                       Arc inscriptions
                 x             y
    P1 a,b,                        2     P2
                      y:=[c]+2=2


                      28
ID-net: Separation of Control
    Flow and Data Model
     Data model (e.g. global variables)
                  a        3
                  b        4
                  c        0

                                        Typed places
                                       Arc inscriptions
                 x             y
    P1 a,b,                        2     P2
                      y:=[c]+2=2
     Dynamic synchronization between
       control flow and data model
                      28
ID-net Transitions: Pipes

                                  v1
                v1     v1                 v1
                                 v1


               v1       v2               v1
                                  v1
               v2       v1               v1




Pipe transitions must preserve all input tokens for output
ID-net Transitions:
           Generators
                   v1               v2
            v1               v1
                   v2               v3

                   v1
                             v1     v2
                   v2



Generator transitions may generate new (fresh) tokens,
          e.g. dynamic allocation of resources
Token Flow in ID-net
                          p3

 p1        t1                        t2
      v1         v1             v1
                                          v1
                               v2
 p2   v2        v2                             p6
                     p4        v3

                                v3
                     p5
ID-net: Principles




        32
ID-net: Principles
                                  Transaction

 Separation of
Control and Data
   dimension
                        Control                 Data




                   32
ID-net: Principles
                                  Transaction

 Separation of
Control and Data
   dimension
                        Control                 Data




Synchronization
 of dimensions


                   32
Business Process Transaction &
Preliminary
              Engineering       ID-net




Questions      Conclusion    Applications
                   33
Business Process Transaction &
Preliminary
              Engineering       ID-net




Questions      Conclusion Applications
                   33
BP Modeling: Example




         34
BP Modeling: Example
                                    shipping
                                    schedule
 Informal     receive    collect                  send
description    oder     payment                 invoice
                                   production
                                    schedule




                              34
BP Modeling: Example
                                                              shipping
                                                              schedule
 Informal             receive            collect                                         send
description            oder             payment                                        invoice
                                                             production
                                                              schedule


                                                              shipping
                                         order                schedule
                                                                               create
 Formalized           receive       o              schedule                   invoice invoice
Control-Flow           order                       o    ps               ss        i             i     send
                                                                                                     invoice
                      collect       p
                     payment                       p    ss               ps
                                        payment              production
                                                              schedule

Receive order and collect payment can be parallel or
sequential, depending on the interpretation of the informal
model. parallel might be more flexible in this case

                                              34
BP Modeling: Data
            Model
                                                     shipping
                                 order               schedule
                                                                      create
       receive           o               schedule                    invoice invoice
        order                            o    ss                ss        i            i     send
                                                                                           invoice
        collect          p
       payment                           p    ps                ps
                              payment                production
                                                      schedule




       1..*       1                1          0..1
Item                  Order                              Shipping
                             1     1
                                              0..1
                         0..*                           Production
                      Payment



                                                   35
BP Modeling:
Synchronization of ID-net and Data
              Models




                36
BP Modeling:
Synchronization of ID-net and Data
              Models
                            schedule   shipping
         order    a,b   o         ss   schedule



                        p              production
        payment    c              ps    schedule




                             36
BP Modeling:
     Synchronization of ID-net and Data
                   Models
                                                              schedule                   shipping
                                       order     a,b      o         ss                   schedule



                                                           p                             production
                                      payment      c                ps                    schedule


                                                                         inscription based on the data model

1              1   0..1                  // evaluate and use input variables
    Order                  Shipping
                                         if ([o].clientID != [p].clientID) notFirable;
         1
               1
                   0..1
        0..*              Production
                                         // fill output variables, create shipping and production from order
    Payment                              ss := Shipping.Create([o], ... );
                                         ps := Production.Create([o], ...);



                                                               36
Business Process
Modeling Framework




        37
Business Process
            Modeling Framework
 Control-Flow Model
                                       shipping
                                       schedule
                   order
                                                     create
receive                     schedule                invoice invoice
 order                                                                        send
                                                                            invoice
 collect
payment
                  payment              production
                                        schedule




Data Model
           1..*      1                 1                   0..1
  Item                      Order                                     Shipping

                                 1     1
                                                           0..1

                                0..*
                                                                  Production
                            Payment
                                                                                      37
Business Process
            Modeling Framework
 Control-Flow Model
                                       shipping
                                       schedule
                   order
                                                     create
receive                     schedule                invoice invoice
 order                                                                        send
                                                                            invoice
 collect
payment
                  payment              production
                                        schedule




                           synchronizations


Data Model
           1..*      1                 1                   0..1
  Item                      Order                                     Shipping

                                 1     1
                                                           0..1

                                0..*
                                                                  Production
                            Payment
                                                                                      37
Business Process
            Modeling Framework
 Control-Flow Model
                                       shipping
                                       schedule
                   order
                                                     create
receive                     schedule                invoice invoice
 order                                                                        send
                                                                            invoice
 collect
payment
                  payment              production
                                        schedule




                                                                                             Model
                           synchronizations                                                Composition

Data Model
           1..*      1                 1                   0..1
  Item                      Order                                     Shipping

                                 1     1
                                                           0..1

                                0..*
                                                                  Production
                            Payment
                                                                                      37
Business Process
            Modeling Framework
 Control-Flow Model
                                       shipping
                                       schedule
                   order
                                                     create
receive                     schedule                invoice invoice
 order                                                                        send
                                                                            invoice
 collect
payment
                  payment              production
                                        schedule




                                                                                             Model       Executable
                           synchronizations                                                Composition      BP
Data Model
           1..*      1                 1                   0..1
  Item                      Order                                     Shipping

                                 1     1
                                                           0..1

                                0..*
                                                                  Production
                            Payment
                                                                                      37
Concurrent Program: Peterson’s
Algorithms for Mutual Exclusion




               38
Concurrent Program: Peterson’s
 Algorithms for Mutual Exclusion
   Global variables    a = false;
                       b = false;
                      victim = a;
Process a:                           Process b:
  a = true;                            b = true;
  victim = b;                          victim = a;
  while( b && victim == b );           while( a && victim == a );
      // blocked, do nothing               // blocked, do nothing
  // critical section                  // critical section
  ...                                  ...
  // end of critical section           // end of critical section
  a = false;                           b = false;


                                38
Concurrent Program: Peterson’s
Algorithms for Mutual Exclusion
 Global variables       Relation between the variables
     a = false;          N(a)=b;
     b = false;          N(b)=a;
     victim = a;
                                 x:=false

                    x                              x

ab     x           x           x           x             x    x

                                                    victim!=[x] ||   Critical
        x:=true              victim:=N([x])                          Section
                                                     N(x)!=true


                                      39
Concurrent Program: Peterson’s
Algorithms for Mutual Exclusion
 Global variables       Relation between the variables
     a = false;          N(a)=b;
     b = false;          N(b)=a;
     victim = a;
                                 x:=false

                    x                              x

ab     x           x           x           x             x    x

                                                    victim!=[x] ||   Critical
        x:=true              victim:=N([x])                          Section
                                                     N(x)!=true
        Property: maximum one token in the critical section
                                      39
Concurrent Program: Peterson’s
Algorithms for Mutual Exclusion
 Global variables       Relation between the variables
     a = false;          N(a)=b;                    With 2 processes, this system
     b = false;          N(b)=a;                        is deadlock-free and
     victim = a;                                            starvation-free
                                 x:=false

                    x                              x

ab     x           x           x           x             x    x

                                                    victim!=[x] ||   Critical
        x:=true              victim:=N([x])                          Section
                                                     N(x)!=true
        Property: maximum one token in the critical section
                                      39
Model Verification

Properties of control            Properties of each
    flow model                       data model




                    Reasoning the
                   properties of the
                 synchronized system

                         40
Business Process Transaction &
Preliminary
              Engineering       ID-net




Questions      Conclusion    Applications
                   41
Business Process Transaction &
Preliminary
              Engineering       ID-net




Questions   Conclusion Applications
                   41
Conclusion

•   ID-net: Separation of Control and Data during the
    modeling phase

•   Transaction for the synchronization of dimensions

•   Facilitate the verification and complexity management of
    process-oriented models

•   Model-Driven Development. Help to improve the cycle of
    business process engineering, from modeling to execution




                             42
Future Perspectives
•   Based on the dimensions, propose heuristics for
    the model checking of complex systems

•   A user-friendly language based on ID-net for the
    syntax integration of DSLs (e.g. a concurrent
    parallel programming language)

•   Tools support, e.g. Push-Button compilation and
    model verification, compilers tool-chains for high-
    level languages


                          43
Business Process Transaction &
Preliminary
              Engineering       ID-net




Questions      Conclusion    Applications
                   44
Business Process Transaction &
 Preliminary
               Engineering       ID-net




Questions       Conclusion    Applications
                    44

Defence: A multi-dimensional compositional approach for business process (semantics) engineering

  • 1.
    A Multi-Dimensional Compositional Approachfor Business Process Ang Chen 1
  • 2.
    Business Process Transaction& Preliminary Engineering ID-net Questions Conclusion Applications 2
  • 3.
    Business Process Transaction& Preliminary Engineering ID-net Questions Conclusion Applications 2
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
    Separation of Dimensions Multi-Dimensional analysis is natural in science e.g. mathematics, physics, and engineering 5
  • 12.
    Separation of Dimensions Multi-Dimensional analysis is natural in science e.g. mathematics, physics, and engineering In software development, it is about the Separation of Concerns and Reusability, but their applications are more abstract and conceptual 5
  • 13.
  • 14.
  • 15.
  • 16.
    Business Process Transaction& Preliminary Engineering ID-net Questions Conclusion Applications 8
  • 17.
    Business Process Preliminary Transaction & Engineering ID-net Questions Conclusion Applications 8
  • 18.
    Business Process (Workflow) 9
  • 19.
  • 20.
    Business Process: E- Commerce Process production schedule receive collect send order payment invoice shipping schedule Each color represents an organization Activity Flow Participant 11
  • 21.
    Process: Pass theThesis Exam 12
  • 22.
    Process: Pass theThesis Exam Inscription of exam (faculty) Send thesis to Approvals of Authorization AND AND the juries juries of faculty 30+ days before Hard copy for department 20 days before Thesis Defence 12
  • 23.
    Traceability For anobjective 13
  • 24.
    Traceability For anobjective When Who What How 13
  • 25.
    Process Oriented Systems • Healthcare systems • Scientific workflows: following experiments • E-Government: administration procedures • E-Commerce, trading platforms • Any Case Handling Systems: Logistics, Insurance
  • 26.
  • 27.
  • 28.
  • 29.
    Software Development Cycle Requireme 15
  • 30.
    Software Development Cycle Analysis & Design Requireme 15
  • 31.
    Software Development Cycle Analysis & Design Requireme Implement 15
  • 32.
    Software Development Cycle Analysis & Design Requireme Implement Test & 15
  • 33.
    Software Development Cycle Analysis & Design Requireme Implement Execution Test & 15
  • 34.
  • 35.
    Challenges in Software Development Execution Test & Implement Analysis & Design Requireme 16
  • 36.
    Challenges in Software Development Execution Test & Implement Analysis & Design Requireme 16
  • 37.
    Challenges in Software Development Execution Test & dependency Implement Analysis & Design Requireme 16
  • 38.
    Challenges in Software Development Execution Complexity of Test & models dependency Implement Analysis & Design Requireme 16
  • 39.
    Challenges in Software Development Execution Complexity of Test & models dependency Implement Analysis Frequent changes & Design of requirements Requireme 16
  • 40.
    Challenges in Software Development Exe cut ion Complexity of Tes t& models dependency Imp lem ent Ana & D lysis esi Frequent changes gn Req of requirements uire me 16
  • 41.
  • 42.
    Challenges Business processes arecomplex entities which need to change frequently to adopt requirements from business domains 17
  • 43.
    Challenges Business processes arecomplex entities which need to change frequently to adopt requirements from business domains The development of business processes is about developing concurrent and distributed programs across different platforms 17
  • 44.
    Requirements of BP Modeling:Workflow Patterns Inscription of exam (faculty) Approvals of Authorization AND AND juries of faculty AND-SPLIT Hard copy for department AND-JOIN 18
  • 45.
    Requirements of BP Modeling:Workflow Patterns Inscription of exam (faculty) Approvals of Authorization AND AND juries of faculty AND-SPLIT Hard copy for department AND-JOIN 18
  • 46.
    Requirements of BP Modeling:Workflow Patterns Inscription of exam (faculty) Approvals of Authorization AND AND juries of faculty AND-SPLIT Hard copy for department AND-JOIN 18
  • 47.
    Requirements of BP Modeling:Workflow Patterns Inscription of exam (faculty) Approvals of Authorization AND AND juries of faculty AND-SPLIT Hard copy for department AND-JOIN 18
  • 48.
    Requirements of BP Modeling:Workflow Patterns Inscription of exam (faculty) Approvals of Authorization AND AND juries of faculty AND-SPLIT Hard copy for department AND-JOIN 18
  • 49.
    Requirements of BP Modeling:Workflow Patterns B B A B A AND A XOR sequence C C AND split XOR Split A A B AND C A MUL XOR C B C B AND join XOR join Multi-Choice B B A start C A XOR AND D end E C D XOR Split AND join Interleaved parallel routing a not well-formed process 19
  • 50.
  • 51.
    Requirements of BP Modeling • Workflow patterns: increasing references for the requirements of expressiveness in BP modeling 20
  • 52.
    Requirements of BP Modeling • Workflow patterns: increasing references for the requirements of expressiveness in BP modeling • Informal description 20
  • 53.
    Requirements of BP Modeling • Workflow patterns: increasing references for the requirements of expressiveness in BP modeling • Informal description • No single language can satisfy all the requirements 20
  • 54.
    What are theprimitives for BP modeling? 21
  • 55.
    Proposition: Dimensions of Business Process 22
  • 56.
    Proposition: Dimensions of Business Process • Control flow: for the execution (scheduling) of processes (parallel) 22
  • 57.
    Proposition: Dimensions of Business Process • Control flow: for the execution (scheduling) of processes (parallel) • Data model: information which are not part of the control flow 22
  • 58.
    Proposition: Dimensions of Business Process • Control flow: for the execution (scheduling) of processes (parallel) • Data model: information which are not part of the control flow • Transaction (synchronization): short-running (ACID), long-running (relaxed ACID) 22
  • 59.
    Proposition: Dimensions of Business Process • Control flow: for the execution (scheduling) of processes (parallel) • Data model: information which are not part of the control flow • Transaction (synchronization): short-running (ACID), long-running (relaxed ACID) By combining the dimensions we obtain new aspects, e.g. : control + data model => data flow, concurrency 22
  • 60.
  • 61.
    Dimensions of Business Process Control 23
  • 62.
    Dimensions of Business Process 0..* 1 1 0..1 Item Order Shipping 1 1 0..1 0..* Production Control Data Payment 23
  • 63.
    Dimensions of Business Process Transaction //, +, .. 0..* 1 1 0..1 Item Order Shipping 1 1 0..1 0..* Production Control Data Payment 23
  • 64.
    Dimensions of Business Process Transaction //, +, .. 0..* 1 1 0..1 Item Order Shipping 1 1 0..1 0..* Production Control Data Payment 23
  • 65.
    Business Process Transaction& Preliminary Engineering ID-net Questions Conclusion Applications 24
  • 66.
    Preliminary Transaction Business Process Engineering ID-net Questions Conclusion Applications 24
  • 67.
  • 68.
    Main Contributions • Synchronization mechanism (Transaction) for the composition of dimensions.
  • 69.
    Main Contributions • Synchronization mechanism (Transaction) for the composition of dimensions. • Formal notation: ID-net • Semantics of the control dimension, true concurrency • Tokens are identifications of resources, monitor the resources invovled in business proceses
  • 70.
    Main Contributions • Synchronization mechanism (Transaction) for the composition of dimensions. • Formal notation: ID-net • Semantics of the control dimension, true concurrency • Tokens are identifications of resources, monitor the resources invovled in business proceses • Model process oriented system as ID-net Controlled System (IDCS): multi-dimensional model
  • 71.
  • 72.
    Transaction (Simultaneous) Reserve a flight ticket 26
  • 73.
    Transaction (Simultaneous) Reserve a flight ticket // validate client’s payment reserve a place Bank service Airline ticket service 26
  • 74.
    Transaction (Exclusive Choice) Payment + By Paypal By Credit Card 27
  • 75.
    ID-net: Separation ofControl Flow and Data Model 28
  • 76.
    ID-net: Separation ofControl Flow and Data Model Typed places Arc inscriptions x y P1 P2 28
  • 77.
    ID-net: Separation ofControl Flow and Data Model Data model (e.g. global variables) a 3 b 4 c 0 Typed places Arc inscriptions x y P1 P2 28
  • 78.
    ID-net: Separation ofControl Flow and Data Model Data model (e.g. global variables) a 3 b 4 c 0 y:=[x]+2 Typed places Arc inscriptions x y P1 P2 28
  • 79.
    ID-net: Separation ofControl Flow and Data Model Data model (e.g. global variables) a 3 b 4 c 0 y:=[x]+2 Typed places Arc inscriptions x y P1 a,b,c P2 28
  • 80.
    ID-net: Separation ofControl Flow and Data Model Data model (e.g. global variables) a 3 b 4 c 0 y:=[x]+2 Typed places Arc inscriptions x y P1 a,b, c P2 28
  • 81.
    ID-net: Separation ofControl Flow and Data Model Data model (e.g. global variables) a 3 b 4 c 0 Typed places Arc inscriptions x y P1 a,b, c P2 y:=[c]+2=2 28
  • 82.
    ID-net: Separation ofControl Flow and Data Model Data model (e.g. global variables) a 3 b 4 c 0 Typed places Arc inscriptions x y P1 a,b, 2 P2 y:=[c]+2=2 28
  • 83.
    ID-net: Separation ofControl Flow and Data Model Data model (e.g. global variables) a 3 b 4 c 0 Typed places Arc inscriptions x y P1 a,b, 2 P2 y:=[c]+2=2 28
  • 84.
    ID-net: Separation ofControl Flow and Data Model Data model (e.g. global variables) a 3 b 4 c 0 Typed places Arc inscriptions x y P1 a,b, 2 P2 y:=[c]+2=2 Dynamic synchronization between control flow and data model 28
  • 85.
    ID-net Transitions: Pipes v1 v1 v1 v1 v1 v1 v2 v1 v1 v2 v1 v1 Pipe transitions must preserve all input tokens for output
  • 86.
    ID-net Transitions: Generators v1 v2 v1 v1 v2 v3 v1 v1 v2 v2 Generator transitions may generate new (fresh) tokens, e.g. dynamic allocation of resources
  • 87.
    Token Flow inID-net p3 p1 t1 t2 v1 v1 v1 v1 v2 p2 v2 v2 p6 p4 v3 v3 p5
  • 88.
  • 89.
    ID-net: Principles Transaction Separation of Control and Data dimension Control Data 32
  • 90.
    ID-net: Principles Transaction Separation of Control and Data dimension Control Data Synchronization of dimensions 32
  • 91.
    Business Process Transaction& Preliminary Engineering ID-net Questions Conclusion Applications 33
  • 92.
    Business Process Transaction& Preliminary Engineering ID-net Questions Conclusion Applications 33
  • 93.
  • 94.
    BP Modeling: Example shipping schedule Informal receive collect send description oder payment invoice production schedule 34
  • 95.
    BP Modeling: Example shipping schedule Informal receive collect send description oder payment invoice production schedule shipping order schedule create Formalized receive o schedule invoice invoice Control-Flow order o ps ss i i send invoice collect p payment p ss ps payment production schedule Receive order and collect payment can be parallel or sequential, depending on the interpretation of the informal model. parallel might be more flexible in this case 34
  • 96.
    BP Modeling: Data Model shipping order schedule create receive o schedule invoice invoice order o ss ss i i send invoice collect p payment p ps ps payment production schedule 1..* 1 1 0..1 Item Order Shipping 1 1 0..1 0..* Production Payment 35
  • 97.
    BP Modeling: Synchronization ofID-net and Data Models 36
  • 98.
    BP Modeling: Synchronization ofID-net and Data Models schedule shipping order a,b o ss schedule p production payment c ps schedule 36
  • 99.
    BP Modeling: Synchronization of ID-net and Data Models schedule shipping order a,b o ss schedule p production payment c ps schedule inscription based on the data model 1 1 0..1 // evaluate and use input variables Order Shipping if ([o].clientID != [p].clientID) notFirable; 1 1 0..1 0..* Production // fill output variables, create shipping and production from order Payment ss := Shipping.Create([o], ... ); ps := Production.Create([o], ...); 36
  • 100.
  • 101.
    Business Process Modeling Framework Control-Flow Model shipping schedule order create receive schedule invoice invoice order send invoice collect payment payment production schedule Data Model 1..* 1 1 0..1 Item Order Shipping 1 1 0..1 0..* Production Payment 37
  • 102.
    Business Process Modeling Framework Control-Flow Model shipping schedule order create receive schedule invoice invoice order send invoice collect payment payment production schedule synchronizations Data Model 1..* 1 1 0..1 Item Order Shipping 1 1 0..1 0..* Production Payment 37
  • 103.
    Business Process Modeling Framework Control-Flow Model shipping schedule order create receive schedule invoice invoice order send invoice collect payment payment production schedule Model synchronizations Composition Data Model 1..* 1 1 0..1 Item Order Shipping 1 1 0..1 0..* Production Payment 37
  • 104.
    Business Process Modeling Framework Control-Flow Model shipping schedule order create receive schedule invoice invoice order send invoice collect payment payment production schedule Model Executable synchronizations Composition BP Data Model 1..* 1 1 0..1 Item Order Shipping 1 1 0..1 0..* Production Payment 37
  • 105.
  • 106.
    Concurrent Program: Peterson’s Algorithms for Mutual Exclusion Global variables a = false; b = false; victim = a; Process a: Process b: a = true; b = true; victim = b; victim = a; while( b && victim == b ); while( a && victim == a ); // blocked, do nothing // blocked, do nothing // critical section // critical section ... ... // end of critical section // end of critical section a = false; b = false; 38
  • 107.
    Concurrent Program: Peterson’s Algorithmsfor Mutual Exclusion Global variables Relation between the variables a = false; N(a)=b; b = false; N(b)=a; victim = a; x:=false x x ab x x x x x x victim!=[x] || Critical x:=true victim:=N([x]) Section N(x)!=true 39
  • 108.
    Concurrent Program: Peterson’s Algorithmsfor Mutual Exclusion Global variables Relation between the variables a = false; N(a)=b; b = false; N(b)=a; victim = a; x:=false x x ab x x x x x x victim!=[x] || Critical x:=true victim:=N([x]) Section N(x)!=true Property: maximum one token in the critical section 39
  • 109.
    Concurrent Program: Peterson’s Algorithmsfor Mutual Exclusion Global variables Relation between the variables a = false; N(a)=b; With 2 processes, this system b = false; N(b)=a; is deadlock-free and victim = a; starvation-free x:=false x x ab x x x x x x victim!=[x] || Critical x:=true victim:=N([x]) Section N(x)!=true Property: maximum one token in the critical section 39
  • 110.
    Model Verification Properties ofcontrol Properties of each flow model data model Reasoning the properties of the synchronized system 40
  • 111.
    Business Process Transaction& Preliminary Engineering ID-net Questions Conclusion Applications 41
  • 112.
    Business Process Transaction& Preliminary Engineering ID-net Questions Conclusion Applications 41
  • 113.
    Conclusion • ID-net: Separation of Control and Data during the modeling phase • Transaction for the synchronization of dimensions • Facilitate the verification and complexity management of process-oriented models • Model-Driven Development. Help to improve the cycle of business process engineering, from modeling to execution 42
  • 114.
    Future Perspectives • Based on the dimensions, propose heuristics for the model checking of complex systems • A user-friendly language based on ID-net for the syntax integration of DSLs (e.g. a concurrent parallel programming language) • Tools support, e.g. Push-Button compilation and model verification, compilers tool-chains for high- level languages 43
  • 115.
    Business Process Transaction& Preliminary Engineering ID-net Questions Conclusion Applications 44
  • 116.
    Business Process Transaction& Preliminary Engineering ID-net Questions Conclusion Applications 44

Editor's Notes

  • #30 automation of the procedure
  • #84 15 minutes
  • #85 15 minutes
  • #86 15 minutes
  • #87 15 minutes
  • #141 it is easy to make a projection to obtain a dimension and make model-checking
  • #149 43 mins