The concept of refactoring was proposed by
Opdyke in 1992 as a methodology for restructuring
programs (Opdyke, 1992). In the last decades
refactoring has emerged as a technique to improve
the maintainability of software systems. Traditional
refactoring primarily focuses on the level of source
code for the software life cycle, but it can also be
applied to the scope of the models (Mens and
Tourwé, 2004). For example, refactoring has been
applied to UML (Unified Modeling Language)
models and also to business process modeling.
Refactoring is also frequently termed as
restructuring since it is applied as the second stage
of software modernization process. Software
modernization advocates carrying out traditional
software reengineering following the model-driven
developments principles (i.e., considering all the
involved artifacts as models at different abstraction
levels). Software modernization consists of three
stages: (i) reverse engineering, which represents the
system at a higher level of abstraction; (ii)
restructuring or refactoring, which represents the
system at the same level of abstraction, improving
one or more properties of the system, preserving its
external behavior; and (iii) forward engineering,
which generates the implementation of the system at
a lower level of abstraction integrating the new
features included in the previous stage.
Business process models refactoring, within a
software modernization process, first needs to detect
refactoring opportunities and then it applies
refactoring operators. Currently, there are several
techniques and approaches to refactor business
process models. However, there is not a systematic
review of all available techniques in the literature in
order to understand its evolution and motivation in
each case. For this reason this paper presents a
systematic literature review to know the refactoring
techniques and detect those techniques that can be
particularly applied to business process models
retrieved by reverse engineering. The review
provides a summary of the state-of-the-art and
identifies possible areas of research that have not
been addressed yet.
The systematic literature review is planed and
conducted following the process proposed by
(Kitchenham and Charters, 2007) which is organized
in: (1) planning, which defines the research
questions and establishes the search protocol; (2)
execution, in which the search of research studies is
systematically carried out according to the protocol
defined in the previous phase; and (3) analysis of
results, in which some of the retrieved studies are
considered as primary and are analyzed to draw
conclusions.
After analyzing the studies retrieved during the
search, the following main conclusions were
obtained: (1) studies about business process
refactoring hardly ever provide an empirical
validation of their proposals, which reveals that this
research field is not mature enough; (2) there is an
increasing interest in the area in recent years; and (3)
none of the studies proposes to refactor business
process models previously obtained through reverse
engineering from existing information systems. As a
result, there is a potential research field that has not
been addressed by now.
The remaining of the paper is organized as
follows: Section 2 describes the first phase of the
systematic review through the formulation of
research questions. Section 3 corresponds to the
second phase of the systematic review, the
conduction. Section 4 describes the analysis of the
results, concluding the process of Kitchenham.
Finally, Section 5 shows the obtained conclusions
after the execution of a systematic literature review.
2 PLANNING THE REVIEW
This section presents the planning of the review. It
shows the research questions formulated and the
development of the protocol to guide the review.
2.1 Research Questions
This section provides the research questions
formulated in the review, which must be answered
after analysing the obtained results. Table 1 shows
the research questions RQ1 and the additional
question AQ1.
2.2 Development of the Protocol
This section specifies the method used to carry out
the systematic review. The review protocol provides
guidelines to find primary studies that give an
answer to the research questions. Thus, it is
necessary to have some selection criteria of these
primary studies for their inclusion in or exclusion
from the systematic review. Then, a categorization
of each primary study is performed through data
extraction.
2.2.1 Formulation of the Search Strings
In order to formulate the search string it is necessary
to know what to search and where to search.
RefactoringBusinessProcessModels-ASystematicReview
141