SlideShare a Scribd company logo
1 of 11
Download to read offline
3/26/2013




                                                                      CHAPTER OUTLINE
                                                        • Section 4.1 introduces control flow patterns, a
   Business Process Methodology                           yardstick in process control flow structures. The
                                                          patterns will be described both textually and more
       Chapter 4-   Process Orchestrations
                                                          formally using the event-based approach introduced in
                                                          the previous chapter.
                                                        • Section 4.2 provides a compact introduction to Petri
                                                          nets. Different Petri net classes are introduced,
                               Prepared by:               including condition event nets, predicate transition
                           Rao Majid Shamshad             nets and, colored Petri nets.
                      University of Education, Lahore
                                                        • An informal perspective on business process modelling
                     email: majidrao111@yahoo.com
                    http://www.bpm-ue.blogspot.com        is taken in Section 4.3, where event-driven process
                                                          chains are discussed. This approach is widely used in
                                                          the business domain to model business processes from
                                                          a pragmatic, application-oriented point of view.




    4.1 CONTROL FLOW PATTERNS                           • Basic control flow patterns include:
• Control flow patterns provide a yardstick for            – sequence,
  expressing process orchestrations. Control               – and split,
  flow patterns are independent of concrete                – and join,
  process languages, so that each pattern can              – exclusive or split
  be expressed in different process languages.             – exclusive or join.
  Control flow patterns can also be used to                • These control flow patterns are supported by
  compare the expressiveness of process                      virtually any process meta-model. Control flow
  languages.                                                 patterns are defined at the process model level.
                                                             Their execution semantics, however, applies to
                                                             process instances.


                                                                                                              4




                                                                                                                         1
3/26/2013



• Activity models are denoted by capital letters,                      SEQUENCE
  A,B,C, . . .,                                      • The sequence pattern defines that an activity
• while the associated activity instances are          instance b in a process instance p is enabled
  denoted by small letters, i.e. a, b, c, . . ..       after the completion of activity instance a in p,
• Gateways are typically denoted by G, and g is        with process model
  an instance of a gateway                           • P = (N,E, type) containing activity models A, B,
• Let P be a process model and p a process             and a gateway model G such that A,B Є NA,
  instance based on this model with an event           G Є NG, E Ͻ {(A,G), (G,B)}, and
  set Ɛᵨ.                                              type(G)=Sequence



                                                 5                                                     6




• The application of the sequence pattern in
  A→B induces an event ordering between the
  termination event of a (and the activity
  instance of activity model A) and b, such that
  b can only be enabled after a has terminated.
  This approach relates the control flow
  patterns directly to the state transitions of
  activity instances.
• In particular, the state transition from init to
  enabled of an activity instance b can only be
  done after the state transition from running of
  a to terminated of a has occurred.

                                                 7                                                     8




                                                                                                                  2
3/26/2013




                       And Split
     • An and split or parallel split is a point in a
       process model where a single thread of
       control splits into multiple threads of control
       which are executed concurrently.
     • An and split determines that for each
       termination of an activity instance a there are
       enable events of activity instances b and c,
       and these events occur after the termination
       event of a.

 9                                                   10




                       And Join
     • An and join is a point in a process model
       where multiple concurrent threads converge
       into one single thread of control. It is an
       assumption of this pattern that each incoming
       branch is executed exactly once.
     • For each enable event of an activity instance
       d, there are termination events of activity
       instances b and c, such that the termination
       events occur before the enable event.

11                                                   12




                                                                 3
3/26/2013




                         Xor Split
     • An Xor split or exclusive or split is a point in a
       process model where one of several branches
       is chosen.
     • The execution semantics of an exclusive or
       split determines that for each termination of
       an activity instance a associated with activity
       model A there is either an enable event of
       activity instance b or an enable event of an
       activity instance c, but not both:

13                                                     14




                         Xor Join
     • An xor join or exclusive or join is a point in a
       process model where two or more alternative
       threads come together without synchronization.
       It is an assumption of this pattern that exactly
       one of the alternative branches is executed.
     • For each termination event of an activity instance
       b or c there is one and only one enable event of
       an activity instance d.
     • While it is an assumption of this pattern that the
       branches are alternative and none of them are
       ever executed in parallel, the branches can be
       part of a loop. But even in this case, for each
       iteration of a loop, the branches are alternative
       and have exclusive or semantics.
15                                                     16




                                                                   4
3/26/2013




                          Or Split
     • An or split is a point in a process model where a
       number of branches are chosen. Selection of any
       nonempty subset of branches is a proper
       behavior of an or split.
     • An or split restricts the events of related activity
       instances as follows: for each termination event
       of a there is a subset of enable events of b and c.
       In general, for each termination event of a there
       can be enable events for any subset of activity
       instances on the outgoing branches of the split.

17                                                       18




                           Or Join
     • An or join is a point in a process model where
       multiple threads of control converge into one
       single thread. It is an assumption of this
       pattern that a branch that has already been
       activated cannot be activated again while the
       merge is still waiting for other branches to
       complete.
     • The or join is a problematic control flow
       pattern. The problem is that the join cannot
       locally decide how long to wait for its
       activation.
19                                                       20




                                                                     5
3/26/2013



• Even from the simple process model fragment shown
  in Figure 4.9, this problem can be explained: once one
  incoming branch is triggered, for instance, by
  termination of b, how should the or join react? There
  are two options:
   – Wait: The or join waits before the activity instance d is
     triggered, because the other incoming path—which
     completes in activity instance c—can still be executed.
   – Trigger : The or join triggers d immediately after the
     termination of b.
• The problem is that we cannot decide which of these
  alternatives the correct one is. After the first incoming
  branch has terminated, how long should the or join
  wait for the other branch to complete? If no additional
  knowledge is available, there is no way of deciding
  whether c will eventually terminate for the particular
  process instance. Since there is
                                                            21   22




                 Multiple Merge
• A multiple merge or multi-merge is a point in a
  process model where two or more concurrent
  threads join without synchronization. The activity
  following the merge is started for every activation
  of every incoming branch.
• The multi-merge is functionally equivalent with
  the exclusive or join; the only difference is that
  the latter assumes that only one of its incoming
  branches gets activated. This assumption is not in
  place for the multi-merge pattern.

                                                            23   24




                                                                             6
3/26/2013



• The multiple merge pattern spawns off new threads of
  control. These threads need to be identified so that
  future joins can be realized properly. These aspects are
  illustrated in an example shown in Figure 4.11, where a
  process model with an and split followed by a multi-
  merge is shown. As a result, any of the threads induced
  by the and split will survive the multiple merge and
  spawn a new instance for activity model D and of the
  activity models following D in the process model.
• Each of the threads of control spawned off by the
  multi-merge is subject to the and split/and join shown
  in the process model. The and join requires
  information on the identity of the threads that come
  in; otherwise, situations could arise in which activity
  instances that belong to different threads of control are
  synchronized. These issues can be illustrated by the
  event diagram
                                                         25   26




                   Discriminator
• The discriminator is a point in a process model
  that waits for one of the incoming branches to
  complete before activating the subsequent
  activity. From that moment on it waits for all
  remaining branches to complete and “ignores”
  them. Once all incoming branches have been
  triggered, it resets itself so that it can be
  triggered again. This allows a discriminator to
  be used in the context of a loop.

                                                         27   28




                                                                          7
3/26/2013



                                                         These activity instances are b2 and c2. What is remarkable
                                                         in this example is that there are two instances of activity
                                                         model C active concurrently, assuming c1 has not yet
                                                         terminated. Even if c2 terminates before c1, the semantics
                                                         of the discriminator makes sure that it can only fire and
                                                         enable d2 after the first iteration has completed, i.e., only
                                                         after the remaining activity instance c1 has terminated. If
• An example involving the discriminator pattern is      this I the case, the discriminator can fire a second time, to
  shown in Figure 4.14. The process starts with          enable d2. The event diagram of this process instance is
  activity instance a before an and split occurs that    shown in Figur 4.15.
  spawns activity instances b1 and c1. Assuming b1
  terminates first, the discriminator fires and
  enables d1. When d1 terminates, assuming a new
  iteration of the loop is required, new activity
  instances based on B and C are created.
                                                    29                                                              30




               Arbitrary Cycles                          A more complex example of a cycle involving the multi-
                                                         merge pattern I shown in Figure 4.18. The problem in
• An arbitrary cycle is a point in a process model
  where one or more activities can be executed           this example is that the cycle enter one of two
  repeatedly.                                            concurrent branches of an and split whose branches
• An arbitrary cycle is graphically depicted in Figure   are joined b a multi-merge
  4.17. In this example, a sequence consisting of
  activity models A, B, and C is iterated. The
  iteration is represented by an exclusive or split
  that decides whether to iterate the cycle or
  whether to leave it and continue with activity
  instance d, associated with activity model D. In
  case the loop is iterated, the exclusive or join
  triggers another instance associated with activity
  model A.

                                                    31                                                              32




                                                                                                                                8
3/26/2013




                                                                    Deferred Choice
                                                       • Deferred choice is a state-based pattern.
                                                         State-based patterns capture the implicit
                                                         behaviour of processes that is based not on
                                                         the current case but rather on the
                                                         environment or other parts of the process.
                                                         Some of the following patterns require the
                                                         existence of an external process that
                                                         represents the environment. This process is
                                                         used as a source for external events.

                                                  33                                               34




• A deferred choice is a point in a process model
  where one of several branches is chosen. In
  contrast to the exclusive or split, the choice is
  not made explicitly—for example, based on
  data values or a user decision—but several
  alternatives are offered to the environment.
• The environment activates one of the
  alternatives, and the other branches are then
  withdrawn. Because the choice is delayed
  until one of the alternative branches has
  actually been started, the moment of choice is
  deferred to a point in time that is as late as
  possible
                                                  35                                               36




                                                                                                               9
3/26/2013




4.7 BUSINESS PROCESS MODELING NOTATION




                                         37   38




                                         39   40




                                                         10
3/26/2013




41   42




43   44




                11

More Related Content

Viewers also liked

Viewers also liked (6)

Content list of internship DoMS UE Okara
Content list of internship DoMS UE OkaraContent list of internship DoMS UE Okara
Content list of internship DoMS UE Okara
 
E-payment
E-paymentE-payment
E-payment
 
Cad, cam, cim
Cad, cam, cimCad, cam, cim
Cad, cam, cim
 
Consumption&multiplier
Consumption&multiplierConsumption&multiplier
Consumption&multiplier
 
Entrepreneurship hisrich chapter 1
Entrepreneurship hisrich chapter 1Entrepreneurship hisrich chapter 1
Entrepreneurship hisrich chapter 1
 
Enterprise resource planning (erp) systems
Enterprise resource planning (erp) systemsEnterprise resource planning (erp) systems
Enterprise resource planning (erp) systems
 

Similar to Chapter 4 "Process Orchestrations"

BPM 2014 - The Automated Discovery of Hybrid Processes
BPM 2014 - The Automated Discovery of Hybrid ProcessesBPM 2014 - The Automated Discovery of Hybrid Processes
BPM 2014 - The Automated Discovery of Hybrid ProcessesTijs Slaats
 
Processscheduling 161001112521
Processscheduling 161001112521Processscheduling 161001112521
Processscheduling 161001112521marangburu42
 
Processscheduling 161001112521
Processscheduling 161001112521Processscheduling 161001112521
Processscheduling 161001112521marangburu42
 
Spring 1 day program
Spring 1 day programSpring 1 day program
Spring 1 day programMohit Kanwar
 
Processscheduling 161001112521
Processscheduling 161001112521Processscheduling 161001112521
Processscheduling 161001112521marangburu42
 
Variables Arguments and control flow_UiPath.ppt
Variables Arguments and control flow_UiPath.pptVariables Arguments and control flow_UiPath.ppt
Variables Arguments and control flow_UiPath.pptRohit Radhakrishnan
 
Process synchronizationfinal
Process synchronizationfinalProcess synchronizationfinal
Process synchronizationfinalmarangburu42
 
Lecture 5- Process Synchronization (1).pptx
Lecture 5- Process Synchronization (1).pptxLecture 5- Process Synchronization (1).pptx
Lecture 5- Process Synchronization (1).pptxAmanuelmergia
 
Working With Concurrency In Java 8
Working With Concurrency In Java 8Working With Concurrency In Java 8
Working With Concurrency In Java 8Heartin Jacob
 
Introduction to Business Processes 3.7
Introduction to Business Processes 3.7Introduction to Business Processes 3.7
Introduction to Business Processes 3.7StephenKardian
 
Presentasi testing throughout the software life cycle 2
Presentasi testing throughout the software life cycle 2Presentasi testing throughout the software life cycle 2
Presentasi testing throughout the software life cycle 2Egi Ilham Elnusa
 
Concurrency: Mutual Exclusion and Synchronization
Concurrency: Mutual Exclusion and SynchronizationConcurrency: Mutual Exclusion and Synchronization
Concurrency: Mutual Exclusion and SynchronizationAnas Ebrahim
 
OPM Overview
OPM Overview OPM Overview
OPM Overview dgarijo
 
Es_module2ppt.pptx
Es_module2ppt.pptxEs_module2ppt.pptx
Es_module2ppt.pptxRohanAM1
 
11 Trng8_WorkflowAdministration.pdf
11 Trng8_WorkflowAdministration.pdf11 Trng8_WorkflowAdministration.pdf
11 Trng8_WorkflowAdministration.pdfRatheshPriyanK1
 

Similar to Chapter 4 "Process Orchestrations" (20)

Lecture 5 inter process communication
Lecture 5 inter process communicationLecture 5 inter process communication
Lecture 5 inter process communication
 
BPM 2014 - The Automated Discovery of Hybrid Processes
BPM 2014 - The Automated Discovery of Hybrid ProcessesBPM 2014 - The Automated Discovery of Hybrid Processes
BPM 2014 - The Automated Discovery of Hybrid Processes
 
Processscheduling 161001112521
Processscheduling 161001112521Processscheduling 161001112521
Processscheduling 161001112521
 
Processscheduling 161001112521
Processscheduling 161001112521Processscheduling 161001112521
Processscheduling 161001112521
 
Spring 1 day program
Spring 1 day programSpring 1 day program
Spring 1 day program
 
Processscheduling 161001112521
Processscheduling 161001112521Processscheduling 161001112521
Processscheduling 161001112521
 
shashank_micro92_00697015
shashank_micro92_00697015shashank_micro92_00697015
shashank_micro92_00697015
 
BPMN
BPMNBPMN
BPMN
 
Variables Arguments and control flow_UiPath.ppt
Variables Arguments and control flow_UiPath.pptVariables Arguments and control flow_UiPath.ppt
Variables Arguments and control flow_UiPath.ppt
 
Process synchronizationfinal
Process synchronizationfinalProcess synchronizationfinal
Process synchronizationfinal
 
Lecture 5- Process Synchronization (1).pptx
Lecture 5- Process Synchronization (1).pptxLecture 5- Process Synchronization (1).pptx
Lecture 5- Process Synchronization (1).pptx
 
Working With Concurrency In Java 8
Working With Concurrency In Java 8Working With Concurrency In Java 8
Working With Concurrency In Java 8
 
Introduction to Business Processes 3.7
Introduction to Business Processes 3.7Introduction to Business Processes 3.7
Introduction to Business Processes 3.7
 
Presentasi testing throughout the software life cycle 2
Presentasi testing throughout the software life cycle 2Presentasi testing throughout the software life cycle 2
Presentasi testing throughout the software life cycle 2
 
Concurrency: Mutual Exclusion and Synchronization
Concurrency: Mutual Exclusion and SynchronizationConcurrency: Mutual Exclusion and Synchronization
Concurrency: Mutual Exclusion and Synchronization
 
OPM Overview
OPM Overview OPM Overview
OPM Overview
 
Es_module2ppt.pptx
Es_module2ppt.pptxEs_module2ppt.pptx
Es_module2ppt.pptx
 
11 Trng8_WorkflowAdministration.pdf
11 Trng8_WorkflowAdministration.pdf11 Trng8_WorkflowAdministration.pdf
11 Trng8_WorkflowAdministration.pdf
 
The process of performance testing
The process of performance testingThe process of performance testing
The process of performance testing
 
19
1919
19
 

More from Rao Majid Shamshad (20)

Chap05 data resource mgt
Chap05 data resource mgtChap05 data resource mgt
Chap05 data resource mgt
 
Nike final project
Nike final project Nike final project
Nike final project
 
Dom s entrepreneurship chapter 7
Dom s entrepreneurship chapter 7Dom s entrepreneurship chapter 7
Dom s entrepreneurship chapter 7
 
Do ms entrepreneurship chapter 5
Do ms entrepreneurship chapter 5Do ms entrepreneurship chapter 5
Do ms entrepreneurship chapter 5
 
Entrepreneurship hisrich chapter 5
Entrepreneurship hisrich chapter 5Entrepreneurship hisrich chapter 5
Entrepreneurship hisrich chapter 5
 
Entrepreneurship hisrich chapter 2
Entrepreneurship hisrich chapter 2Entrepreneurship hisrich chapter 2
Entrepreneurship hisrich chapter 2
 
MIS Notes for BBA 8th Evening
MIS Notes for BBA 8th EveningMIS Notes for BBA 8th Evening
MIS Notes for BBA 8th Evening
 
As market failure
As market failureAs market failure
As market failure
 
Chapter 8
Chapter 8Chapter 8
Chapter 8
 
Chapter 7
Chapter 7Chapter 7
Chapter 7
 
Chapter 6
Chapter 6Chapter 6
Chapter 6
 
Unemployment
UnemploymentUnemployment
Unemployment
 
StManagementArticle
StManagementArticleStManagementArticle
StManagementArticle
 
St. mgt. chapter 5
St. mgt. chapter 5St. mgt. chapter 5
St. mgt. chapter 5
 
St. mgt. chapter 4
St. mgt. chapter 4St. mgt. chapter 4
St. mgt. chapter 4
 
St. mgt. chapter 2
St. mgt. chapter 2St. mgt. chapter 2
St. mgt. chapter 2
 
St. mgt. chapter 1
St. mgt. chapter 1St. mgt. chapter 1
St. mgt. chapter 1
 
Specialization consent form for BBA/MBA
Specialization consent form for BBA/MBASpecialization consent form for BBA/MBA
Specialization consent form for BBA/MBA
 
Psychology
PsychologyPsychology
Psychology
 
Psychology
PsychologyPsychology
Psychology
 

Recently uploaded

Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfUmakantAnnand
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991RKavithamani
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 

Recently uploaded (20)

Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.Compdf
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 

Chapter 4 "Process Orchestrations"

  • 1. 3/26/2013 CHAPTER OUTLINE • Section 4.1 introduces control flow patterns, a Business Process Methodology yardstick in process control flow structures. The patterns will be described both textually and more Chapter 4- Process Orchestrations formally using the event-based approach introduced in the previous chapter. • Section 4.2 provides a compact introduction to Petri nets. Different Petri net classes are introduced, Prepared by: including condition event nets, predicate transition Rao Majid Shamshad nets and, colored Petri nets. University of Education, Lahore • An informal perspective on business process modelling email: majidrao111@yahoo.com http://www.bpm-ue.blogspot.com is taken in Section 4.3, where event-driven process chains are discussed. This approach is widely used in the business domain to model business processes from a pragmatic, application-oriented point of view. 4.1 CONTROL FLOW PATTERNS • Basic control flow patterns include: • Control flow patterns provide a yardstick for – sequence, expressing process orchestrations. Control – and split, flow patterns are independent of concrete – and join, process languages, so that each pattern can – exclusive or split be expressed in different process languages. – exclusive or join. Control flow patterns can also be used to • These control flow patterns are supported by compare the expressiveness of process virtually any process meta-model. Control flow languages. patterns are defined at the process model level. Their execution semantics, however, applies to process instances. 4 1
  • 2. 3/26/2013 • Activity models are denoted by capital letters, SEQUENCE A,B,C, . . ., • The sequence pattern defines that an activity • while the associated activity instances are instance b in a process instance p is enabled denoted by small letters, i.e. a, b, c, . . .. after the completion of activity instance a in p, • Gateways are typically denoted by G, and g is with process model an instance of a gateway • P = (N,E, type) containing activity models A, B, • Let P be a process model and p a process and a gateway model G such that A,B Є NA, instance based on this model with an event G Є NG, E Ͻ {(A,G), (G,B)}, and set Ɛᵨ. type(G)=Sequence 5 6 • The application of the sequence pattern in A→B induces an event ordering between the termination event of a (and the activity instance of activity model A) and b, such that b can only be enabled after a has terminated. This approach relates the control flow patterns directly to the state transitions of activity instances. • In particular, the state transition from init to enabled of an activity instance b can only be done after the state transition from running of a to terminated of a has occurred. 7 8 2
  • 3. 3/26/2013 And Split • An and split or parallel split is a point in a process model where a single thread of control splits into multiple threads of control which are executed concurrently. • An and split determines that for each termination of an activity instance a there are enable events of activity instances b and c, and these events occur after the termination event of a. 9 10 And Join • An and join is a point in a process model where multiple concurrent threads converge into one single thread of control. It is an assumption of this pattern that each incoming branch is executed exactly once. • For each enable event of an activity instance d, there are termination events of activity instances b and c, such that the termination events occur before the enable event. 11 12 3
  • 4. 3/26/2013 Xor Split • An Xor split or exclusive or split is a point in a process model where one of several branches is chosen. • The execution semantics of an exclusive or split determines that for each termination of an activity instance a associated with activity model A there is either an enable event of activity instance b or an enable event of an activity instance c, but not both: 13 14 Xor Join • An xor join or exclusive or join is a point in a process model where two or more alternative threads come together without synchronization. It is an assumption of this pattern that exactly one of the alternative branches is executed. • For each termination event of an activity instance b or c there is one and only one enable event of an activity instance d. • While it is an assumption of this pattern that the branches are alternative and none of them are ever executed in parallel, the branches can be part of a loop. But even in this case, for each iteration of a loop, the branches are alternative and have exclusive or semantics. 15 16 4
  • 5. 3/26/2013 Or Split • An or split is a point in a process model where a number of branches are chosen. Selection of any nonempty subset of branches is a proper behavior of an or split. • An or split restricts the events of related activity instances as follows: for each termination event of a there is a subset of enable events of b and c. In general, for each termination event of a there can be enable events for any subset of activity instances on the outgoing branches of the split. 17 18 Or Join • An or join is a point in a process model where multiple threads of control converge into one single thread. It is an assumption of this pattern that a branch that has already been activated cannot be activated again while the merge is still waiting for other branches to complete. • The or join is a problematic control flow pattern. The problem is that the join cannot locally decide how long to wait for its activation. 19 20 5
  • 6. 3/26/2013 • Even from the simple process model fragment shown in Figure 4.9, this problem can be explained: once one incoming branch is triggered, for instance, by termination of b, how should the or join react? There are two options: – Wait: The or join waits before the activity instance d is triggered, because the other incoming path—which completes in activity instance c—can still be executed. – Trigger : The or join triggers d immediately after the termination of b. • The problem is that we cannot decide which of these alternatives the correct one is. After the first incoming branch has terminated, how long should the or join wait for the other branch to complete? If no additional knowledge is available, there is no way of deciding whether c will eventually terminate for the particular process instance. Since there is 21 22 Multiple Merge • A multiple merge or multi-merge is a point in a process model where two or more concurrent threads join without synchronization. The activity following the merge is started for every activation of every incoming branch. • The multi-merge is functionally equivalent with the exclusive or join; the only difference is that the latter assumes that only one of its incoming branches gets activated. This assumption is not in place for the multi-merge pattern. 23 24 6
  • 7. 3/26/2013 • The multiple merge pattern spawns off new threads of control. These threads need to be identified so that future joins can be realized properly. These aspects are illustrated in an example shown in Figure 4.11, where a process model with an and split followed by a multi- merge is shown. As a result, any of the threads induced by the and split will survive the multiple merge and spawn a new instance for activity model D and of the activity models following D in the process model. • Each of the threads of control spawned off by the multi-merge is subject to the and split/and join shown in the process model. The and join requires information on the identity of the threads that come in; otherwise, situations could arise in which activity instances that belong to different threads of control are synchronized. These issues can be illustrated by the event diagram 25 26 Discriminator • The discriminator is a point in a process model that waits for one of the incoming branches to complete before activating the subsequent activity. From that moment on it waits for all remaining branches to complete and “ignores” them. Once all incoming branches have been triggered, it resets itself so that it can be triggered again. This allows a discriminator to be used in the context of a loop. 27 28 7
  • 8. 3/26/2013 These activity instances are b2 and c2. What is remarkable in this example is that there are two instances of activity model C active concurrently, assuming c1 has not yet terminated. Even if c2 terminates before c1, the semantics of the discriminator makes sure that it can only fire and enable d2 after the first iteration has completed, i.e., only after the remaining activity instance c1 has terminated. If • An example involving the discriminator pattern is this I the case, the discriminator can fire a second time, to shown in Figure 4.14. The process starts with enable d2. The event diagram of this process instance is activity instance a before an and split occurs that shown in Figur 4.15. spawns activity instances b1 and c1. Assuming b1 terminates first, the discriminator fires and enables d1. When d1 terminates, assuming a new iteration of the loop is required, new activity instances based on B and C are created. 29 30 Arbitrary Cycles A more complex example of a cycle involving the multi- merge pattern I shown in Figure 4.18. The problem in • An arbitrary cycle is a point in a process model where one or more activities can be executed this example is that the cycle enter one of two repeatedly. concurrent branches of an and split whose branches • An arbitrary cycle is graphically depicted in Figure are joined b a multi-merge 4.17. In this example, a sequence consisting of activity models A, B, and C is iterated. The iteration is represented by an exclusive or split that decides whether to iterate the cycle or whether to leave it and continue with activity instance d, associated with activity model D. In case the loop is iterated, the exclusive or join triggers another instance associated with activity model A. 31 32 8
  • 9. 3/26/2013 Deferred Choice • Deferred choice is a state-based pattern. State-based patterns capture the implicit behaviour of processes that is based not on the current case but rather on the environment or other parts of the process. Some of the following patterns require the existence of an external process that represents the environment. This process is used as a source for external events. 33 34 • A deferred choice is a point in a process model where one of several branches is chosen. In contrast to the exclusive or split, the choice is not made explicitly—for example, based on data values or a user decision—but several alternatives are offered to the environment. • The environment activates one of the alternatives, and the other branches are then withdrawn. Because the choice is delayed until one of the alternative branches has actually been started, the moment of choice is deferred to a point in time that is as late as possible 35 36 9
  • 10. 3/26/2013 4.7 BUSINESS PROCESS MODELING NOTATION 37 38 39 40 10
  • 11. 3/26/2013 41 42 43 44 11