=Paper=
{{Paper
|id=None
|storemode=property
|title=Graph-Based Business Process Model Refactoring
|pdfUrl=https://ceur-ws.org/Vol-1027/paper2.pdf
|volume=Vol-1027
|dblpUrl=https://dblp.org/rec/conf/simpda/Fernandez-RoperoPP13
}}
==Graph-Based Business Process Model Refactoring==
Graph-Based Business Process Model Refactoring
María Fernández-Ropero, Ricardo Pérez-Castillo and Mario Piattini
Instituto de Tecnologías y Sistemas de la Información, University of Castilla-La Mancha
Paseo de la Universidad 4, 13071
Ciudad Real, Spain
+34 926295300 Ext. 96697
[MariaS.Fernandez | Ricardo.PdelCastillo |
Mario.Piattini]@uclm.es
Abstract. Companies are ever more interested in process-oriented organiza-
tional designs due to the competitive advantages they can achieve. Companies
must therefore be able to manage their business process models and deal with
quality assurance concerns, especially when business process models are mined
by reverse engineering (e.g. from information systems) since it has harmful ef-
fects on the quality. For example, non-relevant and fine-grained elements or in-
complete processes can be obtained. Refactoring techniques have become a
widely-used method to mitigate those effects, changing the internal structure of
business process models without altering its external behavior. Business process
models can be transformed into graph structures since it has been proved as a
more efficient way to manage information. This work presents IBUPROFEN, a
set of graph-based refactoring algorithms to improve the quality of business
process models. This paper demonstrates its feasibility by conducting a case
study using a set of industrial business process models.
Keywords: Business process model, refactoring, graph-based, understandabil-
ity, modifiability, case study.
1 INTRODUCTION
Business processes depict the set of coordinated activities that companies have to
conduct to achieve their common business goals [1]. Business processes are often
represented by graph models following standard notations such as BPMN (Business
Process Modeling and Notation) [2]. In these graph representations, business activi-
ties or tasks are considered as nodes and sequence flows between these tasks as edges.
These standard representations provides companies with a mean to manage their busi-
ness processes [3], i.e., analyze, execute and adapt their business process in an effec-
tive way. In fact, the appropriate management of business processes led to competi-
tive advantages [4].
16
Unfortunately, business process models (as abstract descriptions) become misa-
ligned regarding business processes that are daily, actually executed. This is due to
daily operations change faster than business process models. In turn, this is owing to
the fact that IT technologies and enterprise information systems evolve over time by
adding new functionalities and operations that are not updated in business process
models [5]. As a consequence, organizations are increasingly interested in quality
assurance of business process representations and models they own.
There are several quality assurance techniques to achieve business process models
with the appropriate quality levels. Business process mining techniques [6] are em-
ployed to obtain business process models from execution logs. Similarly, business
process archeology [7] analyzes existing artifacts such as source code or databases for
discovering and retrieving business process models in line with actual operation. Re-
pairing techniques are devoted to add missing parts and correct business process
models to fit them to the reality [8]. A part from all these techniques, one of the most
applied and well-proven technique is business process model refactoring [9], which
change the internal structure of business process models without altering or modifying
their external behavior, and therefore, improving the understandability and modifia-
bility among other quality features.
Despite standard notations such as BPMN are graph-based, most business process
model refactoring techniques [10-12], hardly ever are designed as algorithms that
manage graphs. Instead, most refactoring techniques consider, for example, business
processes as two isolated, linear sets of business tasks and sequence flows. This de-
sign decision probably is better for the effectiveness of the refactoring algorithms but
has harmful effects in terms of efficiency. This means that non-graph-based algo-
rithms could have time-consuming problems when face with large, complex business
process models. In fact, the usage of graph in different contexts [13-15] proved to be
much more efficient than any other data structure. Due to this fact, this paper propos-
es IBUPROFEN, a business process refactoring approach based on graphs.
IBUPROFEN defines a set of algorithms that are grouped into three categories ac-
cording to the quality assurance challenge that address: maximization of relevant
elements, reduction of fine-grained granularity and completeness. This paper depicts
how business process models are managed as graphs and how are refactored accord-
ing to the set of graph-based algorithms proposed in IBUPROFEN. This paper illus-
trates the usage of IBUPROFEN by means of a case study involving business process
models obtained from real-life information systems, some of which are around 255
nodes and 512 edges.
The remainder of this paper is organized as follows: Section 2 summarizes related
work; Section 3 introduces IBUPROFEN, the business process refactoring approach.
Hence, their graph-based refactoring algorithms are shown as well as their implemen-
tation; Section 4 presents the application of the proposal with real-life business pro-
cess models. Finally, Section 5 discusses conclusions and future work.
17
2 RELATED WORKS
There are various approaches in literature which deal with business process model
refactoring by using different data structures. Dijkman et al. [10] identify refactoring
opportunities in process model repositories. In order to identify similar parts in two
different process models, these authors decompose both process models into smaller
parts. They use a Refined Process Structure Tree (RPST) where the smaller parts of
the decomposition are connected sub-graphs, such that control enters the fragment via
a single entry node and leaves the fragment via a single exit node. The RPST defines a
unique decomposition, i.e., a hierarchy of fragments that can be computed in linear
time. The main difference of this work with our approach is that they use hierarchical
structures and graphs in combination.
La Rosa et al. [12] provide a set of modularization of business process models
based on graphs. This approach proposes, for example, horizontal modularization by
obtaining sub-graphs of nearly equal size while keeping the number of cut edges low.
However, not all the modularization and refactoring algorithms are based on graphs.
Similarly, the Proviado approach [16] applies a combination of graph reduction
(Omission) and graph aggregation (Collapse) techniques to obtain customized process
views based on a user query. The main difference of this work is that deal with visual-
ization more than refactoring.
Weber et al. [11] enable designers to extract a process fragment into a sub-process
to remove model redundancies, to foster reuse, and to reduce model size. Although
this approach extracts fragments as sub-graphs, not all the refactoring algorithms
proposed by these authors are based on graphs.
Finally, Hauser et al. [17] propose a process graph model to represent business
process models as graphs and transform these graphs into executable code following
the model-driven engineering principles. Unfortunately, the process graph model has
not been used with refactoring purposes.
3 IBUPROFEN
IBUPROFEN (Improvement and BUsiness Process Refactoring OF Embedded
Noise) addresses business process model refactoring. This technique has been espe-
cially designed for business process models represented according to the BPMN and
mined by reverse engineering. IBUPROFEN allows applying different graph-based
refactoring algorithms in order to address some of the challenges that involve this
kind of business process models. For example, incompleteness is an important chal-
lenge to cope with since data can be distributed in several sources. Moreover, differ-
ent types of granularity are a challenge to address because fine-grained granularity
causes the quality degree is lower. Non-relevant information also causes a low degree
quality since the model should not contain additional elements that do not perform
any business logic in the organization.
With the aim to carry out the refactoring, business process models according
BPMN are managed as graphs. Once business process models are represented as
18
graphs, a set of ten refactoring algorithms are performed. These ten refactoring algo-
rithms supported by IBUPROFEN are divided into three categories regarding their
purpose: maximization of relevant elements, fine-grained granularity reduction and
completeness. For example, Fig. 1 shows one belonging to the first category, remov-
ing unnecessary elements. In that case, the gateway (that represents a decision node in
BPMN) is removed since there are not nodes to choose, only one node (Task 2) can
be executed after Task 1. Fig. 2 shows one belonging to the last category, completing
the model. In that case, decision nodes (represented by gateways in BPMN) are added
in incoming and outgoing branches. The diamond shape with the cross (exclusive
gateway) represents that only one of the branches can be taken. The rest of refactoring
algorithms can be consulted in [18].
Fig. 1. Removing unnecessary nesting
Fig. 2. Adding decision nodes between incoming and outgoing branches
IBUPROFEN is supported by a tool developed as an EclipseTM plug-in (available
in [19]). The supporting tool can therefore be used in combination with other
Eclipse™ plug-ins aimed at obtaining business process models, e.g., from the source
code of existing information systems. IBUPROFEN uses JGraphT [20] to manipulate
graphs easily. JGraphT is a free Java graph library that provides mathematical graph-
theory objects and algorithms. JGraphT supports various types of graphs such as, for
example, directed graphs that are used in IBUPROFEN. Additionally, the BPMN file
is read through the Jdom [21], library responsible for handling XML files via Java
code.
The next sub-sections explain in detail the transformation between business pro-
cess models according BPMN and graphs, as well as the implementation of each cat-
egory of refactoring algorithms and the transformation from graphs to BPMN.
3.1 Transformation BPMN to Graphs
Each business process model is transformed into a directed weighted graph (De-
faultDirectedWeightedGraph), a non-simple directed graph in which
19
multiple edges between any two vertices are not permitted, but loops are. In our case,
vertices (V) are modeled using the BPElement class while edges (E) are modeled
using the BPEdge class. Both classes implement the Cloneable interface. BPEle-
ment saves the information about a BPMN element such as a task, data object, gate-
ways and events. BPEdge, in turn, saves the information about an edge in the business
process model such as a sequence flow and an association flow. The information that
is saved by these classes is the name, the type, an identifier, among other. In case of
events and gateways, nodes save the subtype of this type of node, i.e., start, interme-
diate and end for events and exclusive, parallel, inclusive and complex for gateways.
Compounded tasks are, in turn, directed weighted graphs.
The set of business process models mined from existing information systems is
transformed therefore to a list of graphs. Each graph represents one business process
model and has several BPElement instances connected by means of several BPEdge
instances. Thus, a business process model is represented as a graph through the nota-
tion G= (V, E), being v1, v2ϵ V (nodes) and e ϵ E (edge), the edge between these
nodes e = (v1, v2). For example, the connection between a task t1 and task t2 (se-
quence flow) is represented as follow: e = (v1, v2), e.type=SEQUENCE, e.name=
“t1t2”, v1.type=TASK, v1.name=t1, v2.type=TASK, v2.name=t2.
3.2 Graph-based refactoring algorithms
IBUPROFEN provides a set of ten refactoring algorithms grouped into three cate-
gories: maximization of relevant elements, fine-grained granularity reduction and
completeness [18]. The next paragraphs explain in detail the implementation of each
refactoring algorithms belonging to each of the categories.
• Maximization of relevant elements.
This category groups the refactoring algorithms responsible for removing non-
relevant elements found in business process models; these include isolated tasks,
sheet tasks and inconsistencies. Moreover, nested gateways can bring about an in-
crease in the complexity of business process models, so these are replaced by equiva-
lent, light-weight structures. The refactoring algorithms are the following:
R1. Remove Isolated Nodes: This refactoring algorithm removes nodes (i.e.,
tasks, gateways or events) in the business process model that are not connected with
any other node in that model, i.e., nodes without incoming and outgoing edges. Algo-
rithm 1 illustrates this refactoring.
Algorithm 1: Remove Isolated Nodes.
Given G = (V, E)
∀aϵV
if ¬∃ e ϵ E : (e = (b, a) ˅ e = (a, b), b ϵ V) then
V – {a}
20
R2. Remove Sheet Nodes: This refactoring algorithm removes elements in the
business process model that are considered sheet nodes. These nodes can be gateways
or intermediate events that have no successor nodes, i.e., nodes without outgoing
edges in the graph. Algorithm 2 illustrates this refactoring.
Algorithm 2: Remove Sheet Nodes.
Given G = (V, E)
∀ a ϵ V : a.type = INTERMEDIATE ˅ a.type = GATEWAY
if ¬∃ e ϵ E : e = (a, b), b ϵ V then
V – {a}
R3. Merge nesting: This refactoring algorithm merges consecutive gateways of
the same type (i.e., all gateways are exclusive or all are inclusive or parallel and so
on). The merging is performed when the first gateway has only one output and the
second has only one input. Algorithm 3 illustrates this refactoring algorithm.
Algorithm 3: Merge Nesting.
Given G = (V, E)
gatewaysToMerge Ø
∀ a ϵ V : a.type = GATEWAY
∀ b ϵ V : ∃! e1 ϵ E : e1 = (a, b)
if b.type = GATEWAY ˄ ∃! e2 ϵ E : v2 = (b, a) ˄ a.subType = b.subType then
gatewaysToMerge {(a,b)}
∀ (g1,g2) ϵ gatewaysToMerge
∀ e ϵ E : e = (g2, a)
E {e’ = (g1,a)}, E – {e}, V – {g2}
R4. Remove Inconsistencies: This refactoring algorithm removes sequence flows
in the business process model that are considered inconsistent. When two tasks are
connected through a cut node, such as an intermediate event or a gateway, and
through a direct sequence flow, this sequence flow is removed while the most restric-
tive path is maintained. Algorithm 4 illustrates this refactoring.
Algorithm 4: Remove Inconsistent Paths.
Given G = (V, E)
∀ a ϵ V : a.type = GATEWAY ˅ a.type = INTERMEDIATE
∀ es ϵ E : es = (a, as), as ϵ V
∀ ep ϵ E : ep = (ap, a), ap ϵ V
if ∃ e ϵ E : e = (ap, as) then
E – {es}, E – {ep}, V – {a}
21
R5. Remove unnecessary nesting: This refactoring algorithm was shown in Fig.
1. It removes gateways that connect only two nodes, i.e. with one input and one out-
put. This gateway is removed and a direct sequence flow is created between these
nodes. Algorithm 5 illustrates this refactoring.
Algorithm 5: Remove unnecessary nesting.
Given G = (V, E)
∀ a ϵ V : a.type = GATEWAY
if ∃!es ϵ E : es = (a, as) ˄ ∃!ep ϵ E : ep = (ap, a), as,ap ϵ V then
E – {es}, E – {ep}, V – {a}, E {e’ = ( ap, as)}
• Fine-grained granularity reduction
The different granularity of business tasks and callable units in existing infor-
mation systems constitutes another important challenge [22]. According to the ap-
proach proposed by [23], each callable unit in an information systems is seen as a
candidate business task. However, existing systems typically contain thousands of
callable units, some of which are large ones supporting the main business functionali-
ties of the system, while many are very small and do not support any business activity
directly. In other situations, a set of small callable units together support a business
activity. This means that this category provides two refactoring algorithms to deal
with large sets of fine-grained business tasks and data objects:
R6. Create compound tasks: This refactoring algorithm transforms each task into
a compound task when this task has several subsequent tasks, which are in turn con-
nected by a round-trip sequence flow to the task. This scenario comes about because
each callable unit is transformed into a task during the reverse engineering stage when
a given callable unit can invoke another callable unit, returning a value to the first
one. In this case, a compound task is created with a start and end event connected
with each subsequent task through the respective split and join exclusive gateways.
Algorithm 6 illustrates this refactoring algorithm.
Algorithm 6: Create compound tasks.
Given G = (V, E)
∀ a ϵ V : a.type = TASK
children Ø
∀ b ϵ V : b.type = TASK
if ∃ e1 ϵ E : e1 = (a, b) ˄ ∃! e2 ϵ E : e2 = (b, a) then
children b
V – {b}, E – { e1}, E – { e2},
G’ = (V’, E’)
V’ {a1,a2,a3,a4}, a1.type = START, a2.type = END, a3.type = COMPLEX, a4.type =
COMPLEX
22
E’ {m1,m2,m3,m4}, m1.type = SEQUENCE, m2.type = SEQUENCE, m3.type =
SEQUENCE, m4.type = SEQUENCE, m1 = (a1,a3), m2 = (a4, a2)
∀ c ϵ children
E’ {m’,m’’}, m’.type = SEQUENCE, m’ = (a3,c), m’’.type = SEQUENCE, m’’ = (c,
a4)
a.type = COMPOUND, a.subGraph = G’
R7. Combine data objects: This refactoring algorithm combines data objects that
are input and/or output of a task. The combination is possible when those data objects
are used exclusively (written or read) for that task. The combination is done when the
number of data objects is above a threshold. To mitigate the collateral semantic loss,
all the names of the grouped data objects are saved in the documentation attribute
provided by the BPMN standard. Algorithm 7 illustrates this refactoring algorithm.
Algorithm 7: Combine data objects.
Given G = (V, E)
∀ a ϵ V : a.type = TASK
dataWrite Ø , dataRead Ø
∀ e ϵ E : e = (a, b), b ϵ V, b.type = DATA
if ∃! e ϵ E: e = (c, b) ˄ c=a then
dataWrite {b}
V – {b}, E – {e}
∀ e ϵ E : e = (b, a), b ϵ V, b.type = DATA
if ∃! e ϵ E: e = (b, c) ˄ c=a then
dataRead {b}
V – {b}, E – {e}
V {dw}, dw.type = DATA
∀ d1 ϵ dataWrite
dw.additionalInfo d1.name
E {ew}, ew.type = SEQUENCE, ew = (a, dw)
V {dr}, dr.type = DATA
∀ d2 ϵ dataRead
dr.additionalInfo {d2.name}
E {er = (dr, a)}, er.type = SEQUENCE
• Completeness
Any reverse engineering technique implies an increase in the degree of abstraction,
and therefore there is a semantic loss. This category is provided for that reason, to
deal with semantic loss by means of the incorporation of additional elements that are
not been retrieved in the reverse engineering phase. The refactoring algorithms are the
following:
23
R8. Join Start and End events: This refactoring algorithm joins the start and end
event to the starting and ending tasks, respectively. These events are created whether
or not they were created before. When there are several starting tasks, the algorithm
adds a split complex gateway between the start event and starting tasks. Similarly, if
there are several ending tasks, it adds a joining complex gateway between ending
tasks and the end event [24]. Algorithm 8 illustrates this refactoring.
Algorithm 8: Join start and end events.
Given G = (V, E)
∀ a ϵ V : a.type = TASK
start Ø , end Ø
if !∃e ϵ E: e = (b, a), b ϵ V then
start {a}
if !∃e ϵ E: e = (a, c), c ϵ V then
end {a}
V {v1,v2,v3,v4}, v1.type = START, v2.type = END, v3 = COMPLEX, v4 = COMPLEX
E {e1,e2}, e1 = (v1, v3), e2 = (v4,v2)
∀ v ϵ start
E {e’ = (v3, v)}
∀ v ϵ end
E {e’ = (v, v4)}
R9. Add gateways in incoming and outgoing branches: It is possible to obtain
business process models by revere engineering that do not follow some of the good
modeling practices that would be in accord with the BPMN standard as regards the
usage of gateways [24]. In this case, this algorithm adds a split and join exclusive
gateway when a certain task has several precursor or subsequent tasks, respectively
(see Fig. 2). Algorithm 9 illustrates this refactoring.
Algorithm 9: Add gateways in branches.
Given G = (V, E)
∀ a ϵ V : a.type = TASK ˅ a.type = EVENT
successor Ø, predecessor Ø
∀ b ϵ V :∃e ϵ E: e = (a, b)
if b.type = TASK ˅ b.type = EVENT ˅ b.type = GATEWAY
successor {b}
E – {e}
∀ b ϵ V :∃e ϵ E: e = (b, a)
if b.type = TASK ∨ b.type = EVENT ˅ b.type = GATEWAY
predecessor {b}
E – {e}
24
if |successor|>1 then
V {v1}, v1.type = EXCLUSIVE
∀ s ϵ successor
E {e1,e2}, e1 = (a, v1), e2 = (v1,s)
if |predecessor|>1 then
V {v2}, v2.type = EXCLUSIVE
∀ p ϵ predecessor
E {e1,e2}, e1 = (p, v1), e2 = (v1,a)
R10. Refine names: This refactoring algorithm implements a heuristic to improve
labels of business tasks that were obtained almost directly from methods or functions
of legacy source code through reverse engineering. These labels usually follow nam-
ing conventions present in most programming approaches such as the concatenation
of various capitalized words. This refactoring algorithm split these labels into ones
containing various words. This algorithm is not necessary to be shown due to the easy
implementation using graphs.
3.3 Graph to BPMN
After applying refactoring algorithms, each graph is transformed into a business
process model and each graph element is transformed into a BPMN element. Thus,
each BPElement is transformed into a task, data object, gateway or event according
to its type while each BPEdge is transformed into a sequence flow or association
flow according to its type.
4 CASE STUDY
This section provides a case study with a real-life information system. The object of
this case study is IBUPROFEN and the purpose of this case study is to evaluate how
each refactoring algorithm affects to the understandability and modifiability of the
business process model.
Despite the understandability depends on the people in charge of use, management
or evaluation such business process models, i.e., it is subjective, understandability can
be assess through several quality measures such as the number of nodes in the busi-
ness process models, the number of nesting branches, the connectivity between ele-
ments, the density of elements, among others. For this reason, this paper considers as
dependent variables the size, density and separability of a business process model in
order to assess understandability and modifiability of a business process model.
• Size is the number of nodes in a business process model. This measure affects
negatively to the understandability, i.e. a higher size difficult the understandability
of a certain business process model [24].
25
• Density is the ratio between the total number of edges in a business process model
and the theoretical maximum number of possible edges regarding the number of
nodes. It affects the understandability and modifiability negatively, i.e., lower den-
sity values lead to business process models with a lower level of intricacy.
• Separability represents the ratio between the number of cut-vertices in a business
process model (i.e. nodes that serve as bridges between otherwise strongly-
connected components) and the total number of nodes. Separability affects the
modifiability negatively, since higher separability implies hard and error-prone
modifications of business process models.
The case under study is XCare information system. XCare is a mobile application
of 9.9 thousands of lines of code. This application is intended for diabetes patients,
which analyzes blood (through an external device) and suggests diet plans. Hence, the
independent variables of this case study are each business process model obtained
from XCare through reverse engineering.
The case study procedure consists of a set of semiautomatic steps that are executed
in a computer with a 2.66 GHz dual processor and 4.0 GB RAM. The steps are as
follows:
1. First of all, the extraction of business process model from XCare is performed by
using MARBLE [25]. MARBLE is a tool used to recover business process models
from existing Java code. This tool was selected because is released as an Eclipse
plug-in and it therefore can be easily integrated with the IBUPROFEN tool.
2. Fig. 3 gives an example of a business process model obtained by MARBLE from
XCare. This business process model contains 255 nodes and 512 edges, being the
largest mined from XCare. The smallest model obtained has around 7 nodes and 6
edges. The sample can be visualized entirely and perfectly online [26]. Thus, a
sample of 25 business process models is obtained from the source code from
XCare.
3. The whole set of IBUPROFEN refactoring algorithms, that was mentioned in Sec-
tion 3.2, are applied in each business process model retrieved in the above step.
Refactoring algorithms are applied in isolation.
4. The dependent variables (size, density and separability) are recorded before and af-
ter applying each refactoring algorithm in order to be analyzed later.
Table 1 collects the value of the size, density and separability mean after applying
each refactoring algorithm, as well as the gain obtained with respect to the original
value. The gain is defined as the ratio between the difference of measure values and
the original measure value. Thus, a positive gain means that the refactoring affects the
measure positively while a negative gain means that the refactoring affects the meas-
ure negatively. A zero gain means that the value for a certain measure did not change
after refactoring.
26
Fig. 3. Example of business process model managed by IBUPROFEN
Table 1. Effect of each refactoring algorithms on the size, density and separability
Size Density Separability
Mean Gain Mean Gain Mean Gain
Original 70.760 0.000 0.086 0.000 47.88 0.000
R1 46.440 0.366 0.150 -5.903 23.56 0.450
R2 67.120 0.030 0.087 -0.061 44.24 0.040
R3 70.760 0.000 0.086 0.000 47.88 0.000
R4 70.760 0.000 0.086 0.007 47.88 0.000
R5 70.440 0.003 0.086 -0.002 47.88 0.000
R6 62.560 0.114 0.067 0.093 48.76 -0.015
R7 63.040 0.098 0.093 -0.068 41.96 0.120
R8 74.360 -0.201 0.114 -0.511 51.48 -0.249
R9 90.160 -0.229 0.064 0.111 48.08 -0.002
R10 70.760 0.000 0.086 0.000 47.88 0.000
27
Table 1 reveals that removing isolated nodes decreases the size and separability
while the density is increased. Despite the density is higher after R1, the relevance of
the model has been increased since non-relevant elements have been removed. Simi-
larly, R2 causes an increase of density when the size is decreased. Separability is
decreased slightly. However, R3 has not impact on these measures due to business
process models under study do not have nesting gateways. Removing inconsistencies
(R4) maintains the same size and separability while the density is decreased because
the number of edges is lower. Unnecessary gateways are removed (R5) and therefore
the size is decreased while the density is increased owing to the number of nodes is
lower. Separability after R5 is exacerbated slightly. R6 creates compound tasks in
several business process models. This fact makes the size and density decrease in the
most of cases. The same happens with R7, the number of nodes is lower but the num-
ber of edges is lower to and therefore, the density may increase while separability
increases. R8 adds new missing elements in the model as start and end event as well
as complex gateways. This makes that the size, separability and density are higher. In
the same way, adding gateways in incoming and outgoing branches causes higher
size. Nevertheless, the density after R9 tends to decrease due to there is more nodes in
the model. Separability increases slightly since elements are more connected. In con-
trast, R10 does not have affect in any measures but the refinement of names implies
an enhancement of the understandability.
5 CONCLUSIONS AND FUTURE WORK
Refactoring techniques has proved to be a good choice for improving business pro-
cess models in terms, for example, of their understandability and modifiability levels.
While graph-based algorithms have been successfully employed in different contexts,
most business process model refactoring techniques often use alternative data struc-
tures [10-12] which leads to inefficient results. For this reason, this paper presents
IBUPROFEN as a technique for refactoring business process models following a
graph-based approach. Thus, the business process model is managed by means of a
graph, changing its internal structure while its semantic is preserved. IBUPROFEN
proposes ten refactoring algorithm divided into three groups in order to address the
common problems that organizations have to deal when they retrieved such business
process models by reverse engineering.
In order to demonstrate the feasibility of this approach, IBUPROFEN has been
firstly implemented as an open source tool, and secondly, a case study with industrial
business process models has been conducted. The case study reveals that the applica-
tion the proposed graph-based refactoring algorithms improve the size, separability
and density of business process models in the most of cases by removing non-relevant
and fine-grained elements as well as by completing the models. The main limitation
of this study is that results show size and density have an inverse relationship, i.e.,
when one increase the other decrease.
The second limitation lies in the empirical study analyzes the application of each
refactoring algorithm in isolation. However, studies reveals that the order of applica-
28
tion of various refactoring algorithms in sequence could have an effect on the ob-
tained results [18].
In line with the mentioned limitations, the future work will focus on the replication
of the case study by analyzing alternative measures as well as the effect of different
application orders. Furthermore, an algorithm improvement endeavor will be made to
conciliate the size and density gain at the same time.
Acknowledgments
This work was supported by the FPU Spanish Program and the R&D projects MAGO
/PEGASO (Ministerio de Ciencia e Innovación [TIN2009-13718-C02-01]) and
GEODAS-BC (Ministerio de Economía y Competitividad & Fondos FEDER
[TIN2012-37493-C03-01]).
6 REFERENCES
1. Weske, M., Business Process Management: Concepts, Languages, Architectures2007,
Leipzig, Germany: Springer-Verlag Berlin Heidelberg. 368.
2. OMG. Business Process Modeling Notation Specification 2.0. 2011; Available from:
http://www.omg.org/spec/BPMN/2.0/PDF/.
3. Jeston, J., J. Nelis, and T. Davenport, Business Process Management: Practical Guidelines
to Successful Implementations. 2nd ed2008, NV, USA: Butterworth-Heinemann (Elsevier
Ltd.). 469.
4. Davenport, T.H., Need radical innovation and continuous improvement? Integrate process
reengineering and TQM. Strategy & Leadership Journal, 1993. 21(3): p. 6-12.
5. Heuvel, W.-J.v.d., Aligning Modern Business Processes and Legacy Systems: A
Component-Based Perspective (Cooperative Information Systems)2006: The MIT Press.
6. van der Aalst, W., Process Mining: Overview and Opportunities. ACM Transactions on
Management Information Systems (TMIS), 2012. 3(2): p. 7.
7. Pérez-Castillo, R., I. García-Rodríguez de Guzmán, and M. Piattini, Business Process
Archeology using MARBLE. Information and Software Technology, 2011.
8. Fahland, D. and W.M.P.v.d. Aalst, Repairing Process Models to Reflect Reality. 2012.
9. Fernández-Ropero, M., R. Pérez-Castillo, and M. Piattini, Refactoring Business Process
Models: A Systematic Review, in 7th International Conference on Evaluation of Novel
Approaches to Software Engineering (ENASE), J. Filipe and L. Maciaszek, Editors. 2012,
SciTePress: Wrocław, Poland. p. 140-145.
10. Dijkman, R., et al., Identifying refactoring opportunities in process model repositories. Inf.
Softw. Technol., 2011. 53(9): p. 937-948.
11. Weber, B., et al., Refactoring large process model repositories. Computers in Industry,
2011. 62(5): p. 467-486.
12. La Rosa, M., et al., Managing process model complexity via abstract syntax modifications.
Industrial Informatics, IEEE Transactions on, 2011. 7(4): p. 614-629.
13. Pham, M.-D., P. Boncz, and O. Erling, S3G2: A Scalable Structure-Correlated Social
Graph Generator, in Selected Topics in Performance Evaluation and Benchmarking, R.
Nambiar and M. Poess, Editors. 2013, Springer Berlin Heidelberg. p. 156-172.
29
14. Gubichev, A. and T. Neumann, Fast approximation of steiner trees in large graphs, in
Proceedings of the 21st ACM international conference on Information and knowledge
management2012, ACM: Maui, Hawaii, USA. p. 1497-1501.
15. Mens, T., G. Taentzer, and O. Runge, Analysing refactoring dependencies using graph
transformation. Software & Systems Modeling, 2007. 6(3): p. 269-285.
16. Bobrik, R., M. Reichert, and T. Bauer, View-Based Process Visualization, in Business
Process Management, G. Alonso, P. Dadam, and M. Rosemann, Editors. 2007, Springer
Berlin Heidelberg. p. 88-95.
17. Hauser, R. and J. Koehler, Compiling Process Graphs into Executable Code, in Generative
Programming and Component Engineering, G. Karsai and E. Visser, Editors. 2004,
Springer Berlin Heidelberg. p. 317-336.
18. Fernández-Ropero, M., et al., Assessing the Best-Order for Business Process Model
Refactoring, in 28th Symposium On Applied Computing (SAC)2013: Coimbra, Portugal. p.
1400-1406.
19. Fernández-Ropero, M., R. Pérez-Castillo, and M. Piattini. IBUPROFEN. 2012; Available
from: http://marketplace.eclipse.org/content/IBUPROFEN.
20. Naveh, B. and Contributors. JGraphT. 2011; Available from: http://jgrapht.org/.
21. Hunter, J., JDOM, 2009.
22. Pérez-Castillo, R., et al., Generating Event Logs from Non-Process-Aware Systems
Enabling Business Process Mining. Enterprise Information System Journal, 2011. 5(3): p.
301–335.
23. Zou, Y. and M. Hung, An Approach for Extracting Workflows from E-Commerce
Applications, in Proceedings of the Fourteenth International Conference on Program
Comprehension2006, IEEE Computer Society. p. 127-136.
24. Mendling, J., H.A. Reijers, and W.M.P. van der Aalst, Seven process modeling guidelines
(7PMG). Information and Software Technology, 2010. 52(2): p. 127-136.
25. Pérez-Castillo, R., et al., MARBLE. A Business Process Archeology Tool, in 27th IEEE
International Conference on Software Maintenance (ICSM'11)2011, IEEE Computer
Society: Williamsburg, Virginia, USA. p. 578-581.
26. Fernández-Ropero, M., R. Pérez-Castillo, and M. Piattini. Extra material of Graph-Based
Business Process Model Refactoring 2013; Available from: http://alarcos.esi.uclm.es/
per/mfernandez/material3.html.
30