International Journal of Innovative




Version Management Method Based on Version-stamped Business Process Change Patterns




Abstract. This paper presents an efficient version management method for BPM systems based on business process change patterns and the version-stamp method. In managing order to effectively manage business processes in a dynamic business environment, a proper version management method for handling multiple coexisting versions of a business process is required. However, the traditional delta method for business process version management could cannot cope flexibly with the structural changes of a business process changes. flexibly. The version management method proposed in this paper enables BPM systems to deal more flexibly with dynamic situations. more flexibly. Also, its contributes to increasing activity pool concept enhances[JH1]  activity reusability. by using the concept of activity pool.

Keywords: Version management, BPM (Business Process Management), Change pattern


1. Introduction. Recently, many enterprises are have been trying to adoptinging BPM systems in order to be adapted to rapidly changing business environments and to manage dynamic processes flexibly and efficiently. However, most BPM systems do not make much effort on adequately emphasize version management of business processes[JH2] . For this reason, the flexibility of most[JH3]  current BPM systems, which is one of the most important characteristics, of BPM system,[JH4]  is quite limited, so much so, in fact, that they those systems cannot cope with continuous changes of in business processes caused by advances of in technology, new methods and practices, and changes in laws and policies [1, 2]. To manage these changes properly, a new version management method is needed.

Until now, fFew version managing management methods of business processes have been researched and proposed within the industry. In the academy, however, a method for managing process versions management, based on the delta method, which is a version control method of for XML documents, has been proposed [3].

The method usually used in the industry, a simple method using the creation time as the version, is based on timestamps,. which is a simple method using creation time as a version. Nonetheless, It this method has several disadvantages. First of all, it uses only[JH5]  a one-dimensional fact, namely the creation time, to version a process, and so branched versioning is impossible [4]. Secondly, an entirely new process model in whole is created every time when a new version evolves., This which causes a wastes of storage space.

The The method based on the delta method, by contrast, uses version tree and change operations. This method stores only one version of a process model, and as well as the change operations between consecutive versions. This method It can remove does not suffer from the disadvantages of the timestamp method. However, in the case that the existing version is executing, this method cannot cope with the situation when a new version is created creation and deployed deployment[JH6]  [2, 5].

In this paper, we propose an efficient version management method which that keeps retains the advantages and overcomes the disadvantages of existing methods. and overcomes disadvantages of existing methods.

The rest remainder of the paper is organized as follows. Section 2 describes discusses the details of existing version management methods, and their advantages and disadvantages. Section 3 describes the workflow patterns and business process change patterns on which are bases of the proposed method is based. proposed in this paper. Section 4 describes presents the the proposed business-process-pattern-based version management method. based on business process patterns. Finally, Section 5 presents offers conclusions and indicates future research issues directions.


2. Related Work


2.1. Timestamp method The timestamp method is a very simple version management method. It assigns process versions based on the pertinent creation time. of a process version. The only advantage of this method is that it can be applied to existing BPM systems without structural modification of the those systems. However, it wastes storage space stores by storing every entire versions of business process models,. so that storage spaces are wasted. Furthermore, with this method, branched versioning is not impossible, since it uses only one criterion, namely time, in the process versioning. But branched versioning enables tracking of the ways in which processes have been changed, a very important functionality; It is very important to track how processes have been changed. Therefore, indeed, it the timestamp method’s lack of branched versioning is a critical shortcoming. that branched versioning cannot be provided using this method. Figure 1 shows an example that demonstrates demonstrating the this. shortcoming[JH7]  of the timestamp method. TThe solid line represents represents the actual version change, and and the dotted line represents indicates the version change that recognized by the system. recognizes.


 In this example, although three versions are were derived from the first version, the system recognizes only that three versions were created sequentially. Hence, the actual version change and the system recognition of the version change can be different.


2.2. Delta method The delta method appliesd an existing version managing management method of for XML documents to the BPM domain. The XML versioning method uses delta, which is a sequence of basic change operations. The delta represents the difference between two consecutive versions of a sequence of basic change operations.[JH8]  The basic change operations consist of include delete, insert, move and update [6]. Cho and Bae proposed a new version management method employing incorporating the delta method. This method saves storage space since it stores only one process model and with inter-version deltas that are needed in order to retrieve a specific version. In addition, the maintenance of a version tree branched versioning is allowed enables branched versioning. by keeping a version tree. This method, however, cannot deal with dynamic situations rapidly in a timely fashion, because it requires a lot of many computing operations[JH9]  to retrieve a specific version.

In addition Moreover, there are problems when the version management method of for XML documents is applied to the business process domain. When there is a For example, a valid change to an XML document, such as a modification to a name or position of an attribute, it may might be invalid to a business process model. Modification to name or position of an attribute is an example case.

In this paper, we identify the operative characteristics of business processes, and propose a new version management method considering in consideration of these characteristics them.


3. Business pProcess pP[JH10] atterns In the field of software design and development, there have been many efforts attempts to solve some problems with caused by patterns which occur occurring frequently in specific situations [7, 8]. In this section, two important kinds of patterns applied to business processes, is presented, which are workflow patterns proposed by van der Aalst et al. in [9] and business process change patterns proposed by D. Kim and M. Kim in [7], are presented.


3.1. Workflow patterns Being interested Focusing in on repeatedly occurring patterns in workflow, van der Aalst et al. proposed 20 control flow patterns in [9]. These patterns are closely related to the structure of a business process[JH11] . The version management method proposed in this paper, in fact, is based on the structural process change patterns. Table 1 summarizes these patterns. Among these patterns them, wp1 through wp8 are the patterns[JH12]  directly related to structural changes of business process. Hence, we focus more on these eight patterns.


3.2. Business process change patterns To support a business process lifecycle systematically, D. Kim and M. Kim proposed business process change patterns in [7]. These patterns, are solutions to supporting process improvement, considering not only results but also improvement progress. They suggested the business process change patterns shown in tTable 1. These patterns represent frequently occurred occurring changes of business processes. Using these the patterns, most of the changes that the a business process generally typically undergoes could can be expressed. The Vversioning business process based on these patterns allows solving for solutions to the problems such as recognizing changes that is not considered to be valid[JH13] . as a valid change.


4. A nNew vVersion mManagement mM[JH14] ethod In this section, we define the workflow-pattern-based business process pattern model[JH15]  for process versioning. based on the workflow patterns. In addition Additionally[JH16] , we present version block, version-stamp and the architecture of the proposed system.


4.1. Business process pattern model We extracted eight workflow patterns directly related to the structural changes of a business process. from the workflow patterns. However, some patterns become meaningful when only they are combined with other specific patterns. For example, wp 2, parallel split, becomes meaningful only when it is combined with wp 3, synchronization. In this manner Accordingly, we define five important patterns: as shown in the following.


Sequence Pattern (1): SEQ(a1,a2,…,an)

AND Pattern (2+3): AND(a1,a2,…,an)

XOR Pattern (4+5): XORc1,c2,…,cn(a1,a2,…,an)

OR Pattern (6+7): ORc1,c2,…,cn(a1,a2,…,an)

Empty Pattern: EMPTY().[JH17] 


ai means indicates the i-th entry of a pattern, and ci , means the ai transition condition. to ai. The entries of each pattern would be either activities or patterns.[JH18]  Hence, every business process could can be modeled as a pattern. Figure 2 illustrates an example.


In order to apply these patterns to version management, business process change patterns they should be modeled as the business process pattern model we proposed. Figure 3 illustrates some examples.


The version management method proposed in this paper recognizes a change as valid one only when a business process change pattern is applied.


4.2. Version block We applied the version block concept of version block is used to manage the the management of process version change. The version block is the minimum pattern unit of process versioning, which means is to say, the minimum pattern that contains every changed activity. Figure 4 illustrates the concept of version block concept.



In fFigure 4, the relocation pattern is applied to a3 and a4. In this case, the version block is represented by dashed lines. This version block is represented by Vm in the business process pattern model. Version block m (Vm) can be expressed by the following notations: below.


Vm = V(s1,E1),…,(sn,En)(a1,...,an), where

m : ID of the version block (auto increment)

an : n-th entry of Vm (activity or BP pattern)

(sn,En) : Version-stamp of n-th entry

sn : start version (a first version in which an appears)

En : end version set(a set of first versions in which an disappears).[JH19] 


For example, if the pre-change version in fFigure 5 is version 1, and the post-change version is version 2, the version block, V1, is represented as below.


V1 = V(1,{2}),(2,{Φ})(AND(SEQ(a2,a3),a4),AND(SEQ(a2,a4),a3)).[JH20] 


The vVersion-stamp was proposed by Rosado in [4] to give assign a valid version to each XML node. In this paper the present study, version-stamp is was applied to each version block so that version information about concerning ‘never changed parts’ is excluded. The system maintains the version tree of a business process in XML format, and each version block appears in the versions which that are subtractions of sub trees of En from sub trees[JH21]  of sn. Using this concept, we can integrate every version of a process into one business process model.


4.3. System architecture Figure 5 illustrates the simplified system architecture for implementing of the proposed version management method, which architecture includes an execution engine, an activity pool, process/pattern storage and version tree storage.


The process model stored in the process/pattern storage is just a meta data about on the structure of process structure, activity and versions. The actual activity is stored in the activity pool. If an instance enters the execution engine, it retrieves the version of a process from a the version tree and process model. Then, it retrieves, from the activity pool, the activities of the specific version from the activity pool to execute.

Our system contributes helps to cope with dynamic situations such as deploying deployment of a new version at runtime. In this case, existing BPM systems provide for only two choices, both of which are poor. inefficient. One is stopping the running process and executing a newly deployed version. Another The other choice is executing running instances using the old version, and use using the newly deployed version with the next instance. However Again, neither choice gives yields the best result [10, 11]. Our system, by contrast, can handle these situations efficiently. In the situation mentioned noted above, the system rollbacks[JH22]  to the location where at which the first version block appears, so that the unchanged activities which are not changed do not have to be executed again. Furthermore, the activity pool maximizes activity reusability.


4.4. Example In this section, we illustrate, in Figure 6, a running example of process version change based on the concepts described above. Figure 6 illustrates an example of process version change.


This process is a simplified form of the ‘loan approval process’ employed by banks. In version 1, the AND split pattern is applied to the activity named ‘Loan Assess’, which causes this activity to split into two activities, named ‘Asset Assess’ and ‘Potential Assess’. In version 2, the delete pattern is applied to ‘Loan Approve’, causing version 3 to emerge. Finally, in version 2, the sequential split pattern is applied to ‘Asset Assess’, which results in the creation of version 4. Table 2 shows the change aspects of the version-integrated processes. We can see that the final version-integrated process contains the information about of all of the versions.


5. Conclusions This paper presents a new method for of process versioning based on the inherent characteristics of business processes, namely process patterns. The method can handle, promptly and flexibly[JH23] , various dynamic situations such as deploying a new-process-version deployment at runtime. flexibly and rapidly at runtime. In addition, the method’s activity pool concept enhances activity reusability. is increased by the concept of activity pool. Finally, it integrates every process version of processes into a single process model, so that it could thereby save the saving storage space.

Future work will involves applying the proposed method to every all of the various kinds of patterns, not only structural patterns, so that it could be used for more general situations. Further,more, it is required to evaluate the performance of the versioning method proposed in this paper will have to be evaluated.


Acknowledgment. This work research is was[JH24]  supported by the Soongsil University Research Fund. The authors also would like also to thank the reviewers for their valuable comments in improving this paper.

 [JH1]OR (alternative meaning): “contributes to the enhancement of”

 [JH2] / OR: “the version management aspect of business processes”

 [JH3]Delete this if it does not fit the meaning.


 [JH5]Delete this if it does not fit your meaning.

 [JH6]OR: “cannot cope with situations in which a new version is created and deployed”

 [JH7]Implicit / awkward if used (repeated)

 [JH8]…incorporated the essential info from the first sentence into the second sentence—make sure that I interpreted your meaning correctly here

 [JH9]OR: “much computational power”

 [JH10]…just for consistency with your already-established main-heading capitalization protocol

 [JH11]“business processes”--?




 [JH13]OR: “considered to be invalid by a business process model (OR: “business process models”--?)”

 [JH14]…again, for consistency

 [JH15]* OR: “business process workflow-pattern model”



 [JH16]OR (alternative meaning): “To that end”

 [JH17](inserted period)


 [JH19](inserted period)

 [JH20](inserted period)


 [JH22](?) OR: “rolls back” / reverts / defaults

 [JH23]OR: “promptly, quickly and flexibly”

 [JH24]OR (if this particular research is continuing, longer-term): is