5
Inter-Organizational Business Process Modeling for Electronic Commerce Based on Pi-CalcuIus Zhilin Fengl. ', Jianwei Yid, Hui Zhangl, Jinxiang Dong College of Zhijiang, Zhejiang University of Technology, Hangzhou, 3 10024 China * State Key Laboratory of CAD & CG, Zhejiang University, Hangzhou, 3 10027 China [email protected], zjhzjacky@ 126.com i Abstruct- Electronic commerce on the Internet has become exceedingly dynamic and interorganizational in recent times. Interorganizational worMow management system has become an important paradigm for business-to-business electronic commerce applications. The modeling of interorganizational business processes is a challenging task, due to the high degree of autonomy and heterogeneity of the cooperative organizations. A number o€ standardization initiatives are working on standards for modeling languages that can be employed under interorganizational environments. This paper presents a formal specification methodology for interorganizational workitow modeling which is founded upon the Pi-Calcdus process algebra. This method works well for characterizing the behaviors and interactions of the workflow processes that belong to different organizations in terms of the semantics of pi-Calculus. Experimental results show that the proposed method works well for the modeling of electronic commerce systems under interorganizational environments. Keywords: workflow; Pi-Calculus; business process I. INTRODUCTION Electronic commerce applications often operate in a dynamic and distributed environment, dealing with a large number of heterogeneous information sources with evolving contents and dynamic availability. They typically rely on distributed and autonomous business processes for information interaction. Worldlow systenis provide flow control for business process automation. However, current workflow products are generally intraorganizationd and based on centralized architectures. Therefore, they typically lack scalability and are also not very useful for implementing interorganizational applications [I]. The rise of electronic commerce, virtual organizations and extended enterprises highlights the fact that more and moie business processes are crossing organizational boundaries 121. Thus, there needs to be a paradigm shift in technology to overcome the limitations of 'original workflow systems and develop interorganizational workflow management systems, Interorganizational workflow is anticipated as a supporting mechanism for B2B electronic commerce. Several researchers studied cooperative business processes in the form of interorganizational workflows [3,4,51. However, a lack of formal methodological backing, and the absence of proven collaboration frameworks have up to now limited the impact of interorganizational workflow systems in practical application. An essential aspect that needs to be taken into account for interorganizational workflow system is mutual communications between business processes. Supporting services of mutual communication for interactive business processes has found considerable interest recently [6,71. Process algebras are the most natural vehicles to prescribe the coordination between two or more business workflows [8,91. This paper aims at designing and building basic infrastructure for business-to-business electronic commerce in the form of a working system capable of defining and enacting business processes, as well as supporting related interactive behaviors among these business processes. Such infrastructure consists of an interorganizational workflow system acting as the underlying distributed operating system controlling the execution of business processes. In this paper, we present a formalizing approach to model interorganizational workflow system. This approach aims at supporting several business processes across different organizations, In order to implement comprehensive coordination and cooperation behaviors, we apply Pi-Calculus [IO, 111 to define the communication primitives from which any process can be defined and understand their interactive behaviors, In particular, this approach shows its ability to describe complex, concurrent, distributed nature of real business processes and the irregular resource and resource transformations inherent within them. II. PI-CALCULUS AND INTERORGANIZATIONAL - WORKFLOW MODEL Pi-Calculus is a process calculus that is able to describe dynamically changing networks of concurrent processes [lo]. Pi-Calculus contains just two kinds of entities: processes and channels. Processes, sometimes called agents, are the active components of a system. They interact by synchronous rendezvous on channels, also called names. In Pi-Calculus, the basic processes are the input and output. The primitive input and output of Pi-Calculus are monadic: exactly one channel is exchanged during each communication. Polyadic Pi-Calculus is a useful extension of Pi-Calculus that allows many channels to communication between local workflow processes [ll]. For example, a polyadic Pi-calculus process stops its activity waiting for an incoming message on a named communication channel: when another process sends a message on this named channel, the blocked process continues its execution. This synchronization operation defines a partial order relationship among - 966 - 0~7803-8971-9/05/$20.00 02005 IEFE

[IEEE Proceedings of ICSSSM '05. 2005 International Conference on Services Systems and Services Management, 2005. - Chongquing, China (2005.06.13-2005.06.15)] Proceedings of ICSSSM

Embed Size (px)

Citation preview

Page 1: [IEEE Proceedings of ICSSSM '05. 2005 International Conference on Services Systems and Services Management, 2005. - Chongquing, China (2005.06.13-2005.06.15)] Proceedings of ICSSSM

Inter-Organizational Business Process Modeling for Electronic Commerce Based on Pi-CalcuIus

Zhilin Fengl. ', Jianwei Yid, Hui Zhangl, Jinxiang Dong College of Zhijiang, Zhejiang University of Technology, Hangzhou, 3 10024 China

* State Key Laboratory of CAD & CG, Zhejiang University, Hangzhou, 3 10027 China pigamma@ 163.com, zjhzjacky@ 126.com

i

Abstruct- Electronic commerce on the Internet has become exceedingly dynamic and interorganizational in recent times. Interorganizational worMow management system has become an important paradigm for business-to-business electronic commerce applications. The modeling of interorganizational business processes is a challenging task, due to the high degree of autonomy and heterogeneity of the cooperative organizations. A number o€ standardization initiatives are working on standards for modeling languages that can be employed under interorganizational environments. This paper presents a formal specification methodology for interorganizational workitow modeling which is founded upon the Pi-Calcdus process algebra. This method works well for characterizing the behaviors and interactions of the workflow processes that belong to different organizations in terms of the semantics of pi-Calculus. Experimental results show that the proposed method works well for the modeling of electronic commerce systems under interorganizational environments.

Keywords: workflow; Pi-Calculus; business process

I. INTRODUCTION Electronic commerce applications often operate in a

dynamic and distributed environment, dealing with a large number of heterogeneous information sources with evolving contents and dynamic availability. They typically rely on distributed and autonomous business processes for information interaction. Worldlow systenis provide flow control for business process automation. However, current workflow products are generally intraorganizationd and based on centralized architectures. Therefore, they typically lack scalability and are also not very useful for implementing interorganizational applications [I]. The rise of electronic commerce, virtual organizations and extended enterprises highlights the fact that more and moie business processes are crossing organizational boundaries 121. Thus, there needs to be a paradigm shift in technology to overcome the limitations of 'original workflow systems and develop interorganizational workflow management systems, Interorganizational workflow is anticipated as a supporting mechanism for B2B electronic commerce.

Several researchers studied cooperative business processes in the form of interorganizational workflows [3,4,51. However, a lack of formal methodological backing, and the absence of proven collaboration frameworks have up to now limited the impact of interorganizational workflow systems in practical application. An essential aspect that needs to be taken into account for interorganizational

workflow system is mutual communications between business processes. Supporting services of mutual communication for interactive business processes has found considerable interest recently [6,71. Process algebras are the most natural vehicles to prescribe the coordination between two or more business workflows [8,91.

This paper aims at designing and building basic infrastructure for business-to-business electronic commerce in the form of a working system capable of defining and enacting business processes, as well as supporting related interactive behaviors among these business processes. Such infrastructure consists of an interorganizational workflow system acting as the underlying distributed operating system controlling the execution of business processes. In this paper, we present a formalizing approach to model interorganizational workflow system. This approach aims at supporting several business processes across different organizations, In order to implement comprehensive coordination and cooperation behaviors, we apply Pi-Calculus [IO, 111 to define the communication primitives from which any process can be defined and understand their interactive behaviors, In particular, this approach shows its ability to describe complex, concurrent, distributed nature of real business processes and the irregular resource and resource transformations inherent within them.

II. PI-CALCULUS AND INTERORGANIZATIONAL - WORKFLOW MODEL

Pi-Calculus is a process calculus that is able to describe dynamically changing networks of concurrent processes [lo]. Pi-Calculus contains just two kinds of entities: processes and channels. Processes, sometimes called agents, are the active components of a system. They interact by synchronous rendezvous on channels, also called names. In Pi-Calculus, the basic processes are the input and output. The primitive input and output of Pi-Calculus are monadic: exactly one channel is exchanged during each communication.

Polyadic Pi-Calculus is a useful extension of Pi-Calculus that allows many channels to communication between local workflow processes [ l l ] . For example, a polyadic Pi-calculus process stops its activity waiting for an incoming message on a named communication channel: when another process sends a message on this named channel, the blocked process continues its execution. This synchronization operation defines a partial order relationship among

- 966 - 0~7803-8971-9/05/$20.00 02005 IEFE

Page 2: [IEEE Proceedings of ICSSSM '05. 2005 International Conference on Services Systems and Services Management, 2005. - Chongquing, China (2005.06.13-2005.06.15)] Proceedings of ICSSSM

activities and can also be viewed as a producerlconsumer relation between processes where messages are the exchanged resources.

Definition 1 The syntax of polyadic Pi-Calculus is as follows: -

P:.= x(z) .P /* Input */ I x[yl.P /* output */ I P l Q /*Parallel*/ I ( V X ) P /*Restriction*/ I P + Q /*Summation*/ I t /*Nil*/ I !P /*Replication*/ I [X'YIP /*Matching*/

The output process 3 y l . P sends a vector of channels, , along a channel named x and then, after the output has completed, continues to be as P . Conversely, the input process x(;).P waits until a vector of values is received along a channel named x substitutes them for the vector of bound variable z , and continues to be as a new process P . The parallel composition of two processes, denoted as & I 4 I ;(;) .PI, may thus synchronize on x , and reduce to f: I PI{;/;] . Fresh channels are introduced by restriction operator v . The expression (vX)P creates a fresh channel vector with scope P. The expression P + Q denotes an external choice between P and Q : either P is allowed to proceed and (2 is discarded, or converse case. The null process is denoted by 4 , If output process (or input process) is %;I.# (or ;(:).4 ), we abbreviate it to %y] (or ;(:) ). The replication operator ! p informally means an arbitrary number of copies of P running in parallel. Pi-Calculus includes also a matching operator [x= y ] P which allows

Pi-calculus is the mathematical truth behind all processes. For example, we consider a process P = ~ [ x ] . x ( v ) . [ v = x1.R I a(

w).Iw = x].W[x] consists of two processes that execute concurrently and whose input and output actions can synchronize. First, a[x] can synchronize with a ( w )

producing x(v).[v = n1.R I [x = x].X[x] . Note that as an effect of this synchronization step, the name x has been substituted to w and thus the test [ w = x ] has become [ x = x ] which is satisfied. Thus the output 3x1 can execute and synchronize with X ( V ) producing [x = x1.R I (J = R . Clearly, in process P , actions and tests are partially ordered by the execution order induced by sequencing operator.

In Pi-calculus, the computation and the evolution of a process are defined by reduction rules. The most important reduction relation is about communication.

P to proceed if x and y are the same channel.

- a y , P I a ( z ) . Q It means that the process will reduce into the right form

after the communication, and Q[y/z] means all free occurrences of z in Q will be substituted with y .

iy'a(z) > P I Q [ y / z]

/

- 967 -

Based on process expressions the behavior of concurrent systems can be defined by a set of process equations. For example, we consider the following two process equations

SND(P)(1) = (new x ) j [ x ] . P , RCV(Q)U) = l(x).Q where process SND sends the data x on location 1 and then behaves as defined by process P . Process RCV receives the data denoted by x on location I and then behaves like Q . By composing these two processes to a system such that both process are co-located at a link y , i.e. (v y ) W D ( A ) [ y l I RCV( B ) [ y ] ) +(A I B ) , and a reaction within the system can occur, as denoted by 4 , which models the exchange of data between the two processes on location y . After this reaction the behavior of the system is defined by the composition (At g) since both processes pedormed a state transition such that the new behavior of each process is defined by the respective continuation process.

Defdtion 2 A interorganizational workflow model is a tupIe w = (L4,Lp, ,..., L e , V,,t,, f , ,R , ) , where

'w dcf

II E a is the number of local workflow processes, for each k E {l, ..., n} , Mk is a local workflow process, V, = {v,, ..., v, ] is a set of ports in a local process, tw(v,)E [START, ACTIVITY, DECISION,SPLIT, JOIN, END] indicates the type of a channel, V, fur X E {START, ACTIVITY, DECISION, SPLJT, JOIN,END) denotes the subset V, z V w of all

channels

f, : V,,,, + A is the activity assignment function, R, E (V, x V,) is a set of channels among local

of type x I

workflow processes. In Definition 2, the overall processes are decomposed into

many kinds of activities that are ordered based on the dependencies among them.

Definition 3 If activityA is automatic activity, then its corresponding representation of process is:

4 A = request - resourceCresource - id].START.

assigned - resource(resource- id).ACTlON.

release - resource[resource -id].FINISH where uppercase names of the definition (START , ACTION , and FINISH } denote processes and lowercase names of the definition denote channels (request-resource, assigned- resource, and release-resource) or ports ( resource-id ) to communicate neighbor activities.

The above definition shows that the activity requests resource through channel request- resource after activity is enabled. The port has input name, resource-id which represent the identity of resource required. The channel assigned-resource is used for the receiving of assigned resource, After the resource has been assigned, the activity executes operation ACTION by interacting with external application or tool. When the activity has completed, it

Page 3: [IEEE Proceedings of ICSSSM '05. 2005 International Conference on Services Systems and Services Management, 2005. - Chongquing, China (2005.06.13-2005.06.15)] Proceedings of ICSSSM

releases resource through channel release- resource . Finally, the activity informs the next activity to continue.

Definition 4 I€ activity A is manual activity, then its corresponding representation of process is:

w A = request - resource[resource -id].START.assigned -

resource( resource - id).wait - user[rola - id] .ACTION. release -resource[resource -id] .FINISH

Definition 4 is similar to definition 3, except that manual activity will wait for user's preparation for the task through channel wait-user and port role-id after resource is assigned.

Definition 5 If activity A is time-triggering activity, then its corresponding representation of process is:

- d d A = request- resource[resource_id].STAR~fimer <begin-

time,end - time > Cowfiterassigned - resource(resource -

id).ACTlUN.releare - resource[resource - id].FlNISH Definition 5 is similar to definition 3, except that a

time-triggering activity inquires a time counter evaluated from begin-time to end-time after resource is assigned.

In Definition 2, dependency among activities contains sequence, AND-join, AND-split, OR-join, OR-split and Decision.

Definition 6 If activity A and activity B have sequence dependency and their corresponding processes expression is A , B respectively, and then the sequence dependency can be defined as:

w A , B = (v a)([a /done]A I [nlstartjB)

It shows that after the activity A has completed, the activity A will communication with the activity B through private port a , and then the activity B will be executed.

Definition 7 If activity A and activity B have OR-split dependency and their corresponding processes expression is A , B respectively, then the OR-split dependency can be defined as:

A OR-split B = ( ~ a ) ( ~ . [ a ] I ( [ a l s t a r r ] A + [ a / s t a ~ ] B ) ) It shows that after the OR-split dependency is enabled,

through channel start , then the activity A and B will communication with each other through private port a , and thus the activity A or B will be executed.

Definition 8 If activity A and activity R have OR-join dependency and their corresponding processes expression is A , B respectively, then the OR-join dependency can be defined as:

dd

.w AOR- joinB = (va)(([aIfinish]A+[a/finish]B)I

- finish. [ a I)

It shows that after the activity A or B h:w completed, it will invoke the channel finish , and thus firing its neighboring activity.

Definition 9 If activity A and activity B have AND-split dependency and their corresponding processes expression is A , B respectively, then the AND-split dependency can be defined as:

.

kf A AND - split B = (v a ) ( z I a ] I ( [ a / s t u r f ] A I [a/ stu~?]B))

It shows that after the AND-split dependency is enabled through channel start , then the activity A and B will communication with each other through private port a , and thus the activity A and B will be executed.

Definition 10 If activity A and activity B have AND-join dependency and their corresponding processes expression is A , B respectively, then the AND-join dependency can be defined as:

AANIl-Join B = (~o)(([a/f jnishlAc[a!f inish]B)I

It shows that after the activity A or B has completed, it will invoke the channel finish , and thus firing its' neighboring activity.

Definition 11 If the decision expression y is true, then activity A will be executed; otherwise activity B will be started. We can use the following process expression to define it.

d d

- finish.[o])

If then A else B dd = (v o,b)(decison_exp[~l.START.([yr = TRUEla +

[c = FALSEJb)) I ([a/srarr]A I [blstartli?) In the above definition, the channel decision-exp

provides a condition expression yr to be evaluated. The private port a and b instruct which activity ( A or B ) should be selected to execute.

III. EXPENMENI"T In this section, we introduce a business-to-business

electronic commerce system implemented by Pi-Calculus mechanism under interorganizational environment. It is also a loosely coupled interorganizationai workflow system which consists of four local workflows: Customer, Producer, Supplier-A and Supplier-B. For a process type called "loosely coupled", which allows a process to be split up into parts and be executed in parallel. The Customer orders a product by sending an order for a product to the Producer. TO produce the ordered product, the Producer orders the products needed for production (typeA and typeB). Then the Customer is informed that the order has been accepted. The Supplier-A produces products of type A, the Supplier-B produces products of type B. After both products have been delivered, they are assembled into a product which is delivered to the Customer. After delivery an invoice is sent which is then paid by the Customer.

Fig. 1 shows the modeling procedure of above inter -organizational workflow system. Fig. 2 shows how the communication procedures among local workflow processes are handled under interorganizational environment. In Fig. 2, each of four local processes is enclosed with an ellipse line respectively. Furthermore, the communication links among processes are labeled with bold lines to see more clearly.

- 968 -

Page 4: [IEEE Proceedings of ICSSSM '05. 2005 International Conference on Services Systems and Services Management, 2005. - Chongquing, China (2005.06.13-2005.06.15)] Proceedings of ICSSSM

Fig. 1. The modeling procedure of an interorganizational workflow system

Fig. 2. Communication procedures in an interorganizational workflow system

In Fig. 2, it can be easily seen that the process P(cusfomer) shares five channels (order-A , Notification , Delivery , Invoice , and Payment ) with the process P(producer) , and the process P(producer) shares four channels ( Order - SupplierA , Order - SupplierB , Delivery - A and Delivery-B ) with the process P(supplier-A) and P(supplier- B ) . Formalization descriptions of the four processes are given as follows:

P(customer) = order - A(o).Notificution(b).[a = b].Delivery(c).

[c = u].lnvoice(d).[d = c].Payment(e)

P(producer) = order - A(a).(Order -SupplierA(b) + Order_SupplierB(c)).la = b].[a = c].Nutificution(d).

(Delivery_A(e) + Delivery-B(f)).[e = d] . [ f = dl.

Delivery(g).lnvoice(h).[h = e].[h = fl.Payment(i) , P(supplier- A) = Order-SupplierA(a).Deliver-A(b) , P(supp1ier - B ) = Order -SupplierB(a).Delivery-B(b). Thus, the overall workfiow system is the parallel

P(customer) I P(producer) I P(supp1ier - A ) I P(supp1ier- B ) b composition of four processes:

We use Pi-Calculus to describe the behavior of activities in Fig. 2. For example, we give the following descriptions of activities in P(cusromer) according to definition 3 to 5.

w Acrivity(Send -Order- Producer) = request - resource[ .

resource -id].START.ossigned - resource(resource- id).

Send - Order - Producer.release- resource[ resource-id].FlNlSH ,

d=f Activity(Receive - Notification) = request -resource[

resource-id].STARTassigned -resource( resource-id).wait - userlrole -id].Receive - Notification. release - resource[resource_id].FINISH ,

w Activity(Receive- Delivery - Producer) = request - resource[

resource - id].START.assigned -resource( resource- id). Receive - Delivery - Producer.release - resource[ resource - id].FlNISH ,

&f Activity(Receive- Invoice) = requesi- resource[

resource-id].STARTassigned -resource(resource-id).

wait - usedrole id].Receive - 1nvoice.release - resource[ resource -id] .FINISH ,

dd Activiiy(Pay) = request - resource[resource -id].START.

assigned - resaurce(resource - id).Pay.release - resource[ resource-id ].FINISH .

Due to space limitation, the specification of activities in three other processes is omitted. We also use Pi-Calculus to describe the communication of any two processes of the interorganizational workflow system. For example, we give the following descriptions of communications between “Customer” process and “Producer” process according to definition 6 to 1 1.

I f Activity(Send -Order - Producer) sends an order to Activity (Receive - Order - Producer) via the channel order-A , the communication process can be written as:

( v order-A)(star?.[order-A] I ([order - A/ start] AcfiviV(0rder - Producer) I [order- A/ srurtl Acfivity(Receive - Order - Producer)))

If Activity(Notify) sends a notification to Activity (Receive- Notification) via the channel hrorificution , the communication process can be written as:

( v Notification)(([ Nor$cutiun/ finish]Activity(Notify) f [Notification I finishlActivify (Receive-

Notiflcution)) I flfiish.[Notificution]) . _I

If Acrivity(Send-Delivery) sends a delivery to Activity (Receive- Delivery- Producer) via the channel Delivery, the communication process can be written as:

( v Delivery)(([Delivery/ finish]Activity(Send - Delivery) + [Delivery I finisk]Activity (Receive - Delivery - Producer)) I $nish.[Delivery]) -

_. 969 -

Page 5: [IEEE Proceedings of ICSSSM '05. 2005 International Conference on Services Systems and Services Management, 2005. - Chongquing, China (2005.06.13-2005.06.15)] Proceedings of ICSSSM

If Ac?ivity(Send-Invoice) sends a invoice to Activity (Receive- Invoice) via the channel Invoice , the communication process can be written as:

(v In~oice) ( ( [ lnvoice / f in ish]Acf iv i ty (Se~~~nvoice) + [Inwicel j%ish]Activity (Receive- invoice)) I finish.[Delively]) . -

If Activity(Puy) sends a payment to Activity (Receive- Payment) via the channel Puyment , the communication process can be written as:

( U P u y ~ e n t ) ( ( [ P u y ~ n t / f i n i s k ] A c t i v i t y ~ ~ # y ) +[ Paymentlfinish]Acrivity (Receive- Puymnt)) I finish.[Puymntj) . -

IV. CONCLUSIONS In this paper, we have presented a new formalizing

approach for modeling and controlling the execution of interorganizational business processes by Pi-Cdculus technique. This approach is well suited for sporadic communication in business-to-business electronic commerce systems, especially for rather loose cooperations across local and organizational borders. We consider further research issues on security between different electronic commerce systems, which must be considered on remote access acrosiorganizational boundaries.

ACKNOWLEDGMENT The work has been supported by the National High-Tech.

R&D Program for CIMS, China (No. 2003AA411021) and the National Natural Science Foundation, China (No.

60273056),

REFERENCES [fl W. van der Aalst, “Process-oriented Architectures for Electronic

Commerce and Interorganizational Workflow,” Information Systems, vol. 24, no. 8, pp. 639-671, 1999. K. Dimich and D. Tombros, “Workflow Management for the Vtrtual Enterprise.” Proc. of the htemational Process Technology Workshop, 1999 C. Fabio and D. Angela, “Supporting workflow cooperation within

and across organizations,” Proc. of the ACM symposium on Applied computing, 2000 K. Lenz and A. Oberweis, “Modeling Interorganizational Workflows with X M L nets,”Roc. of the 34th Hawaii International Conference on System Sciences. 2001

[5 ] M. X. Shen and D. R Liu, “Coordinating Interorganizational Worldlows Based on F’rccess-Views,” Lecture Notes in Computer Science, ~01.2113, no. 6, pp. 274-283,2001. G. DeSanctis, and P. Monge. Communication Processes for Vimal Organizations. Organization Science, vol. 10, no. 6, pp. 693-703, 1999.

171 W. Weigand and A. de Moor, “Workflow andysis with communication norms,” Data & Knowledge Enpeering, vol. 47, no. 3, pp. 349-369.2003. G. Salaun, L. Bordeaux, et al., “Describing and Reasoning on Web Services using Process Algebra,” Proc. of the International Conference on Web Services, 2004 S . 2. Liu and G. Angela, “A Formal Framework to Support Workflow Adaptation,” International Journal of Software Engineering and Knowledge Engineering, vol. 12, no. 3, pp. 245-268,2002.

[lo] R. Mitner, J. Parrow. et al., “A calculus for mobile processes, parts I and U, ” Journal of Information and Computation, vol. 100, no. 4, pp. 1-77, 1992.

[ 111 K. Barbara, A graph rewriting semantics for the polyadic pi-calculus, b. of International Workshop on Graph Transformation and Visual ModeIing Techniques, 2000.

[2]

I31

[4]

[6]

[8]

[9]

- 970 -