5
A Study of Interorganizational Process Refactoring Based on Inheritance Technology Zhijun Yan School of Management and Economics Beijing Institute of Technology Beijing, P.R.China [email protected] Tianmei Wang School of Information Central University of Finance and Economics Beijing, P.R.China [email protected] Abstract—The formal modeling and correctness analysis of interorganizational business processes is one of the hot topics in business process management. This paper focuses on the modeling and refactoring of interorganizational processes with the integrated view of process activities and data. The data- oriented interorganizational process modeling method is proposed. Based on the inheritance concept from software engineering, two kinds of process inheritance are defined to analyze the proper adjustment of interorganizational processes. Moreover, the refactoring stage and curve of interorganizational processes are identified. Keywords- interorganizational process; petri nets; process refactoring; inheritance technology I. INTRODUCTION (HEADING 1) The virtual enterprise is emerged as a new collaboration form for many independent enterprises in recent year, especially in the e-commerce environment. Interorganizational business processes modeling and analysis is one of the vital important issues in the virtual enterprise. Many methodologies are proposed to model and analyze the process collaboration among different enterprises [1,2,3]. The soundness and consistency properties are proposed as the basic requirement of interorganizational processes application[4,5]. At the same time, interorganizational processes have to provide necessary flexibility to accommodate the changing market and customers’ requirements. The flexible and agile interorganizational workflow management systems based on different technology are developed [6,7,8]. Moreover, the inheritance technology which originates from the software engineering is also applied to the flexible adjustment analysis of interorganizaitonal processes [5]. Based on the inheritance, the process designer can evaluate the influence range of process adjustment and minimize the changing cost. But most research works only pay attention on the behavior inheritance, and ignore the data problem. As defined in software engineering, data attribute and method are two basic elements in the inheritance. Meanwhile, each process activity needs some input data and will produce some output data. Data view is necessary for the refactoring, i.e., flexibility adjustment, analysis of interorganizational processes. II. INTEROGRANIZATIONAL PROCESS MODEL A. Process Modeling The Petri net is used widely in the description and validation of complex systems. Based on the intuitive graphical representation and formal quantitative analysis method, it provides a powerful technique to analyze the structural and dynamic properties of many different systems by using appropriate interpretations. The basic petri net model is defined by a set of places, a set of transitions, and a set of directed arcs, which connect the places and transitions [9]. At the same time, many extended forms of basic petri net are proposed, such as colored petri net and stochastic petri net. Labeled Petri net is also a variant of the basic petri net. Besides basic elements of the classic petri net, labeled petri net introduces two new elements: method and labeling function. Each transition has a label which refers to the method that is executed if the transition fires. The business process model proposed in this paper is based on the labeled petri net. Then, the definition of labeled petri net will be presented at first[5,10]. Let L be some set of action labels, τ is a silent action label which means no method is executed. Thus L v = L\{τ} is the set of all visible labels. Definition 1: A labeled petri net is a tuple PN= (P, T, F, M, Z ) where: (1) P is a finite set of places; (2) T is a finite set of transitions such that P T = ; (3) ML v is a finite set of methods such that M (P T ) = ; (4) F(P × T ) (T × P) is a set of directed arcs, called the flow relation; (5) Z : T M {τ} is a labeling function. A marked, labeled petri net is a pair (PN, s), where PN = (P, T, F, M, Z) is a labeled petri net and where s is a bag over P denoting the marking (also called state) of the net. The petri net method is applied to business process modeling widely. One prominent result in this field is the 2009 Second International Symposium on Electronic Commerce and Security 978-0-7695-3643-9/09 $25.00 © 2009 IEEE DOI 10.1109/ISECS.2009.80 260

[IEEE 2009 Second International Symposium on Electronic Commerce and Security - Nanchang City, China (2009.05.22-2009.05.24)] 2009 Second International Symposium on Electronic Commerce

  • Upload
    tianmei

  • View
    215

  • Download
    2

Embed Size (px)

Citation preview

Page 1: [IEEE 2009 Second International Symposium on Electronic Commerce and Security - Nanchang City, China (2009.05.22-2009.05.24)] 2009 Second International Symposium on Electronic Commerce

A Study of Interorganizational Process Refactoring Based on Inheritance Technology

Zhijun Yan School of Management and Economics

Beijing Institute of Technology Beijing, P.R.China

[email protected]

Tianmei Wang School of Information

Central University of Finance and Economics Beijing, P.R.China

[email protected]

Abstract—The formal modeling and correctness analysis of interorganizational business processes is one of the hot topics in business process management. This paper focuses on the modeling and refactoring of interorganizational processes with the integrated view of process activities and data. The data-oriented interorganizational process modeling method is proposed. Based on the inheritance concept from software engineering, two kinds of process inheritance are defined to analyze the proper adjustment of interorganizational processes. Moreover, the refactoring stage and curve of interorganizational processes are identified.

Keywords- interorganizational process; petri nets; process refactoring; inheritance technology

I. INTRODUCTION (HEADING 1) The virtual enterprise is emerged as a new collaboration

form for many independent enterprises in recent year, especially in the e-commerce environment. Interorganizational business processes modeling and analysis is one of the vital important issues in the virtual enterprise. Many methodologies are proposed to model and analyze the process collaboration among different enterprises [1,2,3]. The soundness and consistency properties are proposed as the basic requirement of interorganizational processes application[4,5]. At the same time, interorganizational processes have to provide necessary flexibility to accommodate the changing market and customers’ requirements. The flexible and agile interorganizational workflow management systems based on different technology are developed [6,7,8].

Moreover, the inheritance technology which originates from the software engineering is also applied to the flexible adjustment analysis of interorganizaitonal processes [5]. Based on the inheritance, the process designer can evaluate the influence range of process adjustment and minimize the changing cost. But most research works only pay attention on the behavior inheritance, and ignore the data problem. As defined in software engineering, data attribute and method are two basic elements in the inheritance. Meanwhile, each process activity needs some input data and will produce some output data. Data view is necessary for the refactoring,

i.e., flexibility adjustment, analysis of interorganizational processes.

II. INTEROGRANIZATIONAL PROCESS MODEL

A. Process Modeling The Petri net is used widely in the description and

validation of complex systems. Based on the intuitive graphical representation and formal quantitative analysis method, it provides a powerful technique to analyze the structural and dynamic properties of many different systems by using appropriate interpretations. The basic petri net model is defined by a set of places, a set of transitions, and a set of directed arcs, which connect the places and transitions [9]. At the same time, many extended forms of basic petri net are proposed, such as colored petri net and stochastic petri net.

Labeled Petri net is also a variant of the basic petri net. Besides basic elements of the classic petri net, labeled petri net introduces two new elements: method and labeling function. Each transition has a label which refers to the method that is executed if the transition fires. The business process model proposed in this paper is based on the labeled petri net. Then, the definition of labeled petri net will be presented at first[5,10].

Let L be some set of action labels, τ is a silent action label which means no method is executed. Thus Lv = L\{τ} is the set of all visible labels.

Definition 1: A labeled petri net is a tuple PN= (P, T, F, M, Z ) where:

(1) P is a finite set of places; (2) T is a finite set of transitions such that P ∩ T = ∅; (3) M⊆Lv is a finite set of methods such that M ∩ (P ∪

T ) = ∅; (4) F⊆ (P × T ) ∪ (T × P) is a set of directed arcs,

called the flow relation; (5) Z : T → M ∪ {τ} is a labeling function. A marked, labeled petri net is a pair (PN, s), where PN =

(P, T, F, M, Z) is a labeled petri net and where s is a bag over P denoting the marking (also called state) of the net.

The petri net method is applied to business process modeling widely. One prominent result in this field is the

2009 Second International Symposium on Electronic Commerce and Security

978-0-7695-3643-9/09 $25.00 © 2009 IEEE

DOI 10.1109/ISECS.2009.80

260

Page 2: [IEEE 2009 Second International Symposium on Electronic Commerce and Security - Nanchang City, China (2009.05.22-2009.05.24)] 2009 Second International Symposium on Electronic Commerce

workflow net proposed by W.M.P Aalst [10]. Different with the basic petri net, workflow net add two special places and have some distinct characteristics. Similar with the basic petri net, the workflow net only pay attention on the transition firing. But data information is another important perspective of business process management [11]. Each process activity in the business process needs some input information and will produce some output information. For example, t11 in Fig.1 needs the product information and supplier information as input and produces order and contract_supplier information. In order to integrate the behavior and data dimension of business processes, the data-orient business process model is extended from workflow net as follow.

Definition 2: A data-oriented business process model is a tuple DP=(PN,E,D,R) Where:

(1) PN = (P, T, F, M, Z ) is a labeled Petri net; (2) PN has two special places: i and o. Place i is a source

place: •i =∅; Place o is a sink place: o•= ∅; (3) If we add a transition t* to PN which connects place o

with i (i.e., •t* = {o} and t*•={i}), then the resulting Petri net is strongly connected;

(4) E is the set of enterprises; (5) D is the data set; (6) R:T→D is a mapping function. Each transition in the DP represents a process task and

the place establishes the dependency relation among process tasks. For any node x∈ P∪T , •x = {y | yFx}and x• = {y | xFy}. For example, •i represents the input transition set of the place i. o• represents the output transition set of the place o. The second condition indicates that place i hasn’t any input node and place o hasn’t any output node. The set D includes all the necessary data in the business process. Each transition will be fired with some input data and produce some output data after the firing. Each data d in the set D includes two attributes: name and owner. The name attribute is the description of the data and each data will have a unique name. The owner attribute indicates the enterprise the data belongs to. The name attribute of d is indicated as name(d). And owner(d) represents the owner attribute of d. Obviously, owner(d)∈E. The function R maps each transition to the related data. Each transition will relate with several data and a data maybe connect with several transitions. The set E represents the enterprise list involved in the business process. Normally, a data-oriented business process model dp is defined as a local process, i.e., it belongs to a specific enterprise. But the data it needs or produces maybe come from several different enterprises. Furthermore, DP=(PN,E,D,R) is called as sound business process model if PN is a sound net.

Fig.1 shows a data-oriented business process model. Obviously, there are 8 places and 6 transitions. The labels of transitions, the identifiers of transitions and places are shown in Fig.1. For example, the label of the transition t11 is send_order. But the data information isn’t shown in Fig.1.

B. Interorganizational Process Modeling

An interorganizational process is composed of several member enterprises’ business process. Each member enterprise’s business process is called as local process. In order to accomplish the virtual organization’s goal, all the local processes need to communicate because they depend on each other for the correct tasks execution. There are two ways for different local processes to interact: asynchronous communication and synchronous communication [4]. Asynchronous communication corresponds to the exchange of messages between different business processes. Synchronous communication forces local processes to execute specific tasks at the same time. This paper only takes the asynchronous communication pattern into account.

Based on the notion of data-oriented process model, the formal definition of interorganizational processes can be given as follow.

Definition 3: A data-oriented interorganizational business process is a tuple IODP= (DP1, DP2 , ...,DPn, PC , A ), where:

(1) n is the number of local processes; (2) ∀k ∈ {1, ..., n}, DPk is a data-oriented process model

with source place ik and sink place ok , and it represents the local business process of a partner, DPk={PNk,Ek,Dk,Rk} and PNk={Pk,Tk,Fk,Mk,Zk};

(3) ∀k, j ∈ {1, ..., n}: if k ≠ j, then (Pk ∪ Tk) ∩ (Pj∪ Tj ) = ∅;

(4) T* = ∪ k ∈ {1,..., n}Tk, P* =∪ k ∈ {1,...,n}Pk, F*=∪ k ∈

{1,...,n}Fk ,D*=∪k∈{1,...,n}Dk; (5) ∀k∈{1, ..., n}, E*=Ek={e1,e2,…en}; (6)PC is the set of asynchronous communication elements

(communication places); (7)PC ∩P* = ∅; (8)A⊆PC × Z(T*) × Z(T*) is the asynchronous

communication relation, and Z(T*) is the set of all non-empty subsets of T*;

i1 t11

p11

t12

p12

t13

p13 p14

t14 t15

p15p16

t16

o1

Figure 1. A business process model

send_order

check_store

build_part

finish_prod prep_ship

ship_prod

261

Page 3: [IEEE 2009 Second International Symposium on Electronic Commerce and Security - Nanchang City, China (2009.05.22-2009.05.24)] 2009 Second International Symposium on Electronic Commerce

(9) ∀p ∈ PC , {( p′, x, y) ∈ A | p′= p} is a singleton. The IODP consist of several local processes and n is also

the number of member enterprises. Note that D* doesn’t include the duplicate elements. The same data will have a unique name and owner even it exists in several local processes. From the definition, each asynchronous communication element corresponds to a place name in Pc. The relation A describes the relation between communication places and transitions. And it specifies that for each communication place there is one element in A, i.e., a communication place just has one input transition and one output transition.

The element in the set A is also called as an inter-flow that covers different partners. If the inter-flow a=<c, t1, t2>∈A, t1 and t2 are communication transitions that need to exchange information with other business partners. Then t1 is called as the original transition of the inter-flow, and t2 is the target transition of the inter-flow.

Fig.2 is a data-oriented interorganizational process which includes two local processes, LP1 and LP2. Place c1 and c2 are communication place. The labels of transition in LP2 aren’t shown in the Fig.2. The behavior correctness and soundness of IODP can be verified through the traditional method[2]. And the data view in IODP gives process designer a more comprehensive angle to analyze the structural and dynamic behavior of interorganizational processes.

Considering the execution sequence of transitions in the business process, we also define the firing order in the business process.

Definiton 4: g=(i, t1, t2,…, tk, o) is a directed execution path in the labeled Petri net from the start state i to the end state o, G={g} is the set of the directed execution paths from state i to o. if transition ti occurs before transition tj in any path g, it means ti ≤g tj (1≤i,j≤k).

The notion of execution path and firing order will be used to define the inheritance concept. And it doesn’t take the loop situation of transition firing into consideration.

III. PROCESS INHERITANCE Inheritance is a basic and core concept in object-oriented

software development method[12]. It elaborates some kinds of similarity among several different objects. Basten introduce the inheritance concept to the modeling of dynamic system behavior [13]. To formalize inheritance notion, the concept of equivalence need to be explained at first. Branching bisimilarity is used widely as the standard equivalence relation on marked, labeled Petri nets [14]. The silent action τ is pivotal to the definition of branching bisimilarity. Silent actions are actions (i.e., transition firings) that cannot be observed. The τ -labeled transitions are used to distinguish between external, or observable, and internal, or silent, behavior. Two marked, labeled Petri nets are called branching bisimilar, denoted p ~b q, if and only if their observable behaviors coincide[5].

There four types of inheritance in petri nets context [13]. This paper only concentrates on the projection inheritance. The basic idea of projection inheritance can be characterized as: If it is not possible to distinguish the behaviors of x and y when arbitrary methods of x are executed, but when only the effects of methods that are also present in y are considered, then x is a subclass of y.

For projection inheritance, all new methods in the subclass are hidden. Therefore, the abstraction operator τI is defined to hide methods[5]. For any I⊆Lv, the abstraction operator τI is a function that renames all transition labels in I to the silent action τ. Given the abstraction operator and branching bisimilarity as an equivalence notion, the inheritance of business process model can be defined as follow.

Definition 5: For any two sound data-oriented process models DP0=(PN0,E0,D0,R0)and DP1=(PN1,E1,D1,R1), DP1 is a subclass of DP0, denoted DP1 ≤DP0, if and only if there is an I⊆ Lv such that (τI(PN1), [i])~b(PN0, [i]).

In Fig.3, dp2 is not a subclass of dp1 because hiding of the new task t' results in a potential trace where t11 is followed by t13 without executing t12, i.e., the WF-net where t' is renamed to τ is not branching bisimilar. dp3 and dp4 are subclasses of dp1,i.e., hiding the t'' in dp3 and t''' in dp4 will result in a behavior equivalent to the behavior of dp1.

Inheritance can be used to analyze and evaluate the interorganizational process. Normally, an interorganizational process is composed of several local business processes. If a local business process makes an adjustment, and the revised process is a subclass of the old one. That means the change in the local process doesn’t bring new things to other partners in the interoganizational process. The public communication place is still the same. Thus, the notion of inheritance can be applied to minimize the adjustment cost of the whole interorganizational process.

However, the inheritance is a more complicated concept. The inheritance concept in definition 5 doesn’t care the data

c1

c2

LP 1 LP 2i1 t11

p11

t12

p12

t13

p13 p14

t14 t15

p15 p16

t16

o1

i2

t21

p21

t22

p22

t23

p23

t24

p24

t25

o2

Figure 2. An interorganizational process

send_order

check_store

build_part

finish_prod prep_ship

ship_prod

262

Page 4: [IEEE 2009 Second International Symposium on Electronic Commerce and Security - Nanchang City, China (2009.05.22-2009.05.24)] 2009 Second International Symposium on Electronic Commerce

differences among the inheritance hierarchy. In other words, it has low restrictions on the business process similarity. For example, the revised process is the subclass of the old one under definition 5. But it adds one new transition which needs some new data from other partners. That means we have to make revisions on the interorganizational process, adding a new public interface to ensure the revised process will have the necessary input information.

In order to solve this problem, another more restricted form of inheritance, strong inheritance, is proposed which ensures the adjustment of the transition in a local process, including the data information and executed method, will not be observed by other partners.

Definition 6: For any two sound data-oriented process models DP0=(PN0,E0,D0,R0) and DP1=(PN1,E1,D1,R1), DP1 is a subclass of DP0 under strong inheritance, denoted DP1 ≤s DP0, if and only if:

(1) there is an I⊆ Lv such that (τI(PN1), [i])~b(PN0, [i]); (2) The new transition set T’=T1-T0 meets the following

requirements: ①∀t∈T’, ∀d∈R(t),owner(d)=e1 or ②∃ ti∈T’, d∈R(ti),owner(d) ≠e1, but ∃ tj, tj ∉T’, tj≤g ti

and d∈R(tj). The strong inheritance ensures that the adjustment of the

process is restricted in the member enterprise and it hasn’t any effect on other partners. At the same time, if DP1 is the subclass of DP0 under inheritance, but DP1 isn’t a subclass of DP0 under strong inheritance. We call it as weak inheritance.

IV. INTERORGANIZATIONAL PROCESS REFACTORING Refactoring is a promising technology to solve the

flexibility and robustness problem of software engineer. It is defined as the process of changing a software system in such a way that it does not alter the external behavior of the code, yet improves its internal structure[15].

The interorganizational business process will make some adjustments according to the market environment and member enterprise’s internal optimization requirements. In

such special situations, we describe the flexible adjustment of interorganizational processes with the goal to meet the new demands as process refactoring. The interorganizational process refactoring can be classified in two dimensions: refactoring scope and refactoring type. Refactoring scope is the range that the refactoring will involve and it includes two different layers: local process and interorganizational process. Refactoring type is the adjustment form of interorganizational processes which can be divided into three different formats based on the inheritance notion: strong inheritance, inheritance and normal refactoring. According to the two dimensions, the four possible interorganizational process refactoring stages are derived as Fig.4.

In Fig.4, the x-axis and y-axis represent the refactoring scope and refactoring type respectively. There have four different refactoring stages in Fig.4. Stage I represents the adjustment of local processes under strong inheritance which implies that only the local process changes and it can’t be observed by other partners. It is obvious that the stage I has a high stability which doesn’t affect other partners’ daily operation. In stage II, the local process has some adjustments under strong inheritance, and the interorganizational process also makes some revisions which doesn’t affect the strong inheritance in local processes. Stage III depicts the situation that local process’s adjustments are under weak inheritance and the interorganizational process also changes. Stage IV is the most complex situation which local processes and the interorganizational process have some flexible adjustments together. Nearly all the member enterprises have to make revisions on their local processes in accordance with each adjustment.

The virtual organization will adjust the interorganizational process frequently as the rapid change of product market. But what is the possible pattern of the flexible adjustment of interorganizational processes? And how can the virtual organization make estimation about the process refactoring and prepare in advance? Inspired by Nolan information system stage theory[16] and the business process reengineering theory[17], we propose the interorganizational refactoring curve as Fig.5. The x-axis and y-axis in Fig.5 represent time and cost respectively. The interorganizational process refactoring can be divided into different eras. Each refactoring era includes the four refactoring stages: stage I, stage II, stage III and stage IV. After the initialization, the virtual enterprise forms the initial interorganizational process which each member enterprise will follow. As the development of market, some local

Figure 4. Process refactoring stage

Local process

Interorganizational process

Strong Inheritance

Refactoringscope

I

Inheritance

Normal Adjustment

II

III

IV

Refactoring type

Figure 2. Process inheritance dp1

i1 t11

p11

t12

p12

t13

p13 p14

t14 t15

p15 p16

t16

o1 o1

i1 t11

p11

t12

p12

t13

p13 p14

t14 t15

p15 p16

t16

t''

dp3 dp2

o1

i1 t11

p11

t12

p12

t13

p13 p14

t14 t15

p15 p16

t16

t'

o1

i1

t11

p1

1t12

p12

t13

p13 p14

t14 t15

p15 p16

t16

t'''

dp4

263

Page 5: [IEEE 2009 Second International Symposium on Electronic Commerce and Security - Nanchang City, China (2009.05.22-2009.05.24)] 2009 Second International Symposium on Electronic Commerce

enterprises will adjust their local processes under strong inheritance to optimize the local operation performance. Moreover, the interorganizational process may adjust to meet the new market demand, i.e., the interorganizational process is in the stage II. Then the interorganizational process has to make adjustments under weak inheritance if the adjustment under strong inheritance can’t meet the market demand. Furthermore, the interorganizational process will adjust as necessary, ignored of the inheritance notion. Obviously, stage II is more complicated than stage I, and stage III is more complicated than stage II. And stage IV is the most complicated stage. As the improvement of refactoring complexity, the refactoring cost will increase greatly.

When the interorganizational process is hard to be adjusted, it will enter a new collaboration era. The new interorganizational process will be set up. Compared with the old interorganizational process in the old era, the process performance will be improved effectively. Then, the new interorganizaitonal process will go through the four stages again until the collaborative relation among member enterprises is over.

V. CONCLUSIONS Interorganizational processes are of vital importance in

the virtual organization. Proper adjustment or refactoring of processes will improve the flexibility and agility of interorganizatioinal processes greatly. The data-oriented interorganizational process is proposed to integrate two important process elements: process activities and data. And two kinds of inheritance notion are introduced to evaluate the necessary refactoring in business process management. Process designer can revise business processes under inheritance which only bring less effort for other partners to maintain the collaboration. Moreover, the refactoring of interorganizational processes is divided as four different stages. Inspired by business process reengineering theory and Nolan stage model, the interorganizational process refactoring curve is defined. This gives a more clear view about the collaboration model among member enterprises.

Our future work will test the refactoring curve by case study. And we hope to establish the formal soundness and correctness analysis method in the integrated view of process behavior and data.

ACKNOWLEDGMENT This research is supported by the National Science

Foundation of China (Grant No.70502021, 70872119) and Humanities & Social Sciences Key Project of Ministry of Education of China (Grant No. 07JZD0019)

REFERENCES

[1] K. Lenz , A. Oberweis. Modeling inter- organizational workflows with XML nets, Proc. 34th annual hawaii Conf. on system sciences, 2001.

[2] W. M. P. Aalst. Inheritance of interorganizational workflows to enable business-to-business e-commerce. Electronic Commerce Research, 2002, 2(3):195-231.

[3] E. Pascal, G. Jaap, W. Roel. Value-based design of collaboration process for e-commerce, Proc. 2004 Conf. on e-technology, e-commerce and e-service, 2004, 49-58.

[4] W. M. P. Aalst. Interorganizational workflows: an approach based on message sequence charts and Petri Nets. Systems Analysis-Modelling-Simulation, 1999,34(3):335-36.

[5] W.M.P. Aalst. Inheritance of Interorganizational Workflows: How to Agree to Disagree Without Loosing Control? Information Technology and Management. 2003, 4(4):345-389.

[6] P. Grefen, K. Aberer, Y. Hoffner, H. Ludwig. CrossFlow: cross-organizational workflow management in dynamic virtual enterprises, International Journal of Computer Systems, Science, and Engineering, 2001, 15(5):277-290.

[7] Shung-Bin Yan and Feng-Jian Wang. A cooperative framework for inter-organizational workflow system. Proc. 27th annual international computer software and applications conference, 2003, 64-71.

[8] Liang Chen, Zhijun Yan, Jiajia Liu. Research of Modeling and Application on Multi-agent system using Petri Nets. Communications of SIWN, 2008.6,25-28.

[9] W. Reisig, G. Rozenberg, eds., Lectures on Petri Nets I: Basic Models, Lecture Notes in Computer Science, vol. 1491,1998.

[10] W.M.P. Aalst. The application of Petri Nets to Workflow Management, Journal of Circuits,Systems and Computers,1998, 8(1):21-66

[11] I.Vanderfeesten, H.A.Reijers, W.M.P Aalst. Evaluating Workflow Process Designs using Cohesion and Coupling Metrics[R], BPM Center Report BPM-07-02, Eindhoven :BPMcenter.org, 2007.

[12] C.P.Willis. Analysis of inheritance and multiple inheritance .Software Engineering Journal, 1996, 11(4):215 – 224.

[13] T. Basten, W.M.P Aalst. Inheritance of behavior. Journal of Logic and Algebraic Programming. 2001,47(2): 47-145.

[14] R.J. van Glabbeek, W.P. Weijland. Branching time and abstraction in bisimulation semantics,Journal of the ACM, 1996, 43(3) :555–600.

[15] T. Mens, T. Tourwe. A survey of software refactoring.Software Engineering, IEEE Transactions on,2004,30(2):126 – 139.

[16] R. L. Nolan. Managing the Computer Resource: A Stage Hypothesis. Communication of the ACM, 1973, 16(7):399-405.

[17] J. Peppard, P. Rowland. Essence of Business Process Re-Engineering, Prentice Hall PTR ,2003.

Cost

Time I

II III

IV

I II

III IV

Figure 5. Process refactoring curve

Era 1 Era 2 …

264