Open Petri Nets as Semantic Model for Workflow Integration⋆

2 downloads 0 Views 233KB Size Report
Mainstream software processes, like the Unified Process [13], propose UML class diagrams for modelling the integration of conceptual data models and activity ...
Open Petri Nets as Semantic Model for Workflow Integration Reiko Heckel University of Paderborn, Dept. of Mathematics and Computer Science D-33095 Paderborn, Germany [email protected]

Abstract. The integration of workflows of different enterprises requires to resolve conceptual inconsistencies which are best dealt with using a high-level modelling language. Languages like the UML provide dedicated notations for workflow modelling (e.g., by means of activity diagrams), but due to the lack of formal semantics, only little support for detecting and resolving inconsistencies can be provided. We propose open Petri nets as a suitable semantic model for workflows spanning different enterprises, and discuss the use of this model to formalise a notion of consistent evolution.

1 Introduction One of the major challenges for software engineering today is the integration of computerised business processes across organisational boundaries over the world wide web. Besides the integration of computational platforms and data formats, often conflicting conceptual models and workflows have to be reconciled and related. Thereby, technical, semantic, and administrative inconsistencies have to be resolved. This cannot be done by computer scientists alone but requires negotiation between domain experts, users, and managers of the different organisations. For this purpose, a language is needed which is abstract, so that it does not force to deal with low-level technical detail, intuitive, so that it is understandable to noncomputer scientists, and precise in order to allow to detect inconsistencies between the views of different enterprises and to support the implementation of the integration. Mainstream software processes, like the Unified Process [13], propose UML class diagrams for modelling the integration of conceptual data models and activity diagrams for specifying workflows [18]. Then, these models are used as requirements specification to drive the subsequent development and integration of applications through analysis, design, and implementation activities. The alternative approach of workflow management consists in the use of the workflow specification as an executable model interpreted by a workflow management system. Both interpretations of workflow models, as requirements specifications or executable models, benefit from a formal interpretation of the semantics of models, e.g., 

Research partially supported by the ESPRIT Working Group APPLIGRAPH (Applications of Graph Transformation).

H. Ehrig et al. (Eds.): Petri Net Technology ... , LNCS 2472, pp. 281–294, 2003. c Springer-Verlag Berlin Heidelberg 2003 

282

Reiko Heckel

i h1

f1 schedule

reserve Hotel

reserve Flight

s

cancel Hotel

h2

f2 can

cancel Flight

ack pay Hotel

h3

pay Flight

f3 join

HotelReservation

h4

o

f4

FlightReservation

Fig. 1. Workflows of hotel and flight reservation coordinated through travel agency

for analysis purposes. Rather than using “ad-hoc mathematics”, such a formalisation should be based on an established language which provides a semantic framework, e.g., for comparison of different approaches. For the workflow domain, Petri nets have been shown to be able to capture many of the typical patterns of behaviour and interaction [2, 3, 5]. Processes of Petri nets [12] provide a formal semantics which is particularly well-suited for the workflow domain, for two reasons. 1. It is truly concurrent. That means, it distinguishes between potentially simultaneous and interleaved execution of activities—a fact which is of high relevance for workflow models as witnessed, for example, by two different workflow patterns for interleaving and concurrency in [5]. 2. It is visual. That means, the history of a case (the execution of a workflow) can be shown in a similar notation that is also used for the specification. (Observe that concurrent executions (see above) are not faithfully represented by a linear simulation of the model, which is only able to show one particular trace at a time.) As an example for a Petri net modelling a workflow consider Fig. 1. It shows the planning of a trip by a travel agency. This includes the reservation of a flight and the booking of a room, two workflows which are performed by external organisations like an airline and a hotel. The travel agency is responsible for coordinating these workflows on behalf of the traveller. To support the integration of workflows across organisational boundaries, it is important that each organisation has a local view of the joint workflow (for integration with other local activities) and that a global view exists which contains all activities relevant for the coordinator. Moreover, the local and global views should be compatible, that is, the behaviour of each local view should reflect the possible influence of the behaviour

Open Petri Nets as Semantic Model for Workflow Integration

283

of the global view and, vice versa, the global behaviour should be obtained by a suitable combination of local behaviours. Such a compositional semantics shall allow the modeller to understand, execute, and change the local workflow of one enterprise without complete knowledge of the internals of the workflows of other enterprises [4, 1, 6]. Unfortunately, classical Petri net processes are not compositional in this sense, and existing compositional semantics for Petri nets do not consider processes, but other mathematical models like partial orders or traces [9, 17, 14, 15, 7]. Therefore, in [8] open Petri nets have been proposed as a compositional approach to Petri nets equipped with a semantics based on deterministic processes satisfying the above requirements. In this paper, we will give a light-weight introduction to the theory of open nets based on familiar set-theoretic notions (rather than categorical constructions). Below, in Section 2, we demonstrate the modelling of workflows across organisational boundaries with open nets and discuss their semantic interpretation in terms of deterministic open processes. Then, in Section 3, we discuss the problem of the decentralised evolution of workflow models and draw connections with the theory of graph transformation as one possibility to specify such evolutions in a rule-based way. Finally, we conclude with a discussion of related and future work.

2 A Compositional Approach to Petri Nets An open net is an ordinary P/T Petri net with a distinguished set of places which represent the interface of the net towards the environment. As a consequence of the (hidden, implicit) interaction between the net and the environment, some tokens can freely appear and disappear at the open places. To distinguish these cases, an open place can be either an input or an output place (or both), where the environment can put or remove tokens, respectively. 2.1 Open Petri Nets We assume the standard definition [20] of a place-transition Petri net N defined as a bipartite multigraph over disjoint sets of places S and transitions T . By σ, τ : T → S⊕ we denote the functions assigning to each transition its pre- and post-multiset, where X ⊕ is the set of finite multisets over a set X. The union of multisets A and B is denoted by A ⊕ B. Thus, a net is at the same time a hypergraph with places as vertices and transitions as hyperedges [16]. Sometimes we will find it convenient to use this hypergraph presentation. The powerset over X shall be denoted by 2X . Given a place s ∈ S, the pre- and post-set of s are defined by • s = {t ∈ T | s ∈ t • } and s• = {t ∈ T | s ∈ •t}. A net N0 is a subnet of N1 , denoted by N0 → N1 if T0 ⊆ T1 , S0 ⊆ S1 such that source and target functions σ0 = σ1 |T0 , τ0 = τ1 |T0 are defined by restriction of the corresponding functions of N1 to the smaller set of transitions. That means, the connections of a given transition in N0 are exactly the same as in N1 . Definition 1 (open net). An open net is a pair Z = (NZ , OZ ), where – NZ = (SZ , TZ , σZ , τZ ) is an ordinary P/T Petri net and − SZ SZ – OZ = (O+ Z , OZ ) ∈ 2 × 2 are the input and output open places of the net.

284

Reiko Heckel

i f1

h1 schedule

s

f2

h2 can ack h3

f3 join

h4

f4

o

Coordination

i

i h1

f1

h1

f1

schedule

schedule reserve Hotel

cancel Hotel

h2

f2

h2

f2

can

can

h3

h3

f3

pay Flight

f3 join

join h4

cancel Flight

ack

ack pay Hotel

re serve Flight

s

s

o

h4

f4

o

f4

FlightReservation

HotelReservation

i h1

f1 schedule

re serve Hotel

re serve Flight

s

cancel Hotel

h2

f2 can

cancel Flight

ack pay Hotel

h3

pay Flight

f3 join

h4

o

f4

TripPlanning

Fig. 2. Open nets and their composition − Observe that the sets O+ Z and OZ are not necessarily disjoint, hence a place can be both an input and an output open place at the same time. The open nets for hotel and flight reservation workflows of Fig. 1, including the coordinating workflow of the travel agency, are shown in the middle of Fig. 2. Ingoing and outgoing arcs without source or target designate the input and output places, re-

Open Petri Nets as Semantic Model for Workflow Integration

285

spectively. The travel agency workflow in isolation is represented by the open net in the top of the figure. The notion of enabledness for a transition (or multiset of transitions) of an open net is the usual one, but, besides the changes produced by the firing of transitions, we represent interactions with the environment by spontaneous actions producing/consuming tokens in input/output places of the net. The actions of the environment which produce and consume tokens in an open place s are denoted by +s and −s , respectively. Thus, if Z is an open net, a (sequential) firing step can be either (i) the firing of a transition, i.e., m ⊕ •t [t m ⊕ t •, with m ∈ SZ ⊕ , t ∈ TZ ; (ii) the creation of a token by the environment, i.e., m [+s m ⊕ s, with s ∈ O+ Z, m∈ SZ ⊕ ; (iii) the deletion of a token by the environment, i.e., m ⊕ s [−s m, with m ∈ SZ ⊕ , s ∈ O− Z. Embeddings of open nets are based on the notion of subnet. They formalise the idea of an “insertion” of a net into a large context where part of the unknown environment gets more specified. To capture this idea, we have to know for an inclusion of Petri nets N0 → N1 those places where the net N1 interferes with the context provided by N1 . Let in(N0 → N1 ) ⊆ S0 be the set of all places s0 of N0 such that there exists a transition t1 ∈ T1 \ T0 with s0 ∈ τ(t1 ). These are the places where context transitions my drop tokens, i.e., potential input places. Dually, out(N1 → N2 ) is the set of all places s0 of N0 such that there exists t1 ∈ T1 \ T0 with s0 ∈ σ(t). These are potential output places where context transitions may remove tokens. Definition 2 (open net embedding). An open net embedding Z1 → Z2 is a Petri net inclusion on the underlying nets N0 → N1 such that + (i) O+ 1 ∪ in(N0 → N1 ) ⊆ O0 and − ∪ out(N → N ) ⊆ O (ii) O− 0 1 1 0.

Conditions (i) and (ii) require that open places are reflected and hence that places which are “internal” in Z0 cannot be promoted to open places in Z1 . Furthermore, the context in which Z0 is inserted can interact with Z0 only through open places. As an example of open net embedding, consider the embedding of net Coordination into net FlightReservation of Fig. 2. Observe that the constraints characterising open nets embeddings have an intuitive graphical interpretation: – The connections of transitions to their pre-set and post-set have to be preserved. New connections cannot be added; – In the larger net, a new arc may be attached to a place only if the corresponding place of the subnet has a dangling arc in the same direction. Dangling arcs may be removed, but cannot be added in the larger net. For instance, without the outgoing dangling arc from place h1 in net Coordination (i.e., if place h1 were not output open) the embedding into HotelReservation in Fig. 2 would have not been a legal open net embedding. Open net embeddings form a special case of open net morphisms [8]. In particular, they are closed under composition, and they induce a projection of the behaviour of the larger net onto the smaller one. This fact is made precise in the next subsection in terms of deterministic processes of open nets.

286

Reiko Heckel

2.2 Deterministic Processes of Open Nets A deterministic process represents a unique concurrent computation of a Petri net [12]. In analogy to ordinary deterministic processes, a deterministic process of an open net Z is given by a Petri net K, called occurrence net and satisfying suitable acyclicity and conflict freeness requirements, together with a mapping π : K → Z to the original net Z. The idea is that each place of the occurrence net K represents a token occurrence, and each transition of K represents a firing of a transition in Z. Therefore, a place may be in the post-set of at most one transition, i.e., the firing who generated the corresponding token. This is called absence of backward conflicts. Dually, absence of forward conflicts means that each place is in the pre-set of at most one transition. Otherwise this place would represent a branching point which would violate the idea of a deterministic computation. Formally, an open occurrence net is an open net K such that NK is an a deterministic occurrence net [12] which satisfies the following additional conditions for open places. The open places in K are intended to represent tokens which are produced/consumed by the environment in the considered computation. Consequently, every input open place is required to have an empty pre-set, i.e., to be minimal with respect to the causal order. In fact, an input open place in the post-set of some transition would correspond to a kind of generalised backward conflict: a token on this place could be generated in two different ways and this would prevent us to interpret the place as a token occurrence. Analogously, each output open places must be maximal with respect to the causal order, i.e., an output open place cannot be in the pre-set of any transition. In fact, an output open place s which is in the pre-set of a transition t represents a token occurrence which can be consumed either by the environment or by transition t. The class of all deterministic processes over an open net Z is denoted by Proc(Z). In order to simplify the notation, in the following we will sometimes identify a process K, π with the mapping π. Processes for the open nets in Fig. 2 are shown in Fig. 3. The mappings back to the original nets in Fig. 2 are implicitly represented by the labeling of places and transitions of the occurrence nets. Observe that the requirement that each input place is minimal and each output place is maximal w.r.t. to the causal order of the process has a natural graphical interpretation: the absence of backward and forward conflicts extends to dangling arcs, i.e., in total, each place may have at most one ingoing and one outgoing arc. Let Z0 → Z1 be an open net embedding. As mentioned before each process of Z1 can be projected to Z0 by considering only that part of the computation which is visible in the smaller net. This projection π1 to Z0 yields a process π1 |Z0 = π0 : K0 → Z0 whose open places are determined by taking the smallest sets of open places which makes the inclusion K0 → K1 an open net embedding, namely + – O+ K0 = OK1 ∪ in(K0 → K1 ) − – OK0 = O− K1 ∪ out(K0 → K1 )

The embedding of Coordination into HotelReservation in Fig. 2 induces a projection of open net processes. For instance, the left part of Fig. 3 shows a process of HotelReservation. Its projection to the net Coordination is shown in the left and upper part of the same figure. Notice how transition cancelHotel, which consumes a token from place h2,

Open Petri Nets as Semantic Model for Workflow Integration

287

i h1

f1 schedule

s

s

s

h2

f2 can o

Coordination

i h1

i

f1

h1

schedule

reserve Hotel

cancel Hotel

f1 schedule

s

s

s

s

s

s

h2

f2

re serve Flight

h2

f2

can

can

o

o

HotelReservation

cancel Flight

FlightReservation

i h1

f1 schedule re serve Flight

s

s

re serve Hotel

s

cancel Hotel

h2

f2 can o

cancel Flight

TripPlanning

Fig. 3. Open deterministic processes and their amalgamation

is replaced in the projection by a dangling output arc: an internal action in the larger net becomes an interaction with the environment in the smaller one. 2.3 Composing Open Nets In this section we introduce a basic mechanism for composing open nets. It is based on the gluing of two nets sharing a common subnet that represents the intended overlap.

288

Reiko Heckel

Consider, for instance, the open nets for the local workflows HotelReservation and FlightReservation in the middle of Fig. 2. The two nets share the subnet Coordination depicted in the top of the same figure, which represents the “glue” between the two components. The net TripPlanning resulting from the composition of HotelReservation and FlightReservation over the shared subnet Coordination is shown in the bottom part of Fig. 2. This composition is only defined if the embeddings of the components into the resulting net satisfy the constraints of open net embedding. For example, if we remove the outgoing dangling arc of the place h1 in the net FlightReservation, the embedding of Coordination into Airline would still represent a legal open net embedding. However, in this case the embedding of FlightReservation into TripPlanning would become illegal because of the new arc from h1 to reserveHotel (cf. condition (i) of Definition 2). Next we formalize the conditions under which the construction is defined and the way the open places for the composed net are determined. Definition 3 (composable nets). Two open nets Z1 and Z2 are called composable if their intersection Z0 = Z1 ∩ Z2 is defined, such that Z1 ← Z0 → Z2 are open net embeddings and − 1. in(Z0 → Z1 ) ⊆ O+ Z2 and out(Z0 → Z1 ) ⊆ OZ2 ; + 2. in(Z0 → Z2 ) ⊆ OZ1 and out(Z0 → Z2 ) ⊆ O− Z1 .

Conditions 1 and 2 mean that places which are used as interfaces by Z1 , namely the places in(Z0 → Z1 ) and out(Z0 → Z1 ), are input and output open places in Z2 , and symmetrically. If these condition are satisfied the composition of Z1 and Z2 is defined as follows. [composition of open nets] Let Z1 , Z2 be composable open nets and Z1 ← Z0 → Z2 be the corresponding embeddings. Then, the composition of Z1 and Z2 , denoted by Z3 = Z1 ⊕ Z2 , is computed by forming the union of the underlying nets of Z1 and Z2 , and then taking as open places, for x ∈ {+, −}, OxZ3 = {s3 ∈ S3 | s3 ∈ S1 ⇒ s3 ∈ OxZ1 ∧ s3 ∈ S2 ⇒ s3 ∈ OxZ2 }. Thus, the open places of Z3 are determined in the most permissible way that is consistent with the constraints imposed by Z1 and Z2 (i.e., such that the conditions for open net embeddings are satisfied). In [8] this construction is formalised as a pushout of open net morphisms. Such axiomatic characterisation of the idea of a union allows to apply this concept to more sophisticated structures (like nets) while abstracting from “implementation issues” like name handling. In fact, category-theoretic constructions, like the pushout, are only defined up to isomorphism (consistent renaming) of structures. In our presentation, which is set-theoretic in flavour, we implicitly assume renaming of places and transitions whenever appropriate, relying on [8] for the consistency of this assumption. 2.4 Amalgamating Deterministic Processes For a composition of nets like in Fig. 2, we would like to establish a relationship between the behaviours of the involved nets: The processes of the composed net should

Open Petri Nets as Semantic Model for Workflow Integration

289

be constructed by merging matching pairs of local processes. Given two deterministic processes π1 of Z1 and π2 of Z2 which agree on Z0 in the sense that they could be seen as two local views of the same global computation, we construct a deterministic process π3 of Z3 by amalgamating π1 and π2 . Vice versa, each deterministic process π3 of Z3 shall be projected to deterministic processes π1 and π2 of Z1 and Z2 , respectively, which can be amalgamated to produce π3 again. Since processes are essentially open nets (subject to some additional constraints and equipped with a mapping to another net), the amalgamation of processes is based on the composition of these occurrence nets. [8] identifies a condition which ensures that the composition of occurrence nets is defined and produces a net in the same class: Two open nets K1 , K2 are consistent if they are composable in the sense of Def. 3 such that the composed net K1 ⊕ K2 is an open deterministic occurrence net (that is free of conflicts and cycles). Given a composed net Z3 = Z1 ⊕ Z2 of open nets Z1 and Z2 over Z0 , two deterministic processes π1 : K1 → Z1 and π2 : K2 → Z2 agree on Z0 if π1 |Z0 = π2 |Z0 = K0 , π0 , that is, their projections to Z0 coincide, and the corresponding occurrence nets K1 and K2 are consistent. In this case, the two processes can be amalgamated to a process π3 = π1 ⊕ π2 : K3 → Z3 given by the composed occurrence net K3 = K1 ⊕ K2 together with the mapping π3 = π1 ∪ π2 obtained as the union of the given process mappings. For processes P1 over Z1 and P2 over Z2 , we denote by P1 ⊕ P2 the set {π1 ⊕ π2 | πi ∈ Pi and π1 , π2 agree on Z0 }. In [8] it is shown that each deterministic process π3 of the composed net Z3 can be decomposed into processes π1 and π2 over Z1 and Z2 , respectively, such that π1 and π2 agree on Z0 . Moreover, amalgamation and decomposition of processes are inverse to each other, up to isomorphism of processes. That means, the set of processes of Z3 can be computed from the processes of Z1 and Z2 . Theorem 4 (amalgamation). Let Z1 and Z2 be composable open nets with intersection Z0 . Then, up to isomorphism of processes, Proc(Z1 ⊕ Z2 ) = Proc(Z1 ) ⊕ Proc(Z2 ). This construction, called the amalgamation theorem in [8] is exemplified in Fig. 3. Two processes for the component nets HotelReservation and FlightReservation which agree on the shared subnet Coordination can be amalgamated to produce a process for the composed net TripPlanning. Vice versa, each process of the net TripPlanning can be reconstructed as amalgamation of compatible processes of the component nets.

3 Evolution of Workflows Based on Open Nets One fundamental problem of workflow modelling and management is the handling of evolution of workflows [4]. In particular, if the evolution is not centralised, as it is typical with workflows where more than one organisation is involved, we cannot assume that a single authority exists which could ensures consistency after a change. Following [1], in this section we approach this problem by requiring local evolution steps to be performed in such a way that the coordinating workflow does not notice a change in behaviour. This idea is formalised by means of a notion of equivalence of open nets over a common view.

290

Reiko Heckel

f1 f1

reserve Flight

s

select Flight

check availability

s reserve reschedule

f2

cancel Flight

f2

pay Flight

f3

f4

FlightReservation

cancel Flight

pay Flight

f3

f4

FlightReservation‘

Fig. 4. Replacing a local workflow by an equivalent one

3.1 Simulation and Equivalence of Open Nets A workflow can be replaced or implemented by another one if, in the given context, their behaviours cannot be distinguished from each other. Modelling workflows in context with open nets, this idea can be formalised as a notion of semantic equivalence of two nets Z1 and Z2 from the point of view of a shared subnet Z0 representing the common context. Definition 5 (simulation and equivalence). Assume open nets Z1 and Z2 , and let Z0 = Z1 ∩ Z2 . Then, we say that Z1 is simulated by Z2 (over Z0 ) if, for each process π1 of Z1 with projection π1 |Z0 = π1 , there exists a process π2 of Z2 with projection π2 |Z0 = π2 such that p1 and p2 are isomorphic. The two nets are called equivalent (over Z0 ) if Z1 is simulated by Z2 and vice versa. Fig. 4 provides an example where the net FlightReservation which represents an abstract view of the workflow, is replaced by a slightly more detailed version which allows iterations of flight selection and trip rescheduling, if no suitable flight is available at the time scheduled. Both nets are equivalent over the shared context, a fragment of the Coordination net. 3.2 Consistent Evolution The notion of equivalence of nets allows to replace component nets with equivalent ones in a given context. Using our composition operator, this replacement shall now be lifted to the global workflow. This requires that, after the evolution, the new local components are still composable. Consider once again our trip planning example. The refinement of the FlightReservation net can be embedded into the global net TripPlanning leading to the net TripPlanning’ in Fig. 5. Composability of the new component net FlightReservation’ with the other local component is ensured because in(Coordination → FlightReservation’) ⊆ in(Coordination → FlightReservation)

Open Petri Nets as Semantic Model for Workflow Integration

i

i h1

h1

f1

f1 schedule

schedule reserve Hotel

reserve Flight

s

cancel Hotel

h2

f2 can

reserve Hotel

h2

h3

h4

f2 can

cancel Flight

ack pay Flight

f3

pay Hotel

h3

pay Flight

f3 join

join

HotelReservation

check availability

reserve reschedule cancel Hotel

cancel Flight

select Flight

s

ack pay Hotel

291

o

f4

FlightReservation

HotelReservation

h4

o

f4

FlightReservation‘

Fig. 5. Evolution of global workflow and analogously for out(Coordination → FlightReservation’) That means, the new component does not require any “access rights” beyond those already granted to the old one. As a result, evolution steps can be performed locally as long as the local workflows before and after the evolution are equivalent from the point of view of the context they are embedded in and the required input and output places are not extended. The interaction of the new components among each other (and with old components) follows the same protocol like before the evolution. 3.3 Towards Rule-Based Evolution The replacement of the open net FlightReservation by FlightReservation’ within the TripPlanning workflow in Fig. 5 could be seen as the application of a rewrite rule like in Fig. 4. Rules for transforming Petri nets have been considered, for example, in [19] in the framework of high-level replacement systems [10], a categorical generalisation of the double-pushout (DPO) approach to graph rewriting which includes, beside other structures, hypergraphs. A transformation rule in the DPO approach (cf. Fig. 6 on the left) is a triple of graphs L ← K → R where L represents a pattern for the structure to be rewritten, R is the replacement for L, and L = L ∩ R specifies the intended intersection. A transformation consists of three steps, the matching of the left-hand side L with the structure G to be transformed, the removal of the image of L \ R in G and the gluing of the resulting structure D with R over the shared structure K. Think of these structures as open nets and of the mappings involved as open net embeddings (suitably generalised to allow renaming of places and transitions). Then, the gluing of D and R over K corresponds to a composition of open nets, while the removal of L \ R represents a decomposition of G into L and D, so that L ⊕K D = G. This idea of deletion as inverse of gluing is classical for the DPO approach to graph transformation [11]. It requires a so-called gluing condition which ensures that the given structure G can indeed be decomposed into L and D such that their gluing over K leads again to G. In the case of open nets (which are essentially hypergraphs) this would mean that a place (vertex) may only be removed if it is not connected to a transition (hyperedge), or if all connected transitions are removed as well. Moreover, on the righthand side, we have to make sure that the composition of D and R over K is exists, that

292

Reiko Heckel

L

K

R

Flight Reservation

FR ∩ FR‘

Flight Reservation‘

G

D

H

Trip Planning

Coordination

Trip Planning‘

Fig. 6. DPO Transformation of open nets

is, D and R should be composable in the sense of Def. 3. This can be done by requiring, like in the previous subsection, that the required input and output places of R are subsets of those of L, so that no extra permissions are required. In this way, the extension of the local evolution from FlightReservation by FlightReservation’ to the global TripPlanning workflow can be seen as a DPO transformation. Now, the most interesting question is the equivalence of the given and derived nets assuming that the left- and right-hand sides of the rule are equivalent. More formally, given a transformation like in Fig. 6, we would like that, if L and R are equivalent over K, G and H are equivalent over D. Under which side conditions this is a case is a question of future work.

4 Conclusion In this paper, we have presented an approach to the modelling of workflows across organisational boundaries based on open Petri nets. Some of the notions, in particular in the previous section, are motivated by work on workflow integration based on inheritance of workflow specifications [4, 1]. The approach uses branching bisimilarity of workflow nets to formalise the equivalence of two nets from the abstract point of view of a coordinator. It also defines transformation rules for constructing equivalent nets representing subclasses. Branching bisimilarity provides an established model of concurrency including a variety of theoretic concepts and results, e.g., for compositionality and analysis. It may be used to compare and relate a Petri net-based workflow language with other formal methods, like process algebras. However, in contrast with deterministic processes, branching bisimilarity does not provide a truly-concurrent semantics. That means, it is not able to distinguish between the interleaved execution of reserveHotel and reserveFlight on the one hand and the concurrent execution of payHotel and payFlight on the other hand. As stated in the introduction, we believe that the visual semantics provided by processes provides means for the visualisation of cases which is also accessible to non-experts. Finally, we prefer the visual specification of evolution rules, following concepts of graph transformation, over the set-based, textual description in [4].

Open Petri Nets as Semantic Model for Workflow Integration

293

References [1] W. M. P. van der Aalst and K. Anyanwu. Inheritance of interorganizational workflows to enable business-to-business E-commerce. In Proceedings of the Second International Conference on Telecommunications and Electronic Commerce (ICTEC’99), pages 141–157. Nashville, Tennessee, October 1999. 283, 289, 292 [2] W. M. P. van der Aalst. The application of Petri nets to workflow management. The Journal of Circuits, Systems and Computers, 8(1):21–66, 1998. 282 [3] W. M. P. van der Aalst. Interorganizational workflows: An approach based on message sequence charts and Petri nets. Systems Analysis - Modelling - Simulation, 34(3):335–367, 1999. 282 [4] W. M. P. van der Aalst and T. Basten. Inheritance of workflows: An approach to tackling problems related to change. Computing Science Reports 99/06, Eindhoven University of Technology, 1999. 283, 289, 292 [5] W. M. P. van der Aalst, A. P. Barros, A. H. M. ter Hofstede, and B. Kiepuszewski. Advanced workflow patterns. In Conference on Cooperative Information Systems, pages 18–29, 2000. 282 [6] W. M. P. van der Aalst and M. Weske. The P2P approach to interorganizational workflows. In K. R. Dittrich, A. Geppert, and M. C. Norrie, editors, Proc. 13th Intl. Conference on Advanced Information Systems Engineering (CAiSE 2001), Interlaken, Switzerland, June 2001, volume 2068 of LNCS, pages 140–156. Springer-Verlag, 2001. 283 [7] T. Basten. In terms of nets. PhD thesis, Eindhoven University of Technology, The Netherlands, 2000. 283 [8] P. Baldan, A. Corradini, H. Ehrig, and R. Heckel. Compositional modeling of reactive systems using open nets. In Proc. CONCUR 2001, Aarhus, Denmark, volume 2154 of LNCS, pages 502–518. Springer-Verlag, August 2001. Full version available at ftp://ftp.di.unipi.it/pub/techreports/TR-01-21.ps.Z. 283, 285, 288, 289 [9] E. Best, R. Devillers, and J. Hall. The Box Calculus: a new causal algebra with multi-label communication. In Advances in Petri Nets, pages 21–69. LNCS, 1992. 609. 283 [10] H. Ehrig, A. Habel, H.-J. Kreowski, and F. Parisi Presicce. Parallelism and concurrency in high-level replacement systems. Math. Struct. in Comp. Science, 1:361–404, 1991. 291 [11] H. Ehrig, M. Pfender, and H. J. Schneider. Graph grammars: an algebraic approach. In 14th Annual IEEE Symposium on Switching and Automata Theory, pages 167–180. IEEE, 1973. 291 [12] U. Golz and W. Reisig. The non-sequential behaviour of Petri nets. Information and Control, 57:125–147, 1983. 282, 286 [13] I. Jacobson, G. Booch, and J. Rumbaugh. The Unified Software Development Process. Addison Wesley, 1999. 281 [14] E. Kindler. A compositional partial order semantics for Petri net components. In P. Azema and G. Balbo, editors, Application and Theory of Petri Nets, volume 1248 of LNCS, pages 235–252. Springer-Verlag, 1997. 283 [15] E. Kindler, A. Martens, and W. Reisig. Inter-operability of workflow applications: Local criteria for global soundness. In W. M. P. van der Aalst, J. Desel, and A. Oberweis, editors, Business Process Management: Models, Techniques, and Empirical Studies, volume 1806 of LNCS, pages 235–253. Springer-Verlag, 2000. 283 [16] J. Meseguer and U. Montanari. Petri nets are monoids. Information and Computation, 88(2):105–155, 1990. 283 [17] M. Nielsen, L. Priese, and V. Sassone. Characterizing Behavioural Congruences for Petri Nets. In Proc. CONCUR’95, LNCS 962, pages 175–189. Springer-Verlag, 1995. 283

294

Reiko Heckel

[18] Object Management Group. UML specification version 1.4, 2001. http://www.celigent.com/omg/umlrtf/. 281 [19] J. Padberg, H. Ehrig, and L. Ribeiro. Algebraic high-level net transformation systems. MSCS, 2:217–256, 1995. 291 [20] W. Reisig. Petri Nets, volume 4 of EATCS Monographs on Theoretical Computer Science. Springer-Verlag, 1985. 283