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
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 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)
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 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 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.
[JH4]implicit
[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
[JH12]implicit
[JH13]OR: “considered
to be invalid by a business process model (OR: “business process models”--?)”
[JH14]…again, for
consistency
[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