BIS 3106: Business Process Management Lecture Two: Modelling the Control-flow Perspective Makerere University School of Computing and Informatics Technology Department of Computer Science SEM I 2015/2016 (Makerere University) BIS 3106 1 / 41
Outline 1 Business Processes 2 Foundations of Process Modelling Using Petri nets 3 Workflow Nets Sequence Pattern Parallelism Conditional Routing Iterative Routing (Makerere University) BIS 3106 2 / 41
Business Processes Business Process: A business process consists of a set of activities that are performed in coordination in an organizational and technical environment. These activities jointly realize a business goal. - A business goal is the target that an organization aims to achieve by performing correctly the related business process. Currently, business processes are the core of most information systems - production line of a car manufacturer, procedures for buying tickets on-line This requires that organizations specify their flow of work for the orchestration of participants, information and technology for the realization of products and services. In order to manage Business Processes, they have to be described and documented in terms of process models. (Makerere University) BIS 3106 3 / 41
Model Definition A model is a representation of some phenomenon of the real world made in order to facilitate an understanding of its workings. A model is a simplified and generalized version. - What phenomenon matters? - How to represent this? - How to facilitate understanding? (Makerere University) BIS 3106 4 / 41
BPM life cycle (Makerere University) BIS 3106 5 / 41
Purposes of Process Modeling Organizational Analysis Measures for Improvement AS IS Process Models Process TO BE Analysis & Design Process Models Communication, simulation, activitybased costing Process Evaluation Process Metrics Target Values Process Enactment & Monitoring Process Implementation Executable Process Models Detailed Models including Data types, conditions, data mappings, fault handling Integration, testing, deployment (Makerere University) BIS 3106 6 / 41
Workflow Definition A workflow definition is composed out of three parts: - Process definition: description of the process itself. - Resource classification: classification of the resources to be used. - Resource management rules: how to map work onto resources. (Makerere University) BIS 3106 7 / 41
Process definition (1) A process definition specifies - which steps are required and - in what order they should be executed. Also known as: routing definition, procedure. Examples: purchase order, tax declarations, insurance claims process (Makerere University) BIS 3106 8 / 41
Process definition (2) A process definition consists of 3 elements: - Tasks (step, process element) A logical unit of work, e.g., typing a letter, stamping a document, checking personal data - Conditions (state, phase, requirement) A condition is used to determine the enabling of a task. - Sub-process Use of previously defined processes (Makerere University) BIS 3106 9 / 41
Modelling with Petri nets Introduced by Carl Adam Petri in his PhD thesis (1962). Original intention: mathematical description of chemical processes. Extensively applied to model concurrent systems (e.g., distributed systems) and analyse their properties. Petri nets have a simple graphical format and a precise operational semantics that makes them an attractive option for modeling the static and dynamic aspects of processes. Several extensions of basic Petri nets, with increasing level of complexity. - Time, resources, data (colored Petri nets), hierarchies (process decomposition) In the BPM context: Workflow nets. (Makerere University) BIS 3106 10 / 41
Basics of Petri nets A Petri Net takes the form of a directed bipartite graph where the nodes are either places or transitions. Places represent intermediate states that may exist during the operation of a process. - Places are represented by circles. - Places can be input/output of transitions. Transitions correspond to the activities or events of which the process is made up. - Transitions are represented by rectangles or thick bars. Arcs connect places and transitions in a way that places can only be connected to transitions and vice-versa. (Makerere University) BIS 3106 11 / 41
Basics of Petri nets Places are represented by circles. Transitions are represented by rectangles or thick bars. Arcs connect places and transitions in a way that places can only be connected to transitions and vice-versa. place transition arc (Makerere University) BIS 3106 12 / 41
Mapping Workflow Nets onto Petrinets Wil van der Aalst proposed the use of Petri nets for workflow modelling. He proposed a particular subclass of Petri nets, called Workflow nets (WF-nets) for this purpose. In a workflow net: - transitions represent the tasks that comprise a business process. - places represent the conditions preceding and following the tasks. (Makerere University) BIS 3106 13 / 41
Workflow Nets: Motivation Workflows are case-based, i.e., every piece of work is executed for a specific case. Case: the subject of operation in a business process execution. E.g. mortgage application, hospital admission, insurance claim, tax declaration, order, request for information. A workflow process is designed to handle similar cases. Cases are handled by executing tasks in a specific order. (Makerere University) BIS 3106 14 / 41
Workflow Nets: Cases A case has a limited lifetime. Example: For an insurance claim, a case begins when the claim is submitted and disappears from the workflow system when the claim processing is completed. Between the appearance and disappearance of a case, it always has a particular state. (Makerere University) BIS 3106 15 / 41
Workflow Nets: Notation A workflow net has a single start place and a single end place. - This means that workflow nets closely correspond to real-life processes that tend to have a specific starting point and a specific end point. Every transition in the workflow net is on a path from the start to the end place. - This ensures that each transition in a workflow net contributes to the progression of an executing instance towards its end state. (Makerere University) BIS 3106 16 / 41
Routing of Cases Describes the lifecycle of a case, i.e., which tasks need to be performed and in which order Four basic routing constructs. - Sequential - Parallel - Choice - Iteration (Makerere University) BIS 3106 17 / 41
Routing of Cases Sequential - execute first A then B Parallel - A and B are executed at the same time or in any order - AND-split and AND-join Choice A or B - XOR-split and XOR-join Iteration - multiple A s (Makerere University) BIS 3106 18 / 41
Workflow Nets Constructs Automatic tasks execute as soon as they are enabled. User tasks are passed to human resources for execution once enabled. In WF-net there are some notational enhancements (often termed syntactic sugar ) for split and join constructs that simplify the specification of a workflow net. External tasks only proceed once they are enabled and a required message or signal is received from the operating environment. Time tasks only proceed once they are enabled and a specified (time-based) deadline occurs. The basics of Petri nets can be used to understand the semantics of some elementary modeling concepts in WF-nets. (Makerere University) BIS 3106 19 / 41
Workflow Nets: Sequence Pattern A B First A then B (Makerere University) BIS 3106 20 / 41
Parallelism: AND-split According to the WfMC, an AND-split is a point within the workflow where a single thread of control splits into two or more threads which are executed in parallel within the workflow, allowing multiple activities to be executed simultaneously. A B C The execution of A enables both task B and task C. As a result, task B and task C are executed in parallel (in an arbitrary order). (Makerere University) BIS 3106 21 / 41
Parallelism: AND-split In WF-nets, a special construct for AND-split is introduced. A AND-split B C (Makerere University) BIS 3106 22 / 41
Parallelism: AND-join According to the WfMC, an AND-join is a point in the workflow where two or more parallel executing activities converge into a single common thread of control. Task D is enabled after execution both B and C, i.e., D is used to synchronize two subflows. B C D (Makerere University) BIS 3106 23 / 41
Parallelism: AND-join In WF-nets, a special construct for AND-JOIN is introduced. B D C AND-join (Makerere University) BIS 3106 24 / 41
Conditional Routing: XOR-split According to the WfMC, a XOR-split is a point within the workflow where a single thread of control makes a decision upon which branch to take when encountered with multiple alternative workflow branches. B A Note that the exclusive nature of the choice, i.e. only one of the outgoing branches can be chosen (i.e., either task B or C can be executed). (Makerere University) BIS 3106 25 / 41 C
Conditional Routing: XOR-split In WF-nets, a special construct for XOR-spit is introduced. A XOR-split B C (Makerere University) BIS 3106 26 / 41
Conditional Routing: XOR-join According to the WfMC, a XOR-join is a point within the workflow where two or more alternative activity(s) workflow branches re-converge to a single common activity as the next step within the workflow. B C Note that the exclusive nature of the choice, i.e. only one of the outgoing branches can be chosen (i.e., either task B or C can be executed). (Makerere University) BIS 3106 27 / 41 D
Conditional Routing: XOR-join In WF-nets, a special construct for XOR-JOIN is introduced. B C D XOR-join (Makerere University) BIS 3106 28 / 41
Iterative Routing Repeated execution of a particular task. Ideally a task will be performed only once per case. In certain situations, however, it is necessary to apply iterative routing. For example, when a certain task needs to be repeated until the results of a subsequent test prove positive. (Makerere University) BIS 3106 29 / 41
Example of Iterative Routing (Makerere University) BIS 3106 30 / 41
Modelling Petri net: Complaint Handling Example Consider the complaint handling process below - An incoming complaint is recorded. - After the complaint has been recorded, the client and the department affected are contacted (can be done in parallel). - Afterwards, data from the client and department is gathered and a decision is taken. - Either a compensation payment is made, or a letter is sent to the client. - Finally, the complaint is filed. Model this process in terms of Petri nets. (Makerere University) BIS 3106 31 / 41
Modelling Petri nets: Complaint Handling Example (Makerere University) BIS 3106 32 / 41
Modelling Petri net: Complaint Handling Example Consider the complaint handling process below - An incoming complaint is recorded. - After the complaint has been recorded, the client and the department affected are contacted (can be done in parallel). - Afterwards, data from the client and department is gathered and a decision is taken. - Either a compensation payment is made, or a letter is sent to the client. - Finally, the complaint is filed. Model this process in terms of WF-nets. (Makerere University) BIS 3106 33 / 41
Modelling Petri net: Order Fulfillment Example Consider the order fulfillment process below - A company takes orders from its clients. After which two tasks are done in parallel. The company checks the account of the client and also packs the order. When these tasks are completed, a credit check task is executed. If the client has paid for the order, the goods are dispatched to the client. However, if the client has not paid for the order, then the order is declined and the items are returned to the warehouse. Model this process in terms of Petri nets. (Makerere University) BIS 3106 34 / 41
Modelling Petri nets: Order Fulfillment Example First, a take order task is executed. When pack order and check account tasks have been both completed, the credit check task is executed. If the customer has not sufficient credit the decline order runs and, finally, the return stock task ensures that the items from the order are returned to the warehouse. Then, pack order and check account tasks are executed in parallel. If the customer has sufficient credit remaining, the order is despatched. (Makerere University) BIS 3106 35 / 41
Modelling Petri net: Order Fulfillment Example Consider the order fulfillment process below - A company takes orders from its clients. After which two tasks are done in parallel. The company checks the account of the client and also packs the order. When these tasks are completed, a credit check task is executed. If the client has paid for the order, the goods are dispatched to the client. However, if the client has not paid for the order, then the order is declined and the items are returned to the warehouse Model this process in terms of WF-nets. (Makerere University) BIS 3106 36 / 41
Workflow net Example - order fulfillment process The take order task is externally triggered when an order request is received. The decline order task runs automatically with the customer receiving a notification either by email or fax. Most tasks are undertaken by human resources (i.e., staff). (Makerere University) BIS 3106 37 / 41
Role of Data Data can be at different levels, e.g., the scope can be at the process level, case level, task level, etc. We assume data to be at the case level. A B C (Makerere University) BIS 3106 38 / 41
How to Choose? age>18 B A age 18 C (Makerere University) BIS 3106 39 / 41
Conclusion We have presented the precise definitions of workflow processes. It is possible to model workflow processes with high level Petri nets. 5 constructs: AND-join, AND-split, XOR-join, XOR-split, iteration It is important not just understand the definitions, but also try to apply Petri net to model real problems! (Makerere University) BIS 3106 40 / 41
Workflow Modeling Exercise Model these processes in terms of WF-Nets 1 Travel Agency Process 2 ICEA insurance Company 3 Expense Reimbursement Process (Makerere University) BIS 3106 41 / 41