A Structural Approach to Dynamic Migration in Petri Net Models of Structured Workflows

04/07/2020
by   Ahana Pradhan, et al.
IIT Bombay
0

In the context of dynamic evolution of workflow processes, the change region identifies the part of the old process from which migration to the new process is guaranteed to be inconsistent. However, this approach may lead to overestimated regions, incorrectly identifying migratable instances as non-migratable. This overestimation causes delays due to postponement of immediate migration. The paper analyzes this overestimation problem on a class of Petri nets models. Structural properties leading to conditions for minimal change regions and overestimations are developed resulting into classification of change regions into two types of change regions called Structural Change Regions and Perfect Structural Change Regions. Necessary and sufficient conditions for perfect regions are identified. The paper also discusses ways for computing the same in terms of structural properties of the old and the new processes.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 15

09/24/2019

Structural Change Analysis of Active Cryptocurrency Market

Structural Change Analysis of Active Cryptocurrency Market...
01/12/2013

Dynamic Transparent General Purpose Process Migration For Linux

Process migration refers to the act of transferring a process in the mid...
06/11/2019

Microservices Migration in Industry: Intentions, Strategies, and Challenges

To remain competitive in a fast changing environment, many companies sta...
02/20/2020

E2E Migration Strategies Towards 5G: Long-term Migration Plan and Evolution Roadmap

After freezing the first phase of the fifth generation of wireless netwo...
08/31/2005

Component Based Programming in Scientific Computing: The Viable Approach

Computational scientists are facing a new era where the old ways of deve...
12/02/2017

Taming Adversarial Domain Transfer with Structural Constraints for Image Enhancement

The goal of this work is to clarify images of traffic scenes that are de...
07/18/2018

Melanoma Recognition with an Ensemble of Techniques for Segmentation and a Structural Analysis for Classification

An approach to lesion recognition is described that for lesion localizat...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction

Business processes represent complex flows of tasks achieving business goals of organizations. Examples of software assisted business processes are those for opening bank accounts, for obtaining passports and visas, and for obtaining travel bookings. At any point of time, many instances of such processes may be active in the business. Use of process aware information systems is aimed at offloading much of the manual operations of process creation, instance creation, monitoring, resource management, exception handling and design improvements. Examples of such systems are the BPM system from Oracle [7], jBPM from JBoss [8], and YAWL [18].

In such process automation systems, dynamic evolution of a process becomes a challenge when many instances of the evolving process are active and partially completed. The most significant challenge faced by such automation is to compute a consistent state of the instance in the new process such that the new state (state after migration) is acceptable in the business process as equivalent to the old one. If such a migration is not possible at a particular state of the instance, the migration is held up till such a state is reached. This problem of identifying non-migratable states is addressed by identifying the regions in the old net, which cover all the non-migratable states. These regions are called change regions, which were conceptualized in the works of Ellis et al. [2] and Van der Aalst [21]. States of the instances that do not overlap with the change region are migratable, and are non-migratable otherwise. The earlier approaches to compute change regions [21], [17] do not result in false-positives that are underestimates, which identify an unsafe regions to be safe. However, as noted in [21], and [1], they do suffer from false-negatives that are overestimates, which identify a safe region to be unsafe.

In this paper, we explore this notion of change region further by showing the cases in which it can be optimally computed without incurring false negatives. Our work carries out an extensive characterization of the notion of change region in the context of dynamic workflow evolution, coming up with identification of two types of change regions called Structural Change Regions (SCR) and Perfect Structural Change Regions (PSCR). The characterization of the two type of change regions and their computations are developed in terms of set operations based on a series of structural properties and lemmas. However, it is shown that PSCR may not exist in certain change situations. The necessary and sufficient conditions for the existence of the PSCR are identified. The approach of PSCR is also compared with the existing change region approach in the literature.

I-a Preliminaries: Petri Nets for Modeling Workflows

Fig. 1: A Simple BPMN process and its WF-net

A class of Petri nets called WF-nets (Workflow nets) have been used in the paper to model workflows. First we informally discuss how the control-flow of a business process is modeled using Petri net with the help of an example as shown in Fig. 1. The figure depicts a BPMN model for railway ticket booking process, for which the corresponding WF-net is also given. A WF-net consists of places (circles), transitions (bars or boxes), and arcs. Transitions are mapped to activities/tasks/events, and places model local conditions that serve as pre-/post-conditions for the tasks. This structure can model dynamics of discrete event-based systems when tokens (dot) mark places. The set of all marked places make up a marking in the net, which explicitly represents the current state of the modeled system. A transition is enabled when all its pre-places are marked. An enabled transition fires by consuming one token from of its pre-places and by producing one token to each of its post-places, thereby changing the marking. A firing sequence or a trace is a sequence of transition firings from one marking to another. In Fig. 1, a token in place train selected & captcha available describes one instance, in which the user has selected a train and the captcha is yet to be typed. The choice conditions correct and incorrect in the BPMN model is captured as a non-deterministic XOR fork in the WF-net control-flow architecture. This process model consists of only sequential and XOR fork/join control-flow constructs. Loops, AND fork/join etc. are examples of some other frequently occurring constructs in workflow modeling.

I-B Existing Approaches to Change Region

The foundational researches on change regions consider Petri net models of workflows. As noted earlier, a state in a workflow is modeled by a marking in the corresponding WF-net. Consequently, the same set of marked places in two nets can be considered to be two equivalent states. The earlier approaches to change regions follow this notion of state-equivalence.

I-B1 Computation of Change Region: Minimal-SESE Change Regions

The earliest notion of change region was proposed by Ellis et al. [2], though the computational aspect of it was not incorporated. The change region for transfer validity was introduced by Van der Aalst [21] on WF-net workflow model, defining the unsafe region for migration as the dynamic change region. In this approach, a change region is a connected subnet of the old net, which is the minimal Single-Entry-Single-Exit (SESE) region covering the structural changes. The minimal-SESE change regions introduced in [21] were motivated by the argument that they can be abstracted as transitions in both the old and the new net covering the structural and behavioral difference so that the rest of the nets are structurally and behaviorally the same. Sun et al. [17] present a variation of the change region generation algorithm given by Van der Aalst aiming at reducing the extent of the change region given in [21].

I-B2 Adoption of Minimal-SESE Change Regions in the Literature

Several other approaches use the minimal SESE change region approach. Cicirelli et al. [1] adopted the minimal-SESE change regions for decentralized dynamic evolution, where the workflow is executed in a distributed environment. Hens et al. [6] also adopt the approach of Van der Aalst to perform dynamic migration in each of the process fragments in a single location for distributed process evolution. The change region computation in their approach is performed on BPMN process models. Gao et al. [4] compute the SESE change region in SNS (special net structure) workflow models by step-wise abstraction of workflow fragments by a set of reduction rules [3]. Zou et al. [23] have applied the SESE change region approach to workflow graph models, which are derived from the refined process tree of the workflow graphs [22]. Sun et al. [17] point out that when it is required to find out a marking in the new net that has the same trace (firing sequence) as that of the given old marking, the minimal-SESE change region can be used to improve the efficiency to verify the trace equality between the markings.

I-B3 The Problem of Overestimates in the Earlier Approach

Fig. 2: Overestimation in Minimal-SESE Change Region: for Transition Replacements
Fig. 3: Overestimation in Minimal-SESE Change Region: for change from XOR to Loop

In the minimal-SESE approach, a change region is composed of places, transition and arcs. The change region generation algorithm as given by Van der Aalst in [21] gives an overestimation of non-migratability as pointed out in the same paper. The example of this case is reviewed in Fig. 2. In the figure, net (a) is the old net. Transitions , and are replaced by , and respectively giving the new net as shown in net (b). The corresponding reachability graphs are depicted in Figs. 2(c)-(d). It can be observed that, though the transitions among states are different in the new state-space as compared to the old, the states or the markings in both the graphs are the same. In other words, every old state is a valid state in the new net. Hence, every marking in the old net is migratable.

The approach starts with computing the static change region, which is composed of all the net elements (places and transitions) involved in the arcs that are present in only one of the nets but not in both. Arcs , , , , and in net (a) are such arcs. The resultant static change regions cover two subnets is shown by dotted boundaries in the figure. It consists of net elements , , , , , , and from the old net. Since the structural difference is not sufficient to isolate all the behavioral differences, a dynamic change region is defined as the minimal SESE-region (Single Entry Single Exit region) covering a static change region. Such a SESE-region ensures exactly the same state-space outside the change region. For example, for the above nets in Fig. 2, the dynamic change region (shown as dashed boxes) additionally includes places , , , and , besides the places , , and in the static change region. However, the above type of change regions may include overestimates since structural changes may not result in changes in the reachable markings, which is shown in Fig. 3.

Moreover, in their approach, an improved minimal change region is obtained by discarding the boundary places. For this example, it excludes and from the dynamic change region. However, even after discarding the boundary places, the cases of false negatives are not completely eliminated. An example of overestimation in improved change regions is given in Fig. 3, in which, an XOR-block is changed into a loop-block. All the markings in the old net are migratable based on validity though the behavior of token flow is changed. Hence the entire change region is an overestimation.

The algorithm for change node generation as given by Sun et al. [17] also suffers from overestimation since the change region that it generates is same. Cicirelli et al. [1] later point out that the algorithm in [17] does not improve the change region over the earlier minimal-SESE approach.

I-C Our Approach

Our approach to change region focuses on how the markings in the old net are changing, which leads to investigation of concurrency conflicts. Keeping non-migratability w.r.t. transfer validity at the core, the paper characterizes various properties at place level (place properties) and at net/subnet level (region properties) and then constructs Lemmas based on them to result in computation of the two kinds of change regions. The contributions are identified in Fig. 4.

Fig. 4: Contributions

I-C1 Place Properties and Region Properties

As depicted in the figure, place properties are of two kinds: Change properties and Member properties. Change properties capture the change in concurrency in the net due to a given place. Concurrency may change due to reasons such as removal of the place or loss or acquisition of concurrency.

Member properties indicate the contribution of the place to change region, which can either be as an overestimate causing false-negatives, or as a perfect member fully contributing to non-migratability. An overestimated place is involved in both migratable and non-migratable markings. A place that is a perfect member is always involved in only non-migratable markings.

Region properties are about nets or subnets and not about individual places. The definitions of SCR and PSCR fall under this category.

Using the above place properties and region properties, lemmas are to show (i) constructibility of SCR in terms of overestimation and perfect members (Lemma 2), (ii) necessary and sufficient condition of existence of PSCR (Lemma 3), (iii) necessary and sufficient condition for a place to be a perfect member (Lemma 4), and (iv) necessary and sufficient condition for a place to be an overestimation (Lemma 5). Lemma 2, 3, 4 and 5 are used in computation of PSCR and SCR.

I-C2 The C-tree Structure

We use C-tree structures and the notion of Generator of Concurrent Submarking (GCS) introduced earlier by us in [14]. C-trees are built out of nets by capturing only the concurrency aspect of the nets and by removing the rest of the information in the net. Given a place, GCS extracts its peer concurrent part in the C-tree.

The following new properties are developed on C-trees to provide computational means to assert place properties concerning migratability. Marking Preserving Embedding (MPE) between two C-trees ensures full-migratability between the corresponding nets. Dysfunctional tree and Break-off set assist in identifying perfect members.

Consequently, the C-tree structure has been used as a basic structure in computations that make region sets out of these places. For a given a pair of nets in terms of C-tree structures, the condition for existence of non-migratability is provided by Lemma 1. The lemma thus gives the pre-condition for computing the change regions.

I-D Organization

The rest of the paper is organized as follows. Section II describes the background on WF-nets, defines the scope of block-structured WF-nets used in the paper, the notion of consistency, and the use of change region in dynamic migration. Section III develops the C-tree structure and the properties defined on it for use in the rest of the paper. Section IV develops the change properties of places. Section V discusses the member properties and the related lemmas. Section VI develops the region properties and the related lemmas, discusses computation of SCR and PSCR. It also brings out the utility of the approach showing improvement over the earlier approach of minimal-SESE regions through an example case.

Net Pnet
Pnet Place
Pnet Trans Place
Pnet Trans loop Trans Pnet
Pnet Trans and Trans Pnet
Pnet xor Pnet
Tnet Trans Trans Pnet Trans
loop { Pnet } { Tnet }
xor [ Tnet ] [ Tnet ]
[ Tnet ] xor
and ( Pnet ) ( Pnet )
( Pnet ) and
Fig. 5: ECWS Grammar

Ii Background

This section provides the background of Workflow nets, marking reachability, consistency and change region.

Ii-a WF-nets

This section briefly reviews the formal definition of Workflow nets (WF-nets) as founded by Van der Aalst [20].

The structure of a WF-net is defined as a tuple , where is a finite set of places, is a finite set of transitions, and is a finite set of arcs. The properties of WF-nets is reviewed below:

  • Unique Source: is the only source place. The source place is identified by condition .

  • Unique Sink: is the only sink place. The sink place is identified by condition

  • Connectedness: Apart from the source place and the sink place , all other places and all transitions appear on at least one directed path from to .

  • Unique Initial Marking: One token in the source place gives the initial marking .

  • Unique Terminal Marking: When the token reaches the sink place, all other places are in unmarked state.

  • Behavioral Well-formedness: (i) No Dead Transition: Every transition can be fired from some marking reachable from (ii) Proper Termination: Every marking reachable from through a firing sequence eventually reaches terminal marking.

    Set gives the set of markings reachable from a given marking . Therefore, is the valid set of markings in the corresponding WF-net.

WF-nets are safe nets, i.e. no marking that is reachable from the initial marking marks a place in the net with more than one token. Consequently, in every possible marking in the net-dynamics, a place can hold only one token at most. Mathematically, a marking is often represented as a column matrix, where the number of rows is equal to the total number of places in the given net; the elements corresponding to the marked places are and the elements corresponding to the unmarked places are zero. For example, the marking shown in Fig. 1 is . However, in this paper, we stick to the traditional definition of marking in a net, which describes marking as a set of marked places. It is a more generic mathematical form than implementation-friendly matrix-form. For the marked net in Fig. 1, the marking is {train selected & captcha available}.

Ii-B Block-Structured WF-nets

The theory developed in this paper are applicable to all structured workflow process models composed of sequence flows, choices, concurrent branching, and loops. Block-structured nets have been noted to cover a large portion of the business process logics [20]. In our analysis on migratability, the old and the new workflows modeled as WF-nets are assumed to be well-formed, i.e. they are assumed to be constructible through a structured composition grammar. For our purpose, the Extended Compact Workflow Specification (ECWS) grammar [14] as enlisted in Fig. 5 is followed. ECWS uses labels for places and transitions, and bracketed enclosures as block delimiters to express the logic of concurrency, exclusive-choice and loops.

(a) (b)
(c) (d) )
(e) (f)
Fig. 6: ECWS Specification Examples

Fig. 6 presents examples of workflow models specified in ECWS. Figs. 6 (a)-(f) respectively show a (a) simple sequence, (b) parallel fork-join block inside a sequence, (c) simple choice-block, (d) nested parallel fork-join block with an inner parallel fork-join, (e) a loop within a sequence, and lastly (f) a loop which has a choice-block inside its forward branch. The respective ECWS specifications can also be found in the figure.

Ii-C Marking Reachability

Given a WF-net, its reachability graph provides the markings (states) that are reachable from its initial marking, and the corresponding state-transitions. Due to presence of concurrency (AND-blocks), number of states in the reachability graphs is usually much larger than the number of places in the net. In absence of concurrency, individual places correspond to states. Figs. 2 and 3 show reachability graphs corresponding to the given WF-nets.

Ii-D Consistency Criterion

Migratability of a state (token-marking) depends on the consistency criterion for migration, i.e. the notion of migration equivalence

between two states. Variants of consistency notions have been identified in the literature. These can be classified into trace-based and state-based models. Rinderle et al.

[15] discuss consistency notions adopted by earlier approaches, out of which, most commonly used notions rely on matching the traces between the equivalent states. Intuitively, the same set of completed activities before and after the migration ensures the correctness of migration, which in turn leads to successful execution of the workflows after migration. Ellis et al. [2] present the earliest notion of consistency in terms of trace equality. Variants of trace-based consistency criteria were defined in another work of Rinderle et al. [16]. In our previous work [11] [12] on trace-based consistency in migration, we devised a catalog-based approach for migration of block-structured WF-nets. Our work on lookahead consistency [13] defines a class of future-trace based consistency.

On the other hand, a state-based consistency criterion called transfer validity was formulated by Van der Aalst in [21] in the context of WF-nets [20]. This criteria was adopted notably by Van der Aalst and Basten [19] and by Cicirelli et al. [1] for WF-nets. It was also applied by Hens et al. [6] for BPMN [10] models of workflows. This paper uses the notion of transfer validity that establishes equivalence based on the present attributes of the states rather than the past or future. The notion of transfer validity is revisited below. We also highlight its motivation and applicability with the help of an example.

Definition 1

Consistency (Transfer Validity): A marking in a WF-net is consistent with a marking in WF-net iff , , , where and are initial markings of and respectively. A marking in a net is a set of places holding tokens in that net. The places are identified by their labels.

Using the definition, we obtain set as the collection of non-migratable markings in , since these markings do not satisfy the consistency criterion. In general, the applicable scenarios are the situations where strict equivalence notions such as the same trace of completed activities are not required, and marking equality indeed captures equivalent states in terms of business semantics. Therefore, the applicability depends on the required business goal. In the following, an example is provided to illustrate such a case.

Fig. 7: Example of Migration case with Consistency Criterion of Transfer Validity

Fig. 7 shows a semester-long workflow for an online application process in a university. The workflow starts with registration of an applicant through admission portal website, which generates a registration ID. Then an application form is provided to be filled in. Next, a text-box is provided to type out the statement of purpose (SOP). The rest of the workflow consists of submission of necessary documents, payment and receipt of admission decision. After running the workflow for a month, the admission committee decides to change the application task of SOP submission through typing out in text-box by replacing it with an upload-pdf activity. The rest of the workflow remains unchanged as shown in the figure. Though the application task for SOP submission is different in the two processes, they both achieve the same business goal. Consequently, their post-place has the same label “SOP-complete” in both the nets, and once a token reaches this place, it does not matter actually how SOP was submitted. As a result, an applicant, who has written the SOP in the text-box and now waiting for response when the new process is launched, dynamic migration allows her application to be migrated to the equal marking in the new process. The marking shown in the figure is one such state, which is consistent in both of the workflows as per Def. 1. Conclusively, depending on the business situation, trace equality may not be necessary to establish migration equivalence, and transfer validity of marking may be sufficient to achieve correct migration.

Ii-E An Illustration of Change Regions

Now we describe the notion of change region in dynamic migration through a practical example. Fig. 8 depicts a training process in a company for its continuous inflow of recruits.

Fig. 8: A Training Process of a Company

Ii-E1 The Old Process

In the old process, two alternatives for the trainees are available after a common orientation program. The top path is for marketing trainees, and the bottom path is taken by the design trainees. Marketing trainees are exposed to the product-ranges, requirements, customer interactions etc through a well-designed loop till completion. The design trainees are exposed to products, testing, modeling and interface design tasks. The individual tasks have been identified in the figure. The reachability graph for this net has 29 states.

Ii-E2 The New Process

The training department makes some changes to the process based on a feedback that design trainees need to understand some portion of requirements, and since the division of testing got separated from product design, an extra option be created for testing trainees. The process is therefore evolved as shown in the new net (with its initial marking) in the figure. The training department shifts one task () from the upper part into the lower part, and it splits the lower AND composition into an XOR composition creating a new path with additional tasks in it. The corresponding net has 22 states in the reachability graph.

Ii-E3 Use of Change Region in Migration

This being a 3-months training program, the management explores whether the ongoing trainees can be directly migrated into the new process. Mere enumeration of markings of both the nets result in ordered pairs, out of which, the identity relations are the migratable markings. In general, business processes involve concurrency due to which the state-space is usually large, and therefore, searching through the state-space is computationally costly. Use of change region does not require finding out such marking mappings. Instead, a region in the old net is detected as unsafe (maximum size of which is the number of places in the net, 22 in this case) in the change region approach. If a given marking overlaps with the region, it is non-migratable. In Fig. 8, the red-dotted box cover the places computed by the minimal-SESE approach. The shaded places identify the places in the change region by our PSCR approach. A trainee continues in the old process till the marking is in the change region and migrates as soon as the marking comes out of it. Using the PSCR, when a token arrives in any member place in set (places shaded in the old net), the marking is non-migratable.

Iii Foundations: C-trees and their Properties

This section develops a structure called the C-tree, which is a structural model for capturing concurrency structures underlying all markings in a given ECWS-net. By using C-trees, we analyze the marking-based conflicts for consistent migration as per the consistency criterion given in Def. 1, without going into the state-space.

Iii-a Marking Generator Sets (MGS)

Our structure-based approach develops based on a notion of Marking Generator Sets, which is a nested set of places computed for the entire net. It represents concurrent sets of places organized hierarchically as per the net structure, which is a structural abstraction of all possible markings of a given ECWS-net. It can be noted that, the MGS can be easily obtained from the ECWS specification by Algorithm 1. The depth of the MGS structure gives the depth of concurrent nesting in the net. If there is no concurrency, MGS has no nesting.

Fig. 9: C-tree and GCS Examples
1 constructMGS(terminal/non-terminal ) if  is a place then
2       return label();
3      
4else if  is AND non-terminal then
5       tuple ;
6       set of terminals/terminals in grammar expansion of ;
7       for  each in  do
8             .add(constructMGS();
9            
10      return
11else if  is non-AND non-terminal then
12       set ;
13       set of terminals/terminals in grammar expansion of ;
14       for  each in  do
15             constructMGS();
16            
17      return
Algorithm 1 Generating MGS
Definition 2

Marking Generator Set: MGS is created as follows: (i) A set is created for collecting all places in sequences, XOR-blocks, loop-blocks in same level in the block structure. (ii) A tuple is created for every concurrent block. Elements in the tuple can be constructed by either (i) or (ii). Therefore, MGS can be recursively defined as: MGS = set mutually exclusive elements, where element = place or tuple of concurrent elements.

For example, for the net in Figure 9, the MGS is {,,,({ ,({,},{,}), },{,}),}.

Iii-B Obtaining MGS from ECWS specification

A marking generator set is derived from the ECWS-net by recursively starting from the top level net as follows: (i) A top-level set is created for collecting all places in sequences, XOR-blocks, loop-blocks in top-level. (ii) An internal set is created for every inner concurrent block. (iii) In every concurrent set, a top-level set is created for each concurrent branch, again to collect all places in sequences, XOR-blocks, loop-blocks in that branch.

Presence of loop in a net does not increase the nesting level of the member sets. Places in Loop, XOR and sequence are treated similarily in MGS. The net depicted in Figure 9 contains a loop that starts and ends at . In the above MGS representation places and appear at the outer most level of set nesting.

Iii-C Conjoint Tree representation of MGS

Conjoint tree (C-tree) is the tree structured imposed by MGS. It is not the full process tree [9], but it only captures the concurrency conflicts that are of our interest. The C-tree captures the nested-concurrent structuring in the net. Fig. 9 shows an example net and its corresponding C-tree.

In a C-tree, places are denoted by their labels, and transitions in the net are omitted. A C-tree node is composed of all sequential members at a given level of branching in the concurrency hierarchy of the net. A tuple in MGS is represented in the C-tree by a box- branching element. To elaborate, the presence of an inner AND-block in a node is represented through an element denoted by a box symbol , which is always a member of a node. A box thus represents an inner AND-block, which is in sequence with the other places listed in that node. These inner AND-blocks (concurrent blocks) are hereafter referred to as C-blocks. Multiple C-blocks in a single node indicates the presence of multiple AND-blocks in sequence (Fig. 11(b)). The fan-out of a C-block represents the number of parallel branches in the corresponding AND-block. A place resides in only one node since there are no duplicates. A concurrent place in a net belongs to a non-root node in the C-tree. Depth in C-tree captures the concurrency hierarchy level. In the figure, is in the second inner concurrent block in the net, whereas is not in any concurrent block. Next, we describe how concurrent places w.r.t. a given place are identified from a C-tree.

Iii-D Generator of Concurrent Submarking (GCS)

GCS of a given place in a net is a C-tree structure identifying only the branches concurrent to that place.

Concurrent place is defined as follows:

Definition 3

Concurrent place: If place p is part of a marking M, then every other place q in the same marking M is said to be concurrent to p.

In the C-tree structure, if places and do not reside in the same node, and if from place to place cannot be reached by traversing direct parent-child links, they are concurrent to each other.

The GCS is used to find potential migration conflicts w.r.t. a given place . GCS(p, t) for place in C-tree is obtained by removing from all parts not concurrent with . Links leading to concurrent C-tree branches are preserved. As an example, Fig. 9 shows a net and the GCS of place in the net.

Iii-E C-tree Embeds all Markings

A marking involving a given place can be generated using GCS() by Algorithm 2, where is the whole C-tree to which belongs. The algorithm starts with the C-tree of the entire net, and first computes the GCS of , which does not contain . Then it picks up a place from it, and further recursively picks up the next concurrent place by computing the GCS of . The algorithm terminates when no more concurrent place can be found. Though in our structural approach to compute change regions we do not generate individual markings, the algorithm is given to show the completeness of the C-tree structure w.r.t. markings, by generating all possible markings from it. Function empty(G) checks if the C-tree does not have any place, i.e. it returns true when places(G)=.

Input: place , C-tree of net
Output: A reachable marking in that involves
1 ; ;
2 while  not empty()  do
3       pick a place from ; ; ;
4      
return
Algorithm 2 Generating a Marking from a C-tree

Iii-F Dysfunctional C-Tree and Break-off Set

A dysfunctional C-tree is a C-tree that cannot generate any valid reachable marking. The purpose defining dysfunctional tree is to define break-off set, which contributes in the change region. If after removal of some places from a C-tree, the mutated C-tree cannot generate a marking that can be generated from the original C-tree, the mutated C-tree is called dysfunctional, and the set of places removal of which renders the tree dysfunctional is called as a break-off set for that C-tree. It may be noted that the removal of places is only for demonstrative purpose, to explain what a dysfunctional tree is conceptually (to construct one such). Places are not removed in any of the algorithms. Many break-off sets may exist for a given C-tree. A dysfunctional tree can be identified easily by presence of an empty path in the tree covering nodes without places starting from the root and reaching till a leaf. Such an empty path is connected through nodes having only C-block () elements and ends at an empty leaf node. Fig. 9 shows an example of ECWS net and its C-tree, of which a break-off set along with the corresponding dysfunctional C-tree is shown in Fig. 10.

Fig. 10: Dysfunctional C-tree and Break-off set {,,,,,,} w.r.t. Fig. 9
Fig. 11: C-tree Marking Preserving Embedding Example

Iii-G Marking Preserving Embedding (MPE) of a C-tree

Let the old and the new C-trees be and respectively. An MPE of C-tree in C-tree is a mapping from to defined recursively: (i) places(root()) places(root()), and (ii) C-blocks in root() are injectively mapped to C-blocks in root() such that within each C-block to C-block mapping pair , there is a bijective MPE of the children C-trees of to those of .

For example, the C-tree in Fig. 11(a) has its MPE in the C-tree in Fig. 11(b). The root nodes satisfy condition (i), and condition (ii) is satisfied as follows: the only C-block of the root in figure (a) can be mapped to the left-most C-block of the root in figure (b). Recursively the embeddings can be observed. On the other hand, such a mapping cannot be created between C-trees in Figs. 11 (a) and (c) due to the change in fan-out of the C-block in the root node itself.

Lemma 1

(Non-migratability Lemma) Given two C-trees and , if an MPE of in does not exists, then at least one marking constructible from cannot be constructed from . The converse is also true.

Proof: If such an embedding doesn’t exist, then at least one of the two constructor conditions is violated. If condition (i) is violated, a non-concurrent marking of is not available in . Then this marking is one such non-migratable marking. On the other hand, if condition (ii) is violated, at least for one of the concurrent branches in , there is no mapping to through the nested structure without violating the subset condition (i). We prove the converse by proving that if MPE exists, then all markings constructible by are constructible by . Given the existence of MPE, a non-migratable marking is available only if some place gets removed or some places get added from/into one of the markings. The former is not possible due to the subset condition (i), and the latter is not possible due to bijection condition (ii) in the above definition of MPE. Hence the proof.

Case id Concurrent in Concurrent in Migratability
(C1) Conditionally migratable
(C2) Non-migratable
(C3) Non-migratable
(C4) Migratable
(C5) don’t care absent in Non-migratable
TABLE I: Effect of Concurrency of a place on Migratability

Iv Change Properties of Places

Let be a place in the old net . If is a member of a concurrent block (AND), all its peer concurrent places are involved along with in some or the other markings (by Definition 3). If is not a part of any concurrent block, it creates only a standalone marking . This case covers for in an XOR, a sequence or a loop branch, which is not nested inside an concurrent block. Speaking of the new net , may or may not be dropped from it. If is dropped, then marking is not migratable. Otherwise, may change its concurrency in . All markings involving a concurrent place that becomes non-concurrent or vice-versa are non-migratable. If is non-concurrent in both the nets, then the only marking involving place is migratable. If is concurrent in both the nets, the migratability of markings involving depends on the changes to concurrency. These possibilities are summarized in Table I.

The non-migratability arising in cases (C1), (C2), (C3) and (C5) is attributed to one or more reasons (change properties) described below. The change properties are defined w.r.t. place in terms of markings, and also in terms of their corresponding structural characterizations on C-trees. Justification for the equivalence between the marking based and structure based formulations are also mentioned wherever it is not obvious.

For the following definitions, let and be old and new nets and and be their corresponding C-trees. Numbering of the definitions correspond to the cases in Table I. A concurrent place in a net belongs to a non-root node in the C-tree. Depth in C-tree represents hierarchy of concurrency in the net.

  • (C5) Removal No marking involving is reachable in . Structurally, is present in , is absent in .

  • (C2) Lost Concurrency Markings involving are concurrent in but not in . So, structurally, in a non-root node in but in the root node in .

  • (C3) Acquired Concurrency Only one standalone marking involving in , but concurrent markings in . Therefore, structurally, is in root node of but in a non-root node in .

  • (C1.1) Weak Reformed Concurrency (i) is in concurrent markings in both and and (ii) at least one concurrent marking involving in is not reachable in due to addition or reduction of concurrency of . Structurally, the same can be stated as: (i) in non-root nodes in both and , (ii) does not have an MPE in .

  • (C1.2) Strong Reformed Concurrency (i) is in concurrent markings in and (ii) all concurrent markings involving in are not reachable in . In terms of the structure, the same conditions are stated as: (i) in non-root nodes both in and , and (ii) either the set of places {places(GCS()) places(GCS(, ))} is a break-off set w.r.t. C-tree , or the set of places {places(GCS()) places(GCS())} is a break-off set w.r.t. C-tree .
    Justification: in non-root nodes implies involvement in concurrency. When condition (ii) is satisfied, it means that the places which are concurrent to in both nets are not capable of generating any common valid marking involving . Consequently, no marking involving is migratable.

Fig. 12: Verify Structural Change Properties w.r.t. Fig. 9

Examples of Change Properties: W.r.t. the new net in Fig. 12 and an old net in Fig. 9, the places in the old net are characterized as follows: satisfies removal since it is present in the old C-tree but not in the new. Place, satisfies lost concurrency, since in the old C-tree it belonged to a non-root node whereas in the new C-tree it resides in the root node. Similarily, since belonged to the root node in the old C-tree and belongs to a non-root node in the new C-tree, it satisfies acquired concurrency. Further, by comparing the C-trees for both the nets it can be observed that all of , , , , and satisfy weak reformed concurrency since they do not have concurrent place now in the new net. also satisfies the same property since it does not have concurrent places and any more. Lastly, Fig. 12 shows the remainder of the GCS of (or ) for the old net after deleting the places in the GCS of (or ) for new net, which is a dysfunctional C-tree w.r.t. the old GCS of . Thus, both and satisfy strong reformed concurrency.

V Member Properties of Places

Member properties define the type of relationship of a place with the change region. Every place involved in a non-migratable marking in a given old net is either a perfect member or an overestimation. The remaining places are safe places in the net. These mutually exclusive types of memberships are now defined.

Definition 4

Perfect Member (of Change Region): A place in the old net is a perfect member in , w.r.t. the new net iff all markings in involving are non-migratable.

Definition 5

Overestimation: A place in the old net is an overestimation w.r.t. the new net , iff there exists a migratable marking and also a non-migratable marking involving in .

Definition 6

Safe Member: A place in the old net is a safe member w.r.t. the new net , iff every marking involving in is migratable.

Lemma 2

(Perfect Member Lemma) If a place in net satisfies one of Removal, Lost Concurrency, Acquired Concurrency and Strong Reformed Concurrency w.r.t. net , then the place is a perfect member and vice-versa.

Proof: We first address the sufficiency of each of the properties, which is directly derived from the change properties discussed in Section IV. Sufficiency of Removal follows from property (C5) that if a place in , which is absent in makes all markings involving in non-migratable. Sufficiency of Lost Concurrency follows from property (C2) that a concurrent place becoming non-concurrent makes all its markings (which involve multiple places) non-migratable since the target marking is a standalone marking. Sufficiency of Acquired Concurrency follows from property (C3) that a non-concurrent place becoming concurrent makes its one and only standalone marking non-migratable. Sufficiency of Strong Reformed Concurrency follows from property (C1.2) that a place satisfying Strong Reformed Concurrency contributes only to concurrent markings, and all of them are non-migratable.

Now we are left to prove that, there is no other way for a place to be a perfect member. Assuming the contrary, let be a place in , which violates all these properties and yet is a perfect member. Now, since violates the Removal property, is present in both and . When is present in the new net, and as does not satisfy Lost Concurrency, we have either not inside any concurrent block in both nets, or it is a part of concurrent blocks in both nets, or that it is not part of a concurrent block in the old net but it is so in the new net. In the first case, is migratable being standalone and reachable, therefore, it can not be a perfect member. The third case is a contradiction since we assumed that violates Acquired Concurrency. As per the assumption, since violates Strong Reformed Concurrency as well, in the second case, is involved in at least one migratable marking, implying that is not a perfect member. Hence the proof.

Lemma 3

(Overestimation Lemma) If a place in net satisfies Weak Reformed Concurrency but not Strong Reformed Concurrency w.r.t. net , it is an overestimation w.r.t. and the vice-versa.

Proof: If a place satisfies Weak Reformed Concurrency but not Strong Reformed Concurrency, it has at least one migratable and at least one non-migratable marking, which is Def. 5 of overestimation, which proves the if part.

Now, for the converse argument, as per Def. 5, an overestimation contributes to at least one non-migratable and at least one migratable marking. This implies that the overestimated place is concurrent in the old net since it involves in at least these two markings. Also, since one of the markings is migratable, the place is concurrent in the new net. This satisfies property (C1.1-i). Also, since the place is involved in one non-migratable marking, it satisfies property (C1.1-ii). Properties (C1.1-i) and (C1.1-ii) together ensure Weak Reformed Concurrency. Also, since the place is involved in at least one migratable marking, it violates Strong Reformed Concurrency. Hence the proof.

Vi Region Properties

A Perfect Structural Change Region (PSCR) is a set of places which together cover all of the non-migratable markings in a net by ensuring that every non-migratable marking involves at least one token inside PSCR. In addition, PSCR does not include a place involved in a migratable marking. If PSCR exists in a net, there is no overestimation of non-migratability. However, they may not exist for certain nets, in which case, an overestimation is unavoidable in the structural approach. All of the earlier versions of change region definitions in the literature known to us consider a change region as a subnet. On the contrary, the following definition characterizes a change region as only a set of places. First, a weaker change region called Structural Change Region (SCR) is defined, following which the notion of Perfect Structural Change Region (PSCR) is introduced. In the definitions, and are respectively the initial markings of the old net and the new net . Set represents the set of reachable markings from a given marking w.r.t. a given net.

Definition 7

Structural Change Region (SCR) Given a migration net pair consisting the old net , and the new net , the Structural Change Region is a subset of places in , such that in , , in .

Definition 8

Perfect Structural Change Region (PSCR) Given a migration net pair of old net , and new net , the Perfect Structural Change Region is a subset of places in , such that (i) in , in , and (ii) in s.t. , in .

It can be observed that Definition 7 uses operator to establish relation between a place that is a member of the change region and its contribution to non-migratability. If we break down the definition using operator (as used in Definition 8), the following two conditions arise: (i) in , in , . (ii) in , , in . Condition (ii) in the above is different from the condition (ii) of Definition 8 due to use of the existential quantifier used in the RHS of the implication, which makes SCR is a weaker version of PSCR. SCR holds all those places for each of which there is a non-migratable marking, but it permits overestimation. On the other hand, if an SCR does not have any migratable marking it becomes PSCR. is a partial function on and . It may not exist on certain cases. Non-existence of PSCR implies there is non-migratability between the given net pair but there is no minimal change region covering it. In other words, no set can be found which satisfy Definition 8. The example in Figure 13(a)-(b) elaborates this case. On the other hand, PSCR may exist as empty set for certain cases indicating full migratability of the markings of the old net. In this case, set satisfies Definition 8. If it has member places, they together cover all non-migratable markings. Condition (i) of PSCR ensures that if a marking in is non-migratable, it always includes a member place from PSCR. Condition (ii) of PSCR ensures that if a place is inside PSCR, then no reachable marking in the old net involving is reachable in the new net. PSCR eliminates the overestimation (false-negatives) occurring inside change regions as computed by the previous approaches. Also, false-positives outside the PSCR are eliminated. Condition (i) is the baseline property of structural reachability based change regions, which is satisfied by previous versions of change regions in the literature discussed above. SESE-based approaches cause overestimations for nets shown in Figs. 2 and 3, though PSCRs eliminating overestimations exist for them. In these cases of full migratability the PSCRs happen to be empty.

We have noted earlier that not all nets have PSCRs. If the PSCR exists for a net, the members of PSCR gives the set of all perfect members in the net. On the other hand, in absence of PSCR in a given net, non-migratability is captured by places in the union set of all overestimations and all perfect members, which represents the SCR, as stated through the following Lemma.

Lemma 4

(SCR Lemma) The union of all overestimations and all perfect members in net w.r.t. net is the SCR in w.r.t. .

Proof: Every non-migratable marking includes at least a place from the SCR (Def. 7). Also, overestimation and perfect members (Defs. 5,4) together cover all non-migratable markings. Hence the proof.

In absence of PSCR, the SCR can be used change region. However, it may be further optimized by removing those overestimated places which are fully covered by at least one other place. Now, we formulate the condition for existence of PSCR for a given net pair.

Lemma 5

(PSCR Lemma) PSCR exists in a given net w.r.t. some net iff every non-migratable marking in includes at least one perfect member.

Proof: Given that every non-migratable marking includes at least one perfect member, the set of all perfect members constructs PSCR by satisfying Def. 4. Hence, by definition, if every non-migratable marking includes at least one perfect member, PSCR exists. On the other hand, if PSCR exists, every non-migratable marking includes some place from PSCR (Def. 4(i)). Being a member of PSCR, that place is involved in no migratable marking (Def. 4(ii)), which makes that place a perfect member. Thus, if PSCR exists, every non-migratable marking involves at least one perfect member. Hence the proof.

Are there overestimations? () There are markings in without perfect members (i.e. is not break-off set for ) There are markings in without perfect members (i.e. is not break-off set for ) All markings in without a perfect member are valid in (i.e. delete(,) has MPE in delete(,)) PSCR exists
don’t care don’t care don’t care
don’t care don’t care
don’t care
TABLE II: Computation-friendly Cases for Existence of PSCR
Fig. 13: Migratable and Non-migratable Markings in two Migration Pairs

Examples of Existence and Non-existence of PSCR: Fig. 13(a)-(b) illustrates a case where the PSCR does not exists, whereas, for Fig. 13(a)-(c), PSCR exists which is set . The SCRs of the old net in Fig. 13(a) w.r.t. the new nets in Figs. 13(b) and (c) are and respectively. Migratability of the markings inside the AND block of the old net for these two cases is captured through two tables in the figure. A row in a table corresponds to a marking in the net (a). Symbols and respectively denote a token in a non-migratable marking, and a token in a migratable marking. For example, for marking {,} that is migratable from net (a) to (b), appears in the corresponding columns in the table for case (a)-(b). In case (a)-(b), PSCR does not exist since all places inside the concurrent block are involved in one migratable and one non-migratable marking. In case (a)-(c), PSCR exists since perfect members and cover all non-migratable markings.

Vi-a Computation for Existence of PSCR

From Lemma 5, we can see that PSCR does not exist if and only if there is at least one non-migratable marking in old net that does not include any perfect member. Table II identifies structural conditions for the existence of PSCR. If there are no overestimations, since there cannot be any non-migratable marking not including a perfect member, PSCR exists. This case is covered in row 1. The remaining rows in the table cover the cases of presence of overestimation. If there are no markings in without involving perfect members, then PSCR exists (row 2). Structurally, the perfect member set is a break-off set in . In the remaining three cases, contains some markings without involving perfect members. In addition, if all markings in have perfect members (row 3), the markings without perfect members in are not migratable, and therefore, PSCR does not exist. Structurally, perfect members form a break-off set for but not for . Instead if also has some markings without perfect members (row 4, 5), then we want to check whether all markings of without perfect members can be generated from . Structurally, this can be done by first removing the set of perfect members from both the C-trees, and then checking if the mutated is embedded in the mutated .

Vi-B Computing SCR and PSCR

After the discussion on SCR and PSCR in terms of perfect members and overestimations, we now connect with them the five structural (C-tree based) change properties discussed in Section IV through the following Perfect Member Lemma, to summarize computation of SCR and PSCR as shown in Table III. The corresponding algorithm to compute SCR and PSCR is listed in Algorithm 3.

Input: place , C-tree of net
Output: A reachable marking in that involves
1 ; ;
2 while  not empty()  do
3       pick a place from ; ; ;
4      
return
Algorithm 3 Generating a Marking from a C-tree
Sets Set Constructors
( and are the C-trees of the old and the new net)
Reference Definitions, Lemmas
removal(, ) Section IV(C5)
lostConcurrency(, ) Section IV(C2)
acquiredConcurrency(, ) Section IV(C3)
weakReformedConcuurency(, ) Section IV(C1.1)
strongReformedConcurency(, , ) Section IV(C1.2)
Lemma 3
Lemma 2
Lemma 4
iff PSCRexists(, , , ) Lemma 5
TABLE III: Computation of SCR, PSCR and other sets

(a) Old Process

(b) New Process

Fig. 14: WF-net models of some BPMN models given in Hens et al. [5] (Claims process)

SCR, PSCR and other sets listed in the table are computed from the two C-tree structures corresponding to the two nets. The first row in the table provides constructors for sets of places satisfying the five change properties. These are (i) places which are removed (), (ii) places which loose their concurrency (), (iii) sequential places which acquire concurrency (), (iv) concurrent places for which concurrency has changed partially () (iv)concurrent places for which concurrency has changed fully (). Using these sets, set consisting of places that are overestimations, and set consisting of places that are perfect members can be constructed. Constructors for sets SCR and PSCR are shown in the last two rows. Set constructors in the table are either shown as functions on the two C-trees, or as set operations. The table also lists cross references to the properties discussed previously that build the sets. For example, function lostConcurrency is implemented in terms of structural condition mentioned in Section 5(C2), which is, place in a non-root node in , but it is in root node in . This condition is checked for every place in . The same is applicable for all functions used in the table referring to the change properties. Function PSCRexists implements the logic given in Section VI-A.

Vi-C Utility of the Approach

In this section, we compare the approach of the PSCR with minimal SESE-based change regions highlighting the improvement offered by our approach. These approaches are evaluated using the following three migration net pairs: (i) The training process discussed in Section II-D and shown in Fig. 8, (ii) The hypothetical processes used earlier in Figs. 9 and 12, and (iii) A claims process given in the work of Hens et al. [5], for which, Fig. 14 shows the WF-net models translated from their original BPMN models. The dashed region in Fig.14(a) depicts the minimal SESE change region, whereas, the places which are shaded cover the SCR. The PSCR is marked by places shaded dark.

Let us discuss the advantage of using PSCR over the minimal SESE approach through the example of training process in Fig. 8. Since the minimal SESE region is much bigger than the PSCR, it includes many false-negatives. For instance, the upper XOR-branch (staring with transition , ending with transition ) is in the fold of such false-negatives. As a result, in this particular process, the old marketing trainees are not allowed to migrate into the new process, whereas, we can observe that it is safe to let them migrate as per the business goal. The corresponding markings are identified as non-migratable in the minimal SESE approach contributing to the false-negatives. The PSCR approach excludes such false-negatives, confines its change region to the minimal set of places thereby eliminating unnecessary delay in immediate dynamic migration.

Fig. 15: Comparing Approaches to Deciphering Migratability

The comparison results from the three example processes are given in Fig. 15. Given the set of all possible markings in the old net, we compare the results of their migratability. The set of old markings is assumed to be available. Change regions are pre-computed separately by applying PSCR and minimal SESE approaches. Then for the accuracy test, each of the markings are verified through the change regions. However, since the minimal SESE-based approach suffers from overestimation, it has lower accuracy, whereas the accuracy of PSCR is 100%.

When PSCR does not exist, SCR may be used. Our recent work on distributed computation of change regions [14] use an optimized version of SCR. However, the result of using SCR may cause as many false-negatives as the minimal SESE approach in the worst case. Fig. 14 represents such a case. Here, the PSCR consists of only two places, and . However, in addition, the SCR contains all the places of the upper AND-branch(lightly shaded). As a result, every possible marking in the AND-block is non-migratable as per the SCR, and similar result is reached by the minimal SESE approach. In this case, the PSCR is to be used since it is devoid of false-negatives.

Vii Conclusions

The paper addressed the problem sufficiency of structural change regions in dynamic process migration. The issue of inclusion of false-negatives in the existing computation methods of structural change regions was brought up. The reason for false-negatives in the structural approaches was localized to overestimation of non-migratability. We formulated the notions of SCR and PSCR with the help of a few Lemmas. It is proved that the PSCR, if it exists, gives the accurate account of non-migratability. The necessary and sufficient conditions for PSCR to exist were provided. In a nutshell, this work touches upon the best possible harnessing of the structural change region based on transfer validity, and identifies various structural properties about its existence and computation. The work also establishes that the structural approach becomes inaccurate in computation of non-migratability resulting in false-negatives due to the non-existence of PSCR. If the PSCR exists, it obtains an accurate result of non-migratability by a mere structural approach. In absence of PSCR, SCR or its optimized form may be used. Another feature of this approach is that, it is not designed from change operations, making it orthogonal to the set of changes due to which a migration scenario arises. Further work in this area consists of optimization of SCRs in absence of PSCR, algorithmic variations for structural computation of SCR and PSCR, and further generalization of this theory of change regions to cover other consistency criteria.

References

  • [1] F. Cicirelli, A. Furfaro, and L. Nigro (2010) A service-based architecture for dynamically reconfigurable workflows. J. Systems and Software 83 (7), pp. 1148 – 1164. Cited by: §I-B2, §I-B3, §I, §II-D.
  • [2] C. Ellis, K. Keddara, and G. Rozenberg (1995) Dynamic change within workflow systems. In Proc. of conference on Organizational computing systems, pp. 10–21. Cited by: §I-B1, §I, §II-D.
  • [3] X. Gao, Z. Li, and L. Li (2008) A process model for concurrent design in manufacturing enterprise information systems. Enterprise Information Systems 2 (1), pp. 33–46. Cited by: §I-B2.
  • [4] X. Gao, X. Wang, M. Yang, and Y. Liu (2013) Workflow region recognition algorithm and its time complexity. Przeglad Elektrotechniczny 89 (1b), pp. 184–186. Cited by: §I-B2.
  • [5] P. Hens, M. Snoeck, G. Poels, and M. De Backer (2013) Process evolution in a distributed process execution environment. International Journal of Information System Modeling and Design 4 (2), pp. 65–90. Cited by: Fig. 14, §VI-C.
  • [6] P. Hens, M. Snoeck, G. Poels, and M. De Backer (2014) Process fragmentation, distribution and execution using an event-based interaction scheme. Journal of Systems and Software 89, pp. 170–192. Cited by: §I-B2, §II-D.
  • [7] O. Inc. (2014) Deliver on intelligent business process management with oracle business process management suite 12c, oracle white paper. Note: http://www.oracle.com/us/technologies/bpm/wp-intelligent-bpm-2280473.pdf Cited by: §I.
  • [8] J. Koenig (2004) JBOSS jbpm: white paper. Note: http://ftp.vdel.com/files/jboss/jbpm_whitepaper.pdf Cited by: §I.
  • [9] S. J. Leemans, D. Fahland, and W. M. van der Aalst (2013) Discovering block-structured process models from event logs-a constructive approach. In Application and Theory of Petri Nets and Concurrency, pp. 311–329. Cited by: §III-C.
  • [10] OMG (2011) Business process model and notation (bpmn) version 2.0. Note: http://www.omg.org/spec/BPMN/2.0/PDF/ Cited by: §II-D.
  • [11] A. Pradhan and R. K. Joshi (2014) Token transportation in petri net models of workflow patterns. In Proceedings of the 7th India Software Engineering Conference, ISEC ’14, pp. 17:1–17:6. Cited by: §II-D.
  • [12] A. Pradhan and R. K. Joshi (2015) Catalog-based token transportation in acyclic block-structured wf-nets. In Proceedings of the International Workshop on Petri Nets and Software Engineering, Brussels, Belgium, pp. 287–307. Cited by: §II-D.
  • [13] A. Pradhan and R. K. Joshi (2015) Lookahead consistency models for dynamic migration in workflow processes. In Proceedings of the International Workshop on Petri Nets and Software Engineering, Brussels, Belgium, pp. 267–286. Cited by: §II-D.
  • [14] A. Pradhan and R. K. Joshi (2016) Distributed change region detection in dynamic evolution of fragmented processes. In Proceedings of the International Workshop on Petri Nets and Software Engineering 2016, co-located with the 37th International Conference on Application and Theory of Petri Nets and Concurrency Petri Nets 2016 Toruń, Poland, June 20-21, 2016., pp. 153–172. Cited by: §I-C2, §II-B, §VI-C.
  • [15] S. Rinderle, M. Reichert, and P. Dadam (2004) Correctness criteria for dynamic changes in workflow systems–a survey.

    Data & Knowledge Engineering

    50 (1), pp. 9–34.
    Cited by: §II-D.
  • [16] S. Rinderle-Ma, M. Reichert, and B. Weber (2008) Relaxed compliance notions in adaptive process management systems. In Conceptual Modeling-ER 2008, pp. 232–247. Cited by: §II-D.
  • [17] P. Sun and C. Jiang (2009) Analysis of workflow dynamic changes based on petri net. Information and Software Technology 51 (2), pp. 284 – 292. Cited by: §I-B1, §I-B2, §I-B3, §I.
  • [18] A. H. ter Hofstede, W. M. van der Aalst, M. Adams, and N. Russell (2009) Modern business process automation: yawl and its support environment. Springer Science & Business Media. Cited by: §I.
  • [19] W. M. van der Aalst and T. Basten (2002) Inheritance of workflows: an approach to tackling problems related to change. Theoretical Computer Science 270 (1), pp. 125–203. Cited by: §II-D.
  • [20] W. M. Van der Aalst (1998) The application of petri nets to workflow management. Journal of circuits, systems, and computers 8 (01), pp. 21–66. Cited by: §II-A, §II-B, §II-D.
  • [21] W. M. Van der Aalst (2001) Exterminating the dynamic change bug: a concrete approach to support workflow change. Information Systems Frontiers 3 (3), pp. 297–317. Cited by: §I-B1, §I-B3, §I, §II-D.
  • [22] J. Vanhatalo, H. Völzer, and J. Koehler (2009) The refined process structure tree. Data & Knowledge Engineering 68 (9), pp. 793–818. Cited by: §I-B2.
  • [23] J. Zou, H. Sun, X. Liu, K. Fang, and J. Lin (2010) A hybrid instance migration approach for composite service evolution. In Proceedings of the 2nd International Conference on Advanced Service Computing, Lisbon, Portugal, pp. 153–159. Cited by: §I-B2.