國
立
交
通
大
學
資訊科學與工程研究所
博
士
論
文
運用一具 Hierarchy 特性的 Timed CPNets 技
術來分析 BPMN 工作流程
Applying Timed CPNets with Hierarchy to Analyze a
Workflow in BPMN
研 究 生:王靜慧
指導教授:王豐堅 教授
中 華 民 國 九 十 八 年 七 月
運用一具 Hierarchy 特性的 Timed CPNets 技術來分析
BPMN 工作流程
Applying Timed CPNets with Hierarchy to Analyze a
Workflow in BPMN
研 究 生:王靜慧 Student:Ching-Huey Wang
指導教授:王豐堅 Advisor:Feng-Jian Wang
國 立 交 通 大 學
資 訊 科 學 與 工 程 研 究 所
博 士 論 文
A ThesisSubmitted to Institute of Computer Science and Engineering College of Computer Science
National Chiao Tung University in partial Fulfillment of the Requirements
for the Degree of Doctor
in Computer Science
July 2009
Hsinchu, Taiwan, Republic of China
運用一具 Hierarchy 特性的 Time CPNets 技術來分析
BPMN 工作流程
學生:王靜慧 指導教授:王豐堅 博士
國立交通大學資訊工程與科學研究所 博士班
摘 要
相對於 BPMN 而言,現存的商業流程之研究或商業軟體大多只提供或使用 其中的部分。BPMN 主要的組成元素包括:控制流程、訊息流程、資料流程以及 角色分配。它也提供多實體 activity、事件觸發 activity 及進階控制機制。雖然這 些元素讓 BPMN 具更大的流程表達能力,但也增加了設計階段其所表達之流程 的分析困難度。本論文提出一個正規流程模型來協助根據 BPMN 四種組成元素 所描述的商業流程。同時,也提供一具階層特質之時間顏色派翠網模型。並建立 一套流程與此網的轉換規則,以便將上述 BPMN 商業流程轉換成相對之時間顏 色派翠網,來運用既有之分析方法做靜態分析—如 deadlock 檢查。在本論文中, 我們更進一步探討 well-formed 和 unstructured 相當普遍的流程之分析。此外,我 們將以一個實際的例子做示範,利用時間顏色派翠網 deadlock 分析方法,再根 據其結果推斷可能會影響流程執行的異常 artifact 之使用。最後,我們也將比較 刻下技術與我們之研究成果。 關鍵字: 商業流程模型符號,工作流程,商業流程,分析,控制流程,資料流程, 訊息流程、顏色派翠網、時間顏色派翠網、階層式派翠網Applying Timed CPNets with Hierarchy to Analyze a
Workflow in BPMN
Student:Ching-Huey Wang Advisor:Dr. Feng-Jian Wang
Institute of Computer Science and Engineering
National Chiao Tung University
Abstract
Although many business process models have been proposed, most of them do not apply all the following arguments: control, message and data flows and role
assignments, defined completely in BPMN. Besides, they do not provide the
multi-instance activity, event-triggered activity or the control node with complex mechanisms as in BPMN. On the other hand, these features allow a process to be defined with richer semantics but increase the difficulty of correcting an error or inaccurate process in workflow design.
This thesis proposes a formal process model to help describing a BPMN-based process. To simplify the analysis, we also provided Hierarchical Timed Coloured Petri Nets (H PNets), which is extended from Time Coloured Petri Nets with CT
hierarchy and allows some analysis with existing techniques. Once a workflow based on our BPMN model is specified, a series of mapping rules can be used to transform the workflow into a H PNets for analysis. An example is applied to demonstrate the TC
transformation and the corresponding deadlock detection. Furthermore, the artifact usage anomaly detection mechanisms within either a well-formed or unstructured
process are discussed. Finally, a comparison among related works and ours and the future works are presented.
Keyword: BPMN, workflow, business process, analysis, control flow, data flow, message flow, CPNets, Time CPNets and hierarchical PNets.
誌 謝
本篇論文的完成,首先要萬分感謝指導教授王豐堅博士,王教授在我求學期 間持續不斷的指導與鼓勵,讓我不僅在論文研究方面學習到相當寶貴的經驗,在 做人處事方面也獲益良多。如今學生若有些微的成就,王教授的指導實在功不可 沒。 其次要感謝吳毅成教授,陳耀宗教授,朱治平教授,黃冠寰教授,焦惠津教 授,梅興教授,與楊鎮華教授,在百忙之中首肯擔任我博士論文的口試委員,並 且提供了許多寶貴的意見,補足我論文裡不足的部分。其中吳、陳兩位教授亦是 我的論文計畫書口試委員,在論文報告的方式上也給了我相當多的指導。此外, 對於一起研究討論與互相鼓勵的實驗室學長與學弟們,包括楊基載、黃國展、王 建偉、許嘉麟、許懷中、黃培書等等,在此一併加以感謝。 最後,我要與我的家人、同學、朋友共同分享完成論文的喜悅,由於有您們 的支持與關懷,陪伴我走過這漫長的求學過程。僅將此論文獻給我最敬愛的父母 親與支持我的親友們。Table of Contents
摘 要 ... I ABSTRACT ... II 誌 謝 ... IV TABLE OF CONTENTS ... V LIST OF FIGURES AND TABLES ... VII CHAPTER 1. INTRODUCTION ... 1 CHAPTER 2. PETRI NETS – PNETS ... 32.1. DEFINITION OF CLASSICAL PETRI NETS ... 3
2.1.1. Advantages of PNets Adoption ... 6
2.1.2. Business Process Modeling Notation – BPMN ... 7
2.1.3. Problems of Modeling Processes with PNets ... 8
CHAPTER 3. BUSINESS PROCESS MODELING ... 30
3.1. PRIVATE PROCESS SPECIFICATION ... 32
3.2. CONTROL FLOW SPECIFICATION ... 33
3.3.1. Artifacts and Artifact Operations ... 62
3.3.2. Artifact Usages ... 63
3.3.3. Definition of Data Flow ... 64
3.3.4. A Data Flow Example: a Process of Resolving Issues through E-mail Votes ... 67
3.3.5. Instance of Data Flow ... 70
CHAPTER 4. THE FORMULATIONS OF WELL‐FORMED AND UNSTRUCTURED CONTROL FLOWS ... 72
4.1. WELL‐FORMED CONTROL FLOW ... 72
4.2. UNSTRUCTURED CONTROL FLOW ... 74
CHAPTER 5. THE METHODS FOR TRANSFORMING BPMN PROCESS INTO HTCPNET ... 76
5.1. STATE TRANSITIONS OF PROCESS INSTANCE WITH PNET ... 76
5.2. TRANSFORMATION METHOD FOR CONTROL FLOWS – MethodCF ... 77
5.2.1. Rules for Transforming Basic Elements ... 78
5.2.2. Transformation Rules for Advanced Elements ... 84
5.3. TRANSFORMATION METHOD FOR MESSAGE FLOWS – MethodMF ... 93
5.5. PROCESS TRANSFORMATION ... 105
CHAPTER 6. A CASE STUDY ... 109
CHAPTER 7. COMPARISONS ... 112
7.1. COMPARISON OF BPMN‐BASED PROCESS MODELS ... 112
7.2. ADVANTAGES OF HCTPNETS ... 114
CHAPTER 8. CONCLUSION AND FUTURE WORKS ... 116
REFERENCE ... 117
List of Figures and Tables
FIGURE 2.1 AN EXAMPLE OF A PNET. ... 4
FIGURE 2.2 AN EXAMPLE OF CPNET. ... 13
FIGURE 2.3 THE RESULT NET OF FIRING STEP Y1. ... 18
FIGURE 2.4 INTRODUCING TIME CONSTRAINTS INTO THE CPNET SHOWN IN FIGURE 2.1. ... 21
FIGURE 2.5 THE RESULT NET OF FIRING STEP Y1. ... 24
FIGURE 2.6 AN EXAMPLE OF HCTPNET. ... 26
FIGURE 3.1 THE CORE MODELING ELEMENTS IN BPMN. ... 31
FIGURE 3.2 E‐MAIL VOTING PROCESS ... 32
FIGURE 3.3 THE NOTATIONS FOR NONE EVENTS. ... 38 FIGURE 3.4 THE NOTATIONS FOR MESSAGE EVENTS. ... 39 FIGURE 3.5 THE NOTATIONS FOR THE TIMING EVENTS. ... 40 FIGURE 3.6 THE CASES OF SUPPLEMENT ARCS. ... 45 FIGURE 3.7 AN ACTIVITY WITH A MESSAGE DISPATCHER. ... 45 FIGURE 3.8 NOTATIONS FOR LOOP ACTIVITIES. ... 50 FIGURE 3.9 SAMPLES OF EXCLUSIVE CONTROL BLOCK. ... 54 FIGURE 3.10 A SAMPLE OF INCLUSIVE CONTROL BLOCK. ... 55 FIGURE 3.11 A SAMPLE OF PARALLEL CONTROL BLOCK. ... 55 FIGURE 3.12 SAMPLES OF LOOP CONTROL BLOCK. ... 57 FIGURE 3.13 THE SAMPLES OF COMPLEX BLOCKS. ... 58 FIGURE 3.14 THE CONTROL FLOW OF THE BUSINESS PROCESS FOR RESOLVING ISSUES. ... 60
FIGURE 3.15 THE EXPANSION OF COLLECT VOTE SUB‐PROCESS. ... 61
FIGURE 3.16 THE STATE TRANSITION DIAGRAM OF AN ARTIFACT. ... 63
FIGURE 3.17 THREE CASES OF INCOMING DATA FLOWS. ... 66
FIGURE 3.18 THE FOUR CASES OF INTERMEDIATE DATA FLOWS. ... 67
FIGURE 3.19 THE CONTROL AND DATA FLOWS OF BPVOTE. ... 68
FIGURE 3.20 THE EXPANSION OF “COLLECT VOTES” SUB‐PROCESS. ... 70
FIGURE 4.1 AN EXAMPLE OF OVERLAPPED STRUCTURE. ... 75
FIGURE 5.1 TWO DIFFERENT PRESENTATIONS OF THE STATE TRANSITIONS OF A PROCESS INSTANCE. ... 77
FIGURE 5.2 THE MAPPING OF THE ELEMENTS ADDRESSED IN [29]. ... 81
FIGURE 5.3 COMBINING THE EXPANSION OF A SUB‐PROCESS AND PARENT NET. ... 81
FIGURE 5.4 THE MAPPING OF THE CONTROL NODES ADDRESSED IN [29]. ... 82
FIGURE 5.5 TWO DIFFERENT HCTPNETS MODULES OF A TASK WITH LOOP STRUCTURE. ... 85
FIGURE 5.6 FOUR DIFFERENT HTCPNETS MODULES OF A TASK WITH MULTI‐INSTANCE LOOP STRUCTURE. ... 87
FIGURE 5.7 THE HCTPNETS MODULE OF INTERMEDIATE EVENT. ... 87
FIGURE 5.8 TWO DIFFERENT PRESENTATIONS OF MESSAGE START EVENT. ... 89
FIGURE 5.9 TWO DIFFERENT PRESENTATIONS OF INTERMEDIATE MESSAGE DISPATCHER. ... 90
FIGURE 5.10 TWO DIFFERENT PRESENTATIONS OF A TASK INVOLVING A TIMING EVENT. ... 90
FIGURE 5.11 TWO DIFFERENT PRESENTATIONS OF A TASK INVOLVING A MESSAGE RECEIVER. ... 91
FIGURE 5.12 TWO DIFFERENT PRESENTATIONS OF A SUB‐PROCESS INVOLVING A MESSAGE RECEIVER. ... 91
FIGURE 5.13 TWO DIFFERENT PRESENTATIONS OF A TASK INVOLVING A MESSAGE DISPATCHER. ... 92 FIGURE 5.14 DIFFERENT PRESENTATIONS OF A COMPLEX CONTROL NODE IMPLEMENTED WITH DIFFERENT MECHANISMS. . 93 FIGURE 5.15 TWO DIFFERENT PRESENTATIONS OF A MESSAGE FLOW BETWEEN TWO TASKS. ... 94 FIGURE 5.16 TWO DIFFERENT PRESENTATIONS OF A MESSAGE FLOW BETWEEN A TASK AND A START EVENT. ... 95 FIGURE 5.17 TWO DIFFERENT PRESENTATIONS OF A MESSAGE FLOW BETWEEN A TASK AND AN INTERMEDIATE EVENT. ... 96 FIGURE 5.18 A MESSAGE FLOW BETWEEN AN INTERMEDIATE EVENT AND A TASK. ... 96 FIGURE 5.19 A MESSAGE FLOW BETWEEN INTERMEDIATE AND START EVENTS. ... 97 FIGURE 5.20 A MESSAGE FLOW BETWEEN TWO INTERMEDIATE EVENTS. ... 97 FIGURE 5.21 TWO DIFFERENT PRESENTATIONS OF A MESSAGE FLOW BETWEEN AN END EVENT AND A TASK. ... 98 FIGURE 5.22 TWO DIFFERENT PRESENTATIONS OF A MESSAGE FLOW BETWEEN AN END EVENT AND A START EVENT. ... 99 FIGURE 5.23 TWO DIFFERENT PRESENTATIONS OF THE STATE TRANSITION OF AN ARTIFACT. ... 101 FIGURE 5.24 A HTCPNETS MODULE OF INCOMING DATA FLOWS. ... 101 FIGURE 5.25 A HTCPNETS MODULE OF INTERMEDIATE DATA FLOWS... 103 FIGURE 5.26 A HTCPNETS MODULE OF INTERMEDIATE DATA FLOWS. ... 105 FIGURE 6.1 TWO PRESENTATIONS OF THE EMAIL VOTING EXAMPLE. ... 111 TABLE 3.1 CONTROL BLOCKS ... 58
TABLE 3.2 ARTIFACTS IN THE E‐MAIL VOTING PROCESS ... 68
TABLE 5.1 THE NOTATIONS AVAILABLE IN PROCESS MODEL [29]. ... 83
TABLE 6.1 THE FIRING SEQUENCE OF PROCESS BPvote ... 110
TABLE 7.1 THE MAPPINGS OF THE ELEMENTS IN MESSAGE FLOW ADDRESSED. ... 112
TABLE 7.2 THE MAPPINGS OF THE ELEMENTS OF CONTROL FLOW ADDRESSED. ... 113
TABLE 7.3 THE MAPPING OF THE ELEMENTS OF DATA FLOW ADDRESSED. ... 114
Chapter 1. Introduction
Workflow can be viewed as a set of interrelated tasks that are systematized to achieve certain business goals by completing the tasks in a particular order under automatic control [1]. The Business Process Modeling Notation (BPMN) [2] is a standard for capturing workflow in the early phases of system development. Existing researches focus on 1) parts of the concepts included in BPMN only, e.g., control flow analysis[3][48] or 2) how to transform from control and message flow in BPMN into BPEL code [4][5][6].
A BPMN-based workflow is described with four entities: 1) role: describing the performers of task instantiated, 2): control flow: defining what, when and how tasks a workflow performs, 3) data flow: specifying what information entities are produced/manipulated/passed in corresponding activities and 4) message flow: representing the interaction between processes through messages. An analysis based on the correlations among these four entities can help check or maintain consistency between execution order and data transition [7][8][9][10], as well as prevents exceptions due to contradiction between data flow, control and message interaction.
There are five additional features introduced in BPMN, but not included in traditional process modeling languages. These features allow defining: 1) an interaction between participants, 2) a multi-instance (loop) activity 3) an event-triggered (supplement) process, 4) a join node designed by one of the three advanced join mechanisms, discriminator, multiple merge and N out of M join, and 5) a data flow described with explicit channel. In addition, time event-triggered behaviors can be described in a BPMN-based workflow, i.e., time constrains are embedded. These features allow defining a process with richer semantics, but increase
the difficulty of identifying the problems such as inaccuracy in a process specification at design time.
Here, we provide an easier way to extract knowledge from the four entities of a workflow. Based on our previous work [11], a method for describing a BPMN-based process is proposed. Then, we propose a model, Hierarchical Timed Coloured Petri Nets (H PNets), extended from Timed Coloured Petri Nets (TCPNets) with hierarchy TC
[13][14] for analysis. There are a series of mapping rules defined to transform a BPMN-based process into H PNets, in which a set of analysis techniques works TC [14].
With our methodology, the artifact usage anomalies in our previous work are refined. An analysis method of control, data, and message flow is derived. An example is used to indicate our contribution of process development and anomaly detections. Finally, a comparison among ours and related works is presented.
The remainder of this paper is organized as follows. Chapter 2 introduces the Petri Nets and its extensions, Coloured Petri Nets (CPNets), and TCPNets. It also compares existing flow specification model and BPMN. Besides, H PNets is TC
proposed for the problems identified. Chapter 3 presents our business process model, including the control flow, data flow and message flow. In Chapter 4, we present a set of rules transforming a process in BPMN into H PNets. In Chapter 5, the TC
well-behaved unstructured processes are identified and formulated. In Chapter 6, we present a case to demonstrate our methodologies including development and analysis. A comparison between our approach and related works on BPMN is given in Chapter 7. Finally, a conclusion and some recommendations of future works are given in Chapter 8.
Chapter 2. Petri Nets – PNets
PNets, Petri Nets, is a formal model with graphical representations. The original PNets was developed by Petri [27], and various extensions have been developed with their own constructs. Some of these extensions are associated with easier modeling mechanism and keep the same expressiveness as classical PNets [28] and some provide more expressional power [22][23]. PNets has been applied to many areas, including workflow applications [29][30][31]. In this chapter, we discuss the problems rising when applying PNets or its extensions, Coloured Petri Nets and Time
Petri Nets, to analyze business processes represented with BPMN. Before the
discussion, definitions of PNets and the two extensions are given. 2.1. Definition of Classical Petri Nets
A PNet, defined in Definition 2.1, is a directed graph with two kinds of nodes, named place and transition. In general, a place is presented with a circle while a transition is presented with a rectangle. There are no arcs connecting two places or two transitions. An example of PNet is shown in Figure 2.1 where there are three places, two transitions and one token.
Definition 2.1 (Classical Petri Nets – PNets) A Petri net is a 4-tuple PNet=
(
P,T ,F ,m0)
where 1. P is a finite set of places,2. T is a finite set of transitions such that P∩ =T φ,
(
)
(
)
φ∩ × = ∩ × =
F P P F T T ,
4. m is the initial marking function, 0 m : P0 → where = , ,...
{
1 2}
.
Figure 2.1 An example of a PNet.
Definition 2.2 (Marking)
1. A marking M of a set of places P is a mapping m : P→ where
{
0 1 2, , ,...}
= .
2. A marking M of a Petri net PNet=
(
P,T ,F ,m0)
is a marking of P . Initialmarking M of PNet is generated by function 0 m . 0
In Definition 2.2, function m is defined from a place to a nonnegative integer
which means the number of tokens on the place. A PNet is also equipped with an
initial marking M , i.e., an initial state of the PNet is associated with one or more 0
token in some place(s). All the states of this net succeed to M , generated by function 0
0
m . Marking M of an example PNet shown in Figure 2.1 can be expressed as an 0
array based on the order
(
p ,p ,p0 1 2)
with nonnegative integers(
1 0 0, ,)
. Definition 2.3 (Input/Output Set)Let PNet=
(
P,T ,F ,m0)
be a Petri net, for an element x P∈ ∪T
1. its input set •x is defined as •x= ∈ ∪
{
y P T | y,x( )
∈F and}
2. its output set x is defined as • x•= ∈ ∪
{
y P T | x,y( )
∈F .}
Definition 2.3 defines the notations about the input and output sets of a node (place or transition) in a PNet. Note that both sets of a place contain transitions only and both sets of a transition contain places only.
Definition 2.4 (Fire a Transition Enabled)
A transition t is able to be fired (named as enabled) if ∀ ∈p •t , m p
( )
≥1. Firing t transforms marking M into marking M' and the transformation can bedefined from place p by function m and m' as
( )
( )
( )
1 1 − ∈ − ⎧ ⎪ =⎨ + ∈ − ⎪ ⎩ • • • • m p if p t t , m' p m p if p t t, m(p) otherwise.When t is enabled in M , t may fire to change marking M to another
marking M' . The new marking M' is obtained by removing one token from each of its input places •t and by putting one token to each of its output places •
t . M' is
also called directly reachable from M with firing of t , denoted as M t M'
[
.A finite occurrence (of firing) sequence is M t1⎣⎡ 1 M t2⎡⎣ 2 M ...M3 n−1
[
tn−1 M nwhere M ti[i Mi+1 , 1≤ ≤ . Marking i n M is called start marking of the occurrence 1
sequence, while M is called the end marking. The non-negative integer n n−1 is called the number of steps in the occurrence sequence.
Definition 2.5 (Reachable)
A marking M is reachable from a marking n M iff there is a finite 1
occurrence sequence whose start/end markings are M /1 M correspondingly n
[
1⎡⎣ 1 2⎡⎣ 2 3 n−1 n−1 n
M t M t M ...M t M
n
M is reachable from M1 in n−1 steps. The set of markings which are reachable from M is denoted by 1
[
M1 .2.1.1. Advantages of PNets Adoption
Many researches [29][30][31][32][33][34][39]proposed workflow modeling and analysis paradigms based on PNets, e.g., control/data flow modeling [31][32][33], workflow pattern composition [35][36][37][46], and automatic control of workflow process [38]. Aalst and ter Hofstede [39] proposed a WorkFlow net (WF-net) based on PNets to model a workflow: Transitions represent activities, places represent conditions, tokens represent cases (process instances), and directed arcs connecting transitions and places. Concluding by Aalst [40], the advantages of adopting PNets to analyze process are : (1) presenting a process with formal expression keeps the verifiability of PNets, (2) utilizing its own state-based modeling power to present process state transitions is straight forward and (3) the abundance of analysis techniques associated with PNets are available. Furthermore, Advantage (1) indicates that a process specification presented mathematically holds the explicitness and generality, i.e., the process can be verified by but not depends on particular tools. Advantage (2) means that with PNets, the state transitions of the elements, task and sub-process, within workflow are expressible. In other words, PNets allows to (a) identify tasks which are enable or executing, (b) present resource competition during
an execution and (c) present a cancellation of process instance by removing tokens. Advantage (3) the available analysis techniques in control flow dimension are focused on correctness issues of control structure in a workflow. The techniques of detecting common control-flow anomalies, including deadlock, livelock (infinite loop), lack of synchronization, and dangling reference [28], are available.
Although, the three advantages reduce the difficulty of modeling and analyzing workflow application, PNets is not good enough to handle a business process presented by BPMN [34]. The expression limitations of PNets are discussed in Chapter 2. Moreover, these problems were seldom addressed in the past and were not concerned in the designs of commercial tools, e.g., Microsoft office visio [25] and BPM Virtual Modeling Tool [26].
2.1.2. Business Process Modeling Notation – BPMN
In this thesis, our process model is designed based on the core elements set specified in BPMN specification v1.2 [2], released in 2009. A business process diagram, composed of the BPMN elements, is referred to as a BPD in the following sections.
The core elements are classified into four categories, flow objects, connecting
objects, artifacts and swimlanes, where
Flow Objects: are the elements used to define the behaviour of a business process. There are three flow objects: events, activities, and gateways. This thesis, extended our previous work [11], presents a process model for describing the processes presented with BPMN. The term “Control node” is adopted in our previous work to present gateways. In order to keep the consistency of terminology, “gateway” is called “control node” in this thesis also.
Connecting Objects: define the ways of connecting flow objects. There are three connecting objects: sequence flow, message flow and association. The execution of a BPMN-based process is controlled not only by sequence flow, the order of activities, but also by message flow, e.g., a message arriving to trigger the execution of the target flow object, as well as by the resources required to enable activities. Upon the same reason mentioned above, the term “sequence flow” is called “control flow” and artifact “association relationship” is denoted with “data flow” here.
Artifacts: depict the information involved in a process. Within a process, what artifact is required/generated before/after an execution of activity are depicted in data flow.
Swimlanes: The specific processes designed for a participating business role (e.g., a buyer, seller, or manufacturer) or entity (e.g., a company) can be grouped with swimlane. The process contained in a swimlane is called private process.
2.1.3. Problems of Modeling Processes with PNets
A workflow management system (WfMS) does not execute tasks but merely coordinates the execution of these tasks by participants or involved software systems. In a process instance, each task needs to be enabled before execution, but an enabled task does not have to execute. The execution of a task is triggered by the participants or the software systems and not by the WfMS. In the other word, a WfMS does not control the environment but reacts to events generated from the environment, e.g., instantiate a process or terminate a scheduled task, by creating certain effects, such as “a process is instantiated” or “a scheduled task is terminated”. A reactive system is usually modeled using event-condition-action rules, stating the actions with which the system responds to events. A reactive system must respond to events in the
environment with the actions specified in its rules.
Unfortunately, PNets and its higher-level extensions can model a closed active system under token-game semantics well only, but a WfMS, a reactive system, is actually open [40]. In other word, the information about the interactions between participants and their WfMS is not transformed into PNets. The omissions are summarized in Problem 1.
Problem 1. (Interaction Omission)
The interaction between a workflow management system and involved participants or systems is not captured by PNets.
1-1. The behavior of WfMS is not modeled by PNets.
1-2. An event generated from participants to enable a transition of WfMS must be fired immediately; otherwise, the system fails to respond the event.
1-3. The tasks enabled by WfMS are executed by participants or systems. But, these executions are not necessary.
When a process is modeled with a PNet, the behavior of the WfMS, on which the process executes, may not be included. Thus, the behavior simulated upon the PNet could be different from the corresponding executed at run time. The analysis results gained upon the net might be unavailable. Besides, a reactive net [41] has been proposed by extending PNets with reactive semantics; however, the indirect data presentation problem, discussed in the next two paragraphs, inherited from PNets was not addressed.
Modeling a complex business process with a PNet, holding identical tokens, could generate a large-sized PNet. During modeling, a large net could increase the difficulty of handling its complexity as well as analyzing its net structure [29][32].
these parts must be represented by disjoint subnets of a nearly identical structure. The total PNet becomes very large. Besides, a property such as the similarities among the subnets would be very difficult to find.
All the places in a PNet are identifiable. Distinguishing the tokens based on the places cannot present data types directly, especially for an application such as workflow whose data flow is modeled with explicit channels. Comparing with Colourd Petri Nets [22], a PNet can only use more places and transitions to present data transmissions or variations. In order to indicate what and how typed data are handled in a process without complicating the net structure, there are many researches
[42]using CPNets to model workflow application.
Based on our previous work [11], the artifacts involved in a process are defined to be operated by a set of legal operations, initialize, read, update and destroy. After an operation, an artifact state is transformed among the followings: UnInitialized,
Initialized, Updated and Read. The correlations, existing between the operations and
state transitions, can be constructed by guard and arc expressions and maintained during execution within CPNets. However, when the number of data types increases, the possible operations and their correlative state transitions are added correspondingly. Thus, constructing and maintaining the correlations with CPNets is more difficult. For example, let a process involve many different data types. Using CPNets, the correlations between the possible operations and the state transitions of all typed data need to be described in guard and arc expressions. These expressions are distributed over the CPNet. For a data type, the corresponding state transitions of its instance(s) are hard to extract. Therefore, verifying the correctness of the state transitions is difficult.
Problem 2. (High Difficulty of Maintaining Correlations)
The correlations between the artifact state transitions and legal operations within a process are not easy to be described with PNets or CPNets, because the restrictions of artifact state transitions listed in the followings are difficult to express with the two nets.
3-1. A legal operation definitely triggers an artifact state transition; even the former and latter states are identical.
3-2. Except UnInitialized state, for each state, there is one or more sequence of operations to transform the artifact from UnInitialized state to the state.
3-3. No matter which state an artifact is at, the artifact can be transformed into UnInitialized state with one operation.
In addition, when a process is modeled with BPMN, there are four different cases to introduce time conditions into the process. The four cases are: (1) inserting a timing start event to indicate the belonging process is started when a specific time condition occurs, (2) inserting a timing intermediate event into a sequential control flow to create a delay, (3) attaching a timing intermediate event to the boundary of an activity to create a deadline or time-out condition and (4) using a timing intermediate event as part of an event-based gateway. These time conditions could denote a specific or recurring time. Unfortunately, PNets and CPNets can model a process without taking time condition into account only. In other word, the information about the time conditions of a process with BPMN cannot transformed into PNets or CPNets. The omissions are summarized in Problem 3.
Problem 3. (Time Condition Omission)
captured by PNets or CPNets.
3-1. Case (1) and (2) indicate that their implementations start to execute/continue when their corresponding time conditions are satisfied.
3-2. Case (3) indicates that the activity involved a timing intermediate event needs to accomplish before the time condition denoted.
3-3. Case (4) indicates that the outflow of an event-based exclusive gateway, started with a timing intermediate event, is selected to run when the event occurs first.
The activities in a process modeled with BPMN are either atomic or compound. A compound activity, is known as a sub-process, can be broken down into a finer level. BPMN can be used to create a process with different degrees of details. However, the Petri Nets do not provide a function of structuring a complex net by replacing an element (place or transition) at a higher-level of abstraction with a lower-level, more detailed, subnet.
Problem 4. (Un-introduce element refinement mechanism)
The PNets and CPNets weakly support representing a process with BPMN constructed with a sub-process which is associated with a lower-level net, especially for Standardand MultiInstance loop sub-processes.
2.2. Coloured Petri Nets — CPNets
A CPNet[22][23] allows modeling the identity of individual tokens by attaching values (or colour) to tokens. The data value may be of a primitive or a complex type as a record in PASCAL. The coloured tokens enable the modeling complicated of objects in the net. The number of the coloured token operated by a transition is assignable. The value of token(s) and its numbers in a place may be changed upon the design when one of its preceding and succeeding transition(s) is fired, i.e., the
transition is defined with more elaborate operation.
This section applies the CPNet (named as net and shown in Figure 2.2 ),
designed with four places, two transitions and four tokens, to explain how a CPNet works. The value of a U-type token located in place p is 0 x and the value of I-type
tokens located in place p is 1 0 and 1 and in place p is 1 . The value fields of U 3
and I data type are
{ }
x y, and{
0,1, 2 , respectively.}
Figure 2.2 An example of CPNet.
Definition 2.6 (Coloured Petri Nets – CPNets)
A Coloured Petri Net is a 9‐tuple CNet=( , , , , , , , ,P T F Σ C V A G m0) where
1. P is a finite set of places, 2. T is a finite set of transitions,
3. F is a finite set of directed arcs, F⊆
(
P∪ × ∪T) (
P T)
, satisfying(
)
(
)
F∩ × = ∩ ×P P F T T =φ,
4. ∑ is a finite set of non-empty types, called color sets,
5. C is a color function, C P: →2∑, defined from P into the power set of ∑ ,
6. V is a finite set of variables declared by the types in ∑ ,
7. A is an arc expression function, A F →: exp such that
( )
(
)
(
(
( )
)
)
(
)
: ( )
f F ⎡Var A f Type Var A f C p f ⎤
∀ ∈ ⎣ ⊆ ∑∧ ⊆ ⎦ 1
. 8. G is a guard function, G T →: exp such that ∀ ∈t T
(1) Type G t
(
( )
)
=Boolean 2 , (2) Var G t ⊆ ∑ ,(
( )
)
(3)(
( )
)
(
( )
,)
p t Var G t Var A p t • ∈ =∪
and (4) p p1, 2 t Var A p t,(
(
1,)
)
Var A p t(
(
2,)
)
φ • ∀ ∈ ∩ = .9. m is an initialization function, 0 m P →0: exp, i.e., ∀ ∈ , p P m p0
( )
canbe represented with a multi-set3 over VE , defined below. By taking a p
type c C p∈
( )
, a value element associated with p is a pair(
c,val)
where val is one of the colors in color set c. The set of all value elements of p is denoted by VEp=
{
(
c,val | c C p)
∈( )
∧val c∈ .}
The data types associated with a place p are defined as a place color domain,
denoted as C p
( )
. The place color domains of net are C p( ) { }
0 = U , C p( ) { }
1 = U I, ,( ) { }
2 ,C p = U I and C p
( ) {}
3 = I . All place color domains of a CPNet are included in ∑ . The tokens defined with given types included in C p( )
are the tokens allowing to access p only. A transition t in a CPNet is considered as a procedure with a
1
The place connected by arc f is denoted as p f( ).
2
The data type of the value returned by evaluating an expression exp is denoted as Type(exp). The set of
variables in exp is denoted by Var(exp). The set of variable types used in the expression is denoted by
( )
(
exp)
Type Var .
3
A multi-set m, over a non-empty set S, is a function m : S → . The integer m s ∈( ) is the number of
pre-condition, declared by a guard expression, denoted as G t
( )
. The variables associated with the expression of t are defined in its transition variable domain,denoted as Var G t . In net , the transition variable domains of
(
( )
)
t0 and t1 are{ }
u j, and{}
i , respectively. In addition, each variable in Var G t is adopted once(
( )
)
in one of t ’s input arc expressions, e.g., in net , the variable u is used in t ’s input 0
arc expression, A p t
(
0, 0)
=var u , only. For a variable v adopted in an arcexpression A p t
( )
, , Type v( )
needs to include in C p( )
.Assigning the variables of a transition t with values is called transition binding, defined in Definition 2.7. All bindings satisfying t ’s guard expression are stored in
( )
B t . The form of binding b can be represented as
1 1 2 2 n n
b= v =val ,v =val ,...,v =val where v is assigned with value i val , i
( )
(
)
{
i|1}
Var G t = v ≤ ≤i n . In net , there are two bindings b1= =i 3 and
2 5
b = =i in B t
( )
1 .Definition 2.7 (Transition Binding)
A binding of a transition t is a function b Var G t:
(
( )
)
→ , M is defined Min Definition 2.8, where ∀ ∈v Var G t
(
( )
)
1. b v
( )
=1(
p c val, ,(
)
)
, i.e., the value val of the c-typed token in p isassigned to variable v in A p,t
( )
and replaces v of G t( )
, and2. Type v
( )
=c, i.e., the type of variable v is the same as that of the selectedA token element is a pair
(
p, c,val where p P(
)
)
∈ and(
c,val)
∈VEp, while abinding element is a pair
( )
t,b where t T∈ and b B t∈( )
. The set of all token elements of a CPNet is denoted by TE while the set of all binding elements isdenoted by BE . In net , the color sets associated with p and 1 p are U and I 2
while p and 0 p are associated with U and I , respectively. The 3 TE of net is
composed of the token elements in the two sets,
( )
(
)
(
( )
)
(
)
{
p, U,x , p, U,y | p= p | p | p0 1 2}
and( )
(
)
(
( )
)
(
( )
)
(
)
{
p, I,0 , p, I,1 , p, I,2 | p= p | p | p1 2 3}
.The BE are
(
t ,b0 0)
,(
t ,b1 1)
and(
t ,b1 2)
where b0= =u x,j=1 , b1= =i 0and b2= =i 1 .
Definition 2.8 (Marking)
A marking M is a multi-set over TE while a step Y is a non-empty and finite multi-set over BE . The initial marking M is obtained by initialization 0
function m : 0
(
)
(
p, c,val)
TE : M p, c,val0(
(
)
)
(
m p0( )
)
(
c,val .)
∀ ∈ =
The set of all markings and steps are denoted by M and Y , respectively.
Definition 2.9 (Step Enabled)
A step Y is enabled in a marking M , obtained by a marking function m , if and only if the following property is satisfied:
( )
( )t ,b Y
( )
p P : A p,t b m p
∈
Let
( )
t,b ∈Y. The tokens in A p,t b( )
, a multi-set over VE yielded by the parc expression A p,t
( )
upon b, are removed from p when t is fired withbinding b. By taking all binding elements
( )
t,b ∈Y, the tokens in the union of multi-sets generated by these binding elements are removed from the input places concurrently when Y occurs. Each binding element( )
t,b in Y must be able to get the tokens specified by A p,t b( )
, without having to share these tokens with other binding elements of Y .Let step Y be enabled in the marking M . When
( )
t,b ∈Y, t is enabled in M with the binding b. If(
t ,b , t ,b1 1) (
2 2)
∈Y and(
t1≠t2) (
∧ b1≠b2)
,(
t ,b1 1)
and(
t ,b2 2)
are enabled concurrently in marking M . If Y t ≥( )
2 , i.e., ∃ i,j( )
t,b , t,bi( )
j ∈ and i may be j , t is enabled more than one time concurrently. YDefinition 2.10 (Fire a Step)
When a step Y is enabled in a marking M , generated by marking function 1 1
m , marking function m generating the next marking 2 M from 2 M can be 1
defined as:
( )
( )
( )
( ) ( )( )
2 1 t ,b Y t ,b Y p P : m p m p A p,t b A t,p b ∈ ∈ ⎞ ⎛ ∀ ∈ =⎜⎜ − ⎟⎟+ ⎝∑
⎠∑
Multi-set( )
( )t ,b Y A p,t b ∈∑
represents the tokens removed from p , while( )
( )t ,b Y
A t,p b
∈
∑
denotes the tokens added to p . M is directly reachable from 2 1The initial marking M0 , generated by m0 , of net is
( )
(
0)
(
1( )
)
(
1( )
)
(
3( )
)
1' p , U,x +1' p , I,0 +1' p , I,1 +1' p , I,1 . Let two sequential steps Y and 1
2
Y be
{
(
t ,b0 0)
}
and{
(
t ,b , t ,b1 1) (
1 2)
}
. Before executing Y , the values of the tokens, 1( )
(
0)
1' p , U,x and 1' p , I,
(
3( )
1)
, are assigned to variable u and j upon0 1
b = =u x,j= for evaluation, i.e., u is assigned with x of the token in place p , 0
while j is assigned with value 1 of the token in place p . In this case, the 3
evaluation result is true, hence Y is enabled in 1 M and it may be fired. When 0 Y is 1
fired, one U-type token with value x and one I-type token with value 1 are
removed from p and 0 p , respectively, and two U-type tokens with value 3 x are
added into p . The result is shown in Figure 2.3. 1
In Y , transition 2 t is enabled twice concurrently by binding 1 b1= =i 0 and
2 1
b = =i , i.e., the two binding elements in Y are able to remove the 2
corresponding tokens, expressed as 1' p , U,x
(
1( )
)
+1' p , I,(
1( )
0)
and( )
(
1)
(
1( )
)
1' p , U,x +1' p , I,1 respectively, from p at the same time. 1
Figure 2.3 The result net of firing step Y . 1
Var u 2(x)
Var i+1(x) Var i+1(x)
p0 p1 p2 t0 t1 Type U = {x, y} ; Type I = {0,1,2}; Var u : U ; Var i, j : I ; x 0 1 p3 Var j x
The definition of occurrence sequence of CPNets, omitted here, is similar to that of PNets, given in Definition 2.5.
2.3. Time Coloured Petri Nets — TCPNets
CPNets with timing constraints can be classified according to the ways of specifying timing constraints, a timing interval [16][17][23] or a specific time [18], or the elements of the net, place [19] , transition [16][18] and arc [15][20], these constraints are associated with. When timing constraints are associated with a transition, the constraint can be interpreted as (1) a delay time [18] [23], i.e., when the transition is fired, its input tokens are removed, but the output tokens is created until the delay time associated with the transition has elapsed, (2) a holding duration [21], i.e., when the transition is fired, its input and output tokens are removed and added concurrently, but the succeeding transition is enabled when the token created time within the holding duration denoted and (3) an firing interval [16][23], i.e., the transition can be fired in its firing interval only. For such transition, the mechanism of removing and adding tokens is the same as that of a transition associated with a delay time.
A common approach [23] is to associate a time stamp, denoted as @r , r∈ ,
with token, and attach a restricted firing interval, denoted as
[
min,max ,]
min,max∈ , with transition. The transition output arc(s) can associate with a time requirement Δt to denote how many time units an execution of the transition takes. When a token is associated with a time stamp, the token is timed. If the time stamp is @r , the token is available to consume after r , i.e., r is the earliest time atwhich the token can be used. Otherwise, the token is untimed and always ready to be used. For a timed transition t , there is a restricted firing interval
[
min,max]
maximum firing time, respectively, i.e., t can be fired between min and max
only. In addition, an execution of t takes Δt time units which is equal to or more than 0. Δt is specified in t ’s output arc expression(s). An untimed transition,
defined without restricted firing interval, can be fired when it is enabled. The firing mechanism of untimed transition is the same as that defined in CPNets.
In a TCPNet, timed CPNet, a global clock is introduced. Let an activity, associated with a restricted firing interval
[
min,max , be presented with a transition]
t in the net and t be fired at τ , min≤ ≤τ max. An execution of t takes Δt time units. The value of the time stamp(s) associated with the token(s), which will be removed from t ’s input place(s) when t is fired, needs to be less than τ . When t
is fired,
t creates a time stamp τ+Δt for its output token(s). Definition 2.11 (Timed Coloured Petri Nets)
A Timed Coloured Petri Net is a 5-tuple TNet=
(
CNet,I ,I ,R,rINT R 0)
where 1. CNet=( , , , , , , , ,P T F ΣV C G A m0) is a CPNet where(1) Σ = Σ ∪ Σ , i.e., the colour sets (types) in Σ can be divided into two U T disjoint sets, Σ and U Σ . The elements in T Σ are untimed and the U elements in Σ are timed, i.e., a token typed with T c ∈Σ is associated T
with a time stamp,
(2) ∀ ∈ , the variables f F Var A f
(
( )
)
used in arc f are timed/untimed overthe timed/untimed subset of C p f and
(
( )
)
(3) ∀ ∈ , p P m p0
( )
generates a timed/untimed multi-set over thetimed/untimed subset of C p
( )
. The details are given in Definition 2.12. 2. I is an interval function INT IINT:T→INT where INT={
[ , ]x y ∈ × |x y≤}
.For a transition t , t T∈ , the function assigns a firing interval
[
min,max .]
3. I is a time function R I FR: → where R R= Δ ∈
{
t |Δ ≥t 0}
. For an arc( )
t,p ,( )
t,p ∈F, the function assigns the time units consumed by executingt on
( )
t,p .4. R , R ⊂ , is a set of time values, called time stamps. 5. r , 0 r0∈ , is the start time. R
The definitions of the set of transition bindings B t
( )
, token elements TE ,binding elements BE and step Y are the same as those of CPNets.
This section applies the TCPNet net (shown in Figure 2.4), designed with four
timed tokens and two timed transitions, to explain how a TCPNet works. We declare that R includes time stamps 100, 200 and 220. There are four tokens typed with the
colour sets in Σ , Σ = Σ . The U -typed token, which is assigned with value x and T located in place p , is available after time 100. The three I -typed tokens, which are 0
assigned with value 0, 1, 1 and located in place p , 1 p , 1 p , are available at 100, 3
respectively. Transition t and 0 t are associated with restricted firing intervals 1
[
180 220,]
and[
200 250,]
, respectively. An execution of t /0 t takes 20/30 time units. 1Figure 2.4 Introducing time constraints into the CPNet shown in Figure 2.1.
Definition 2.12 (Timed Multi-set)
A timed multi-set tm , over VE of a place p p in CNet , is a function
p tm : VE × → , such that R 1. (c ,val)
(
(
)
)
r R tm tm c,val ,r ∈=
∑
, an non-negative integer, denotes the number ofc-typed tokens associated with val in p ,
2. the time stamps associated with these c-typed tokens are listed in
(
)
1 2 i tm(c ,val)tm c,val⎡⎣ ⎤⎦ ⎣=⎡r ,r ,...,r ,...,r ⎤⎦
where the time value r for i tm c,val ,r ≠ ,
(
(
)
i)
0 1≤ ≤i tm(c ,val), are listed. riappears tm c,val ,r times in the list and
(
(
)
i)
tm c,val⎡⎣(
)
⎤⎦ is sorted, i.e.,1 i i r r≤ + , 1≤ ≤i tm(c ,val). A formal presentation of tm of p is ( )
(
)
( ) p(
)
c ,val c ,val VE tm ' c,val @tm c,val ∈ ⎡ ⎤ ⎣ ⎦∑
.In net , formal presentations of the tokens located in place p , 0 p , 1 p are 3
( )
[ ]
1' U,x @100 , 1' I, @
( )
0[ ] ( ) [ ]
100 +1' I, @1 100 and 1' I, @( )
1[ ]
100 , respectively.Definition 2.13 (Timed Marking)
Given a Timed CPNet TNet=
(
CNet,I ,I ,R,rINT R 0)
, a timed marking (state) ofTNet can be denoted by a pair
(
M,r)
, the untimed marking M is a multi-setover TE of CNet and generated by marking function m at time r such that
(
)
(
p, c,val)
TE : M p, c,val(
(
)
)
r(
m p( )
r)
(
c,val)
∀ ∈ = .
The initial timed marking can be denoted by a pair
(
M ,r0 0)
. The sets of all untimed and timed markings are denoted by MU and MT, respectively.Upon Definition 2.13, the initial timed marking
(
M ,r0 0)
of net is( )
(
)
(
( )
)
(
( )
)
(
( )
)
(
1' p , U,x0 +1' p , I,1 0 +1' p , I,1 1 +1' p , I,3 1 ,@100)
where( )
(
)
(
( )
)
(
( )
)
(
( )
)
0 1 0 1 1 0 1 1 1 1 3 1 M = ' p , U,x + ' p , I, + ' p , I, + ' p , I, and r =0 100.Definition 2.14 (Step Enabled)
Given a Timed CPNet TNet=
(
CNet,I ,I ,R,rINT R 0)
, a step Y of TNet is enabled in a timed marking(
M ,r1 1)
at time r if and only if the following 2properties are satisfied:
(1)
( )
( ) r2 1( )
t ,b Y p P : A p,t b m p ∈ ∀ ∈∑
⊆ , (2) r1≤ , r2(3) r is the smallest value of R which satisfies (1) and (2). 2
Let step Y of TNet be enabled in
(
M ,r1 1)
at the smallest time r in R , 2 1 2r ≤ . For each binding element r
( )
t,b ∈Y, the tokens in A p,t b( )
, a multi-set overp
VE yielded by the arc expression A p,t
( )
upon b at time r , are associated with 2time stamps whose values are equal to or smaller than r . 1
The set of time stamps of net , marked with
(
M ,r0 0)
where r =0 100, is{
100 200 220}
R= , , . Let two sequential steps Y and 1 Y of net be 2
{
(
t ,b0 0)
}
and(
) (
)
{
t ,b , t ,b1 1 1 2}
. The two steps are enabled at r and 1 r , respectively. The restricted 2firing intervals of transition t and 0 t are 1
[
180 220,]
and[
200 250,]
. In Section 0,the two sequential steps can be fired sequentially without concerning time constrains. Here, we concern the firing intervals of transition t and 0 t . 1
For the case of Y , 1 Y is enabled when 1 r =1 200 only, because ‘200’ is the only
time stamp in R between firing boundary 180 and 220 of t . If 0 Y is fired at 1 τ1,
1
200≤ ≤τ 220, one U-type token with value x and one I-type token with value 1
are removed from p and 0 p , respectively, and two U-type tokens with value 3 x
are added into p . A time stamp 1 @τ1+20 is created for the two added tokens. The
timed marking of the result net, shown in Figure 2.5, is
( )
(
1)
(
1( )
)
(
1( )
)
11' p , I,0 @100 1+ ' p , I,1 @100 2+ ' p , U,x @τ +20. After firing Y ,1 Y can 2
be enabled at r =2 220, if τ1+20 220≤ . For the case of Y , 2 Y can be enabled 2
when τ1=200 only. If Y is fired at 2 τ2=220, the two binding elements
(
t ,b1 1)
and
(
t ,b1 2)
in Y are able to remove the corresponding tokens, expressed as 2( )
(
1)
(
1( )
)
1' p , U,x @220 1+ ' p , I,0 @100 and 1' p , U,x @
(
1( )
)
220 1+ ' p , I,(
1( )
1)
@100respectively, from p at the same time. A time stamp 1 @220 30+ is created for the four tokens generated by t and added into 1 p . 2
Figure 2.5 The result net of firing step Y . 1
Definition 2.15 (Fire a Step)
When a step Y is enabled in a timed marking
(
M ,r1 1)
at time r , generated 2by marking function m , marking function 1 m generating the next marking 2
(
M ,r2 2)
from(
M ,r1 1)
can be defined as:( )
( )
( )
( ) 2 ( )( )
2 2 1 r r t ,b Y t ,b Y p P : m p m p A p,t b A t,p b ∈ ∈ ⎞ ⎛ ∀ ∈ =⎜⎜ − ⎟⎟+ ⎝∑
⎠∑
Multi-set( )
( ) r2 t ,b Y A p,t b ∈∑
represents the tokens removed from p , while( )
( ) r2
t ,b Y
A t,p b
∈
∑
denotes the tokens added to p .(
M ,r2 2)
is directly reachablefrom
(
M ,r1 1)
by the occurrence of the step Y , denoted as(
M ,r1 1)
⎡⎣Y,r2>(
M ,r2 2)
.2.4. Timed CPNets with Hierarchy –H PNets TC
A H PNet defined in Definition 2.16 is a Timed CPNet with hierarchy, which is CT
defined as the followings:
1. Hierarchical Transition: A transition t in a H PNet can denote a collapsed TC
sub-process whose expansion is another H PNet. The pre-condition associated CT
with t has to be met before the execution of t ’s corresponding net.
2. Hierarchical Token: Each token in a H PNet is typed with a Petri net PNet , TC
called PNet type, accompanied an initiation marking M . The set of markings 0
0
V ar in == ( 1,0) Var in 1'(0,1) @+20 p0 p1 t0[0,30]
Type PNet = {(0,1),(1,0)} timed; Var in : PNet ;
Global clock : 100 time units/cycle
(1,0) 1'(0,1) 1'(0,1)
p2
t1[50,100]
((PNet,(1,0))@10)
(a) An example of H PNet. CT
(b) The design of PNet . (c) The H PNet TC net' of compound transitiont .0
Figure 2.6 An example of H PNet.TC
This section applies the H PNet CT net , shown in Figure 2.6 (a), designed with
three places and two transitions, to explain how a H PNet works. Let the initial TC
marking of net be 1' p , PNet,
(
0(
( )
1,0)
)
@[ ]
10 and transition t be compound. A 0PNet -type token is putted in place p of net at time 10. The token is marked with 0
( )
1,0 while the place array of PNet is(
p ,pa b)
. The compound transition t can 0be expanded to net', shown in Figure 2.6 (c).
Definition 2.16 (Hierarchical Timed Petri Nets – H PNets) TC
(
)
HNet= TNet,TrSet,TkSet,TrFun,TkFun where
1. TNet=
(
CNet,I ,I ,R,rINT R 0)
is a Timed CPNet, where the set of transitions T in0
( , , , , , , , , )
CNet= P T F Σ C V A G m can be divided into two disjoint sets, T and A
C
T . The transitions in T are atomic and the transitions in A T are C
compound.
2. TrSet is a finite set of T C
H PNets each of which represents the expansion of a
compound transition in T . C
3. TkSet is a finite set of PNets each of which represents the design of a data
type in ∑ .
4. TrFun is a compound transition mapping function, TrFun T: C →TrSet ,
defined from T to TrSet , TNet TrSetC ∉ . The number of nets in set TrSet
is equal to the number of compound transitions in set T , i.e., C TrSet = TC
and T ≥C 0. Each compound transition in T is mapped into one of the C
T C
H PNets in TrSet . Function TrFun is 1-1 and onto.
5. TkFun is a type mapping function, TkFun:∑ →TkSet, defined from ∑
into TkSet. The number of nets in set TkSet is equal to the number of types in ∑ , i.e., TkSet = ∑ and ∑ ≥0. Each type (color set) in ∑ is mapped into one of the PNets in TkSet. Function TkFun is 1-1 and onto.
Definition 2.17 (Weakly Connected Net)
A net, PNet or its extension, is called weakly connected if and only if replacing all of its directed arcs with undirected ones produces a connected net, i.e., there is a path between any pair of distinct nodes in the net at least.
Definition 2.18 (H PNet of Compound Transition) TC
Given two weakly connected H PNets, HNet and CT HNet', HNet HNet'≠ , a compound transition t of HNet is associated with HNet', TrFun t
( )
=HNet', if and only if the following conditions hold. Let CNet' of HNet' be composed of0 '
( ', ', ', ', ', ', ', ',P T F Σ V C G A m ).
1. The input and output places of t are transferred into P' ,
( )
( )
(
In t ∪Out t)
⊂ , i.e., P' HNet' is started from the places in In t( )
and terminated at the places in Out t( )
. There is a path between any pair of start and terminated nodes at least,2. T >' 1, the number of transitions in T' is more than 1,
3.
( )
( ) ( ) ' p In t Out t C p ∈ ∪ ⊆ ∑∪
, the types (color sets) associated with the places in( )
( )
In t ∪Out t are included in ∑ and '
4. ∀ ∈p
(
In t( )
∪Out t( )
)
, C p'( ) ( )
=C p , i.e., the types associated with p in HNet are the same as that in HNet'.Definition 2.19 (PNet of Color Set)
Given a H PNet HNet and a weekly connected Petri Net CT PNet=
(
P,T ,F ,m0)
,a type (color set) tp involved in HNet is designed with PNet , i.e.,
( )
TkFun tp =PNet, if and only if the following conditions hold:
2. ∀ ∈t T, 1|•t| |= t•|= , i.e., t has exact one input and output places, 3. The initial marking function m : P0 →
{ }
0 1, and 0( )
1p P
m p
∈
=
∑
, i.e., an initial marking M of PNet , generated by function 0 m , includes one token only. 0From M0 , all reachable markings include one token also,
[
0( )
1 i i p P M M : m p ∈ ∀ ∈∑
= , 0< ≤i n and n=[
M0The number of colors in color set tp is less than or equal to the number of
places in PNet . These colors are presented with the states in
[
M0 .For simplicity, and without losing generality, we assume that each H PNet has TC
two levels in its hierarchy only. When a H PNet is designed with more than two CT
levels, the compound transitions located in higher levels, 2 or more than 2, can be recursively replaced by its finer nets. In addition, any H PNet, restricted to start and TC
end with places, is weakly connected, i.e., there is a path between any pair of distinct nodes (places and transitions) in the net at least.
Chapter 3. Business Process Modeling
In general, a business process is implemented with one or more private processes (also called “process” in this thesis for short) for a business purpose. Each process is designed for a distinct business role (e.g., a buyer, seller, or manufacturer) or entity (e.g., a rule checking machine or banking system) involved. The participants acting the appointed roles cooperate according to the processes assigned to produce a product or service for a particular customer or market. Message sending is the only way to create a communication between processes. We define messaging as the (usually asynchronous) sending of a data item from a business role(s)/entity to other role/entity(ies). A message flow is used to present the transmission of messages. A business process specification, in Definition 3.1, defines the interactions between processes with message flow while the details of these processes are specified in their own specifications. The core modeling elements in BPMN are adopted and shown in Figure 3.1.
Definition 3.1. (Business Process Specification)
A business process specification is a 7-tuple BP (PP,A,M,MF ,MF ,PF ,P) , where =
1. PP is a set of private processes, as defined in Definition 3.2,
2. A denotes the set of artifacts used in BP ,
3. M denotes the set of messages used in BP ,
4. MF⊆
(
PP PP×)
is a set of directed edges, called message flow, indicating the5. MF : MF→M is a message function that maps each message flow into one of the messages in M ,
6. PF defines the set of resources that perform or are responsible for BP
7. P : PP→PF is a resource (onto) function that maps each process into one of
the resources in PF .
Figure 3.1 The core modeling elements in BPMN.
A business process for resolving problem through e-mail votes is applied in this thesis for demonstrating the usage of our formal model. The example is illustrated from broad to narrow.
There are three roles, working group, manager and voter, responsible for the voting business process, BPvote. The assignments of the three roles, process PworkingG,
manager
P and Pvoter, are described within their own swimlanes. The control and data flows of the three processes are introduced in Section 3.2.4 and 3.3.4, respectively. The participants acting working group, manager or voter execute PworkingG, Pmanager or