Presentation is loading. Please wait.

Presentation is loading. Please wait.

Petri nets refresher Prof.dr.ir. Wil van der Aalst

Similar presentations


Presentation on theme: "Petri nets refresher Prof.dr.ir. Wil van der Aalst"— Presentation transcript:

1 Petri nets refresher Prof.dr.ir. Wil van der Aalst
Eindhoven University of Technology, Faculty of Technology Management, Department of Information and Technology, P.O.Box 513, NL-5600 MB, Eindhoven, The Netherlands.

2 High level Petri nets Extending classical Petri nets with color, time and hierarchy (informal introduction)

3 Extension with hierarchy
Timed and colored Petri nets result in more compact models. However, for complex systems/processes the model does not fit on a single page. Moreover, putting things at the same level does not reflect the structure of the process/system. Many hierarchy concepts are possible. In this course we restrict ourselves to transition refinement.

4 Instead of

5 We can use hierarchy

6 Reuse Reuse saves design efforts.
Hierarchy can have any number of levels Transition refinement can be used for top-down and bottom-up design

7 Exercise: model three (parallel) punch card desks in a hierarchical manner

8 Modeling workflows: Mapping workflows onto Petri nets.
Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology P.O. Box 513 5600 MB Eindhoven The Netherlands

9 Workflow management concepts
A workflow definition is composed out of three parts: process definition: a description of the process itself resource classification: a classification of the resources to be used resource management rules: how to map work onto resources

10 Process definition A process definition specifies which steps are required and in what order they should be executed. (routing definition, procedure, workflow script) (purchase order, tax declarations, insurance claims process) A process definition consists of: Tasks (step, activity, process element) A task is atomic: commit or rollback. Conditions (state, phase, requirement) A condition is used to determine the enabling of a task. Subprocesses

11 Case A case is the 'thing' which needs to be processed by following the process definition. (process instance, job, project) (insurance claim, purchase order, complaint, loan application) The state of a case is determined by: case variables (case parameters) The logistic attributes of a case which are used to route the case. conditions The requirements which are satisfied. (Application data) Beyond the scope of the WFMS.

12 Mapping a process definition onto Petri nets
condition task case subprocess case variables

13 Routing of cases Sequential "first A then B"
Parallel "A en B at the same time or in any order" AND-split AND-join Choice "A or B" OR-split OR-join Iteration "multiple A's"

14 Sequential routing A B "First A then B"

15 Parallel routing AND-split AND-join
B "A and B at the same time or in any order"

16 Choice (1) OR-split OR-join A B "A or B" Overkill ?!

17 Choice (2) OR-join OR-split
A B Implicit choice: it depends on the "eagerness" of A and B!

18 Choice (3) We use high-level Petri nets: OR-split OR-join
tokens have values: case variables transitions determine the number of tokens produced: explicit OR-split OR-split OR-join A B Choice is explicit and may be based on logistic attributes!

19 Syntactic sugaring AND-split AND-join Explicit OR-split OR-join

20 Iteration B C A B may be executed several times.

21 Exercise A travel agency organizes trips. To organize a trip the following tasks are executed. First the customer request is registered, then an employee searches for opportunities which are communicated to the customer. Then the customer is contacted to find out whether (s)he is still interested and whether more alternatives are desired. If the customer selects a trip, then the trip is booked. In parallel (if desired) one or two types of insurance are prepared. Two weeks before the start date the documents are sent to the customer. It is possible that the customer cancels the trip at any time before the start date.

22 Triggers The workflow system cannot force things to happen in reality:
The arrival of an electronic message (EDI) which is needed to execute a task. A resource which starts to work on a case. The arrival of a paper document. A phone call to confirm a purchase order. A workflow system is a reactive system, i.e. it is triggered by the environment. Some tasks require a trigger.

23 We identify four kinds of tasks:
Automatic No trigger is required. User A resource takes the initiative. External A external event (message, phone call) is required. Time The task requires a time trigger.

24 The triggering concept can be modeled in terms of PN
trigger token A A However, we will omit the extra place.

25 task A logical step which may be executed for many cases.
There is a subtle but important distinction between the following terms: task A logical step which may be executed for many cases. work item = task + case A logical step which may be executed for a specific case. activity = task + case + (resource) + (trigger) The actual execution of a task for a specific case. Work items and activities are task instances.

26 A process definition A (sub)process has one input and one output place.


Download ppt "Petri nets refresher Prof.dr.ir. Wil van der Aalst"

Similar presentations


Ads by Google