=Paper= {{Paper |id=Vol-3062/paper09 |storemode=property |title=Towards a Catalog of Refactoring Solutions for Enterprise Architecture Smells |pdfUrl=https://ceur-ws.org/Vol-3062/Paper09_QuASoQ.pdf |volume=Vol-3062 |authors=Lukas Liss,Henrik Kämmerling,Peter Alexander,Horst Lichter |dblpUrl=https://dblp.org/rec/conf/apsec/LissKAL21 }} ==Towards a Catalog of Refactoring Solutions for Enterprise Architecture Smells== https://ceur-ws.org/Vol-3062/Paper09_QuASoQ.pdf
Towards a Catalog of Refactoring Solutions for Enterprise
Architecture Smells
Lukas Liss1 , Henrik Kämmerling1 , Peter Alexander1 and Horst Lichter1
1
    RWTH Aachen University, Research Group Software Construction, Ahornstrasse 55, Aachen, Germany


                                             Abstract
                                             The model of enterprise architecture (EA) is often a primary means of steering the business-IT development. It helps to
                                             ensure EA qualities in many ways, including identification of weaknesses in an EA or the signs thereof. Such weaknesses
                                             have been addressed through the study of EA smell, which focuses on common bad habits in EA practices. Although EA
                                             smell problems have been described in various contexts, current solutions lack the basis of evidence and practical details that
                                             are necessary for their adoption. Therefore, this study seeks to gain new insights into the solution domain of EA smells by
                                             exploring current knowledge about refactoring solutions. We present our findings in a catalog of EA refactoring solutions
                                             intended to serve as food for thought for future research directions.

                                             Keywords
                                             enterprise architecture, enterprise architecture smell, refactoring solution



1. Introduction                                                                                                        current knowledge about refactoring solutions to find
                                                                                                                       further evidence about EA refactoring solutions and new
The model of enterprise architecture (EA) greatly sup-                                                                 ways of approaching them.
ports sustainable management of complex IT landscapes.                                                                    Considering that current EA smells were derived from
It provides insights into the current implementations and                                                              code smells, we argue that exploring known code refac-
future orientations of the EA developed, thereby provid-                                                               toring solutions can result in meaningful insights into
ing a reasoning basis for important decisions. Neverthe-                                                               the refactoring solutions for EA smells. Therefore, based
less, the maintenance of the EA model is often pushed                                                                  on the code smells used in EA smell studies, we first
down the priority list due to, e.g., lack of resources or                                                              searched for relevant code refactoring solutions in major
supporting methods. Flaws and deficiencies in the EA                                                                   code smell and refactoring catalogs. The code refactor-
may remain ignored and create barriers to EA evolution                                                                 ing solutions collected were then used to answer the
known as EA debt [1]. To prevent such tendencies, prac-                                                                following research questions (RQ):
tical methods for supporting the continuous evaluation
and improvement of EA models are needed.                                                                               RQ 1 What EA refactoring solutions can be derived
   Using EA models to guide the improvement of EA qual-                                                                     from the existing code refactoring solutions?
ities has been proposed by some studies. Salentin and
Hacks coined the concept of EA smell to address common                                                                 RQ 1.1 How to derive insights about EA refactoring
bad habits in EA practices and derived EA smells [2] by                                                                      from analyzing code refactoring solutions?
transferring known code smells into the context of EA.                                                                 RQ 1.2 What attributes can describe an EA refactoring
Lehmann et al. made a similar attempt to derive process                                                                      solution?
modelling anti-patterns for EA analyses [3] by transfer-
ring known workflow anti-patterns into the context of                                                                  RQ 2 How can EA practitioners and researchers benefit
EA. Both of these studies suggest, among others, some so-                                                                   from knowing about EA refactoring solutions?
lutions to refactor the problems they identify. However,
existing descriptions of these solutions lack the basis of                                                                The remainder of this paper is structured as follows:
evidence and practical details that are necessary for their                                                            Section 2 gives an overview of studies related to refac-
application. This study therefore focuses on exploring                                                                 toring solutions. Section 3 describes our methodology
                                                                                                                       for deriving and documenting refactoring solutions for
QuASoQ 2021: 9th International Workshop on Quantitative                                                                EA smells. Section 4 presents the resulting EA refactor-
Approaches to Software Quality, December 06, 2021, Taipei, Taiwan
Envelope-Open lukas.liss@rwth-aachen.de (L. Liss);
                                                                                                                       ing solutions mapped to the corresponding EA smells.
henrik.kaemmerling@rwth-aachen.de (H. Kämmerling);                                                                     Section 5 demonstrates some small practical examples of
alexander@swc.rwth-aachen.de (P. Alexander);                                                                           using EA refactoring solution for mitigating EA smells.
lichter@swc.rwth-aachen.de (H. Lichter)                                                                                Section 6 discusses our finding, its implications, and the
Orcid 0000-0001-6534-278X (P. Alexander); 0000-0002-3440-1238                                                          threats to its validity. Section 7 motivates future research
(H. Lichter)
                                       © 2021 Copyright for this paper by its authors. Use permitted under Creative    directions and concludes this paper.
                                       Commons License Attribution 4.0 International (CC BY 4.0).
    CEUR
    Workshop
    Proceedings
                  http://ceur-ws.org
                  ISSN 1613-0073
                                       CEUR Workshop Proceedings (CEUR-WS.org)




                                                                                                                      60
2. Related Work                                               ness, application, and/or technology architecture. This
                                                              scope was recently expanded by the exploration into EA
The concept of refactoring has been developed to sup- process anti-pattern, which resulted in 18 EA smells for
port software design and evolution, specifically to rec- process-related issues [3]. As the interest in EA smell
tify design flaws and improve software quality through research is growing, more EA smells will continue to be
restructuring plans while preserving the observable be- identified through new explorations into other aspects
havior. The term ’refactoring’ can be used in different of EA, such as management.
ways, namely ’refactoring’ (noun) to mention the restruc-
turing applied to a software [4], ’to refactor’ (verb) to
mention the activity of restructuring a software [4], or 3. Methodology
’refactoring solution’ to mention a possible technique for
restructuring a software (e.g. [5]). For the sake of clarity, This study uses the design science research (DSR) method-
these ways of usage are applied in this paper.                ology according to the guidelines proposed by Peffers
   After being extensively used in programming domains, et al. [21] and Hevner et al. [22]. A DSR aims to devise
such as the procedural programming (e.g. [6]), object- an artifact that addresses a ”heretofore unsolved and im-
oriented programming (e.g. [5]), and functional program- portant business problem” by drawing on the existing
ming (e.g. [7]), the concept of refactoring has been ex- knowledge, and the resulting artifact must be rigorously
plored in a wider spectrum of software engineering. In evaluated in terms of its ”utility, quality, and efficacy” and
the domain of software modelling, the concept of model effectively communicated to relevant audiences. With
refactoring was introduced to enable restructuring plans respect to the DSR guidelines above, this study follows
on the high-level description of software [8]. The aim of the six main steps of DSR as listed below.
model refactoring can be twofold: to allow for an earlier      1. Problem identification and motivation. Define
(i.e. at the design stage) and easier (i.e. reduced com-          the specific research problem and justify the value of
plexity) refactoring of software; or to improve semantic          the solution proposed
and syntactic quality measures of the model. Whichever
aim is set, model refactoring should preserve both the         2. Solution objective definition Infer the objectives
behavior of the modelled software and the semantic of             of the solution proposed from the problem definition
the model.                                                        and knowledge of what is possible and feasible
    Studies of model refactoring have varied in their focus,
whether it be on a specific modelling language or par-         3. Design and development. Create the artifact
ticular architectural aspect. Modelling languages such         4. Demonstration. Demonstrate the use of the artifact
as the object constraint language (OCL), unified mod-             to solve one or more instances of the problem
elling language (UML), and web ontology language have
been studied and supported with designated refactoring         5. Evaluation. Observe and measure how well the arti-
solutions [9] [10] [11]. Architectural aspects such as            fact supports a solution to the problem
process aspect, data aspect, and style aspect have also
been analyzed in this context to support a comprehensive       6. Communication. Communicate the problem and
architecture restructuring [12] [13] [14]. Furthermore,           its importance, the artifact, its utility and novelty, the
the so-called large refactorings have been proposed to            rigor of its design, and its effectiveness to researchers
deal with refactoring in complex projects, specifically           and other relevant audiences
when changing significant parts of a system, which often       The following subsections describe the process and meth-
takes longer than a day [15]. Still, there are growing         ods employed in this study with respect to the steps
possibilities to explore new refactoring solutions for new     above.
design anomalies, especially with the growing interest in
bad smell research—which focuses on detecting concrete
indication of the need for refactoring [4].                    3.1. Problem identification and
    The concept of bad smell has been adopted in the do-            motivation
main of EA and referred to as EA smell, which represents       Despite current results in EA smell research (as presented
negative examples and bad habits that, when ignored,           in section 2), the identification of EA smells is never an
may harm the performance of EA activities or even the          end in itself. The identified EA smells should, e.g., in-
organization as a whole [2]. The concept was proposed          form the decisions for imposing suitable EA improvement
together with a catalog of 45 EA smells, which describes       measures with regards to the current circumstances and
(among others) the problem contexts, applicable detec-         interests. To reason such decisions, enterprise architects
tion methods, and possible mitigation solutions. Based         need to first understand the applicability of each solu-
on the scope of occurrence, an EA smell can be of the busi-    tion alternative through evidence and practical details,




                                                           61
 UML → ArchiMate                            Source                  UML → ArchiMate                             Source
 Activity → Interaction, Function, Pro-     [16, 17, 18]            Interface → Interface, Service              [19, 16, 17, 20,
 cess                                                                                                           18]
 Actor → Actor, Role                        [19, 16, 17, 20]        Method → Application/Infrastructure         [16]
 Artifact → Artifact, Contract, Deliver-    [19, 16, 17, 20]        Function, Infrastructure Service
 able, Gap, Product, Representation                                 Note/Comment → Meaning, Represen-           [18]
 Association → Association, Aggregation,    [17, 20, 18]            tation
 Composition                                                        Node → Node, Communication Path, De-        [19, 16, 17, 20]
 Class → Actor, Collaboration, Compo-       [19, 16, 20, 18]        vice, Infrastructure Interface, Location,
 nent, Data Object, Meaning, Motiva-                                Network, System Software
 tional Concepts, Object, Plateau, Repre-                           Object → Object, Contract, Data Object,     [16]
 sentation, Role, Stakeholder, Value                                Meaning, Product, Representation, Value
 Collaboration → Collaboration, Func-       [19, 16, 17, 20,        Opaque Behavior → Application Inter-        [20]
 tion, Interface, Location                  18]                     action, Business Event, Business Interac-
 Component → Component, Grouping            [19, 16, 17, 20]        tion, Business Process, Junction, Work
 Communication                    Path →    [17, 20, 18]            Package
 Communication Path, Network                                        Swimlane → Actor, Business Service,         [16]
 Dependency → Assignment, Derived, In-      [17, 20]                Role
 fluence, Serving/Used by                                           Usage → Access, Serving/Used By             [20]
 Device, Event, Execution Environ-          [19, 16, 17, 20]        Use Case → Business Function, Business      [19, 16, 17, 20]
 ment → Device, Event, System Software                              Interaction, Requirement, Service
 Generalization → Specialization            [19, 20, 18]            Realization, Composition, Aggrega-          [19, 17, 20, 18]
 Information Flow → Flow, Triggering        [20]                    tion → Realization, Composition, Aggre-
 Interaction → Interaction, Application     [16, 18]                gation
 Service, Event, Function, Process

Table 1
A mapping from UML to ArchiMate



which are still lacking in the hitherto solution suggestions    3. Allow the EA community to obtain an up-to-date
for EA smell mitigation. Furthermore, current knowl-               overview of results in EA refactoring research and
edge about the refactoring of architectural smells focuses         contribute to the its development
on rather technical aspects (i.e. software architecture),
which are hardly applicable for evaluating and evolv-           3.3. Design and development
ing an EA. Therefore, we argue that EA research should
pursue the identification of possible EA refactoring so-        Since the first EA smells were derived from code smells
lutions to guide enterprise architects in finding possible      [2], we assume that refactoring solutions for code smells
and feasible solutions for the EA smell problems at hand.       may hold some clue to the refactoring solutions for EA
                                                                smells. This assumption leads to the design of our method-
                                                                ology, which includes three main steps: Concept analysis,
3.2. Solution objective definition
                                                                concept mapping, and concept transformation.
Considering the problem described above, this study aims
to devise the concept of EA refactoring solution by draw-   Concept Analysis. Our first step is to collect relevant
ing on the existing knowledge about refactoring. To         code refactoring solutions for the code smells used by
guide the solution design and development, this study       existing studies on EA smells [2]. Our analysis covered
sets the following solution objectives:                     some existing code smells or anti-patterns catalogs (i.e.,
                                                            [4], [23], and [24]). While we are aware that ”the presence
1. Support enterprise architects in finding appropriate
                                                            of code smells does not imply the presence of architec-
   solutions to a certain EA smell by identifying possible
                                                            tural smells and vice versa,” [25], we argue that some
   EA refactoring solutions and providing clear descrip-
                                                            problematic design patterns addressed by code smells
   tions about their context and implementation
                                                            or anti-patterns (e.g. cyclic dependency or duplication)
2. Support enterprise architects in communicating rele- may also occur in EA context. Furthermore, the practice
   vant EA refactoring solutions in a consistent manner of transferring existing concepts into a different domain
   by identifying relevant attributes and providing a stan- has been performed to generate first ideas within a new
   dard documentation template                              problem domain and inspire further research (e.g. [2],
                                                            [3]).




                                                               62
 Attribute                        Meaning
 Name                             Gives the refactoring solution a meaningful designator
 Connected EA Smells              Links the refactoring solution to the targeted EA smells
 Derived from                     Names the code refactoring solution from which this refactoring solution is derived
 Summary                          Gives a brief overview of this refactoring solution
 Intent                           Describes the main goal of this refactoring solution
 Motivation                       Describes the reasons of applying this refactoring solution
 Prerequisites                    Describes the conditions prior to applying this refactoring solution
 Impact                           Describes the influence of this refactoring solution to EA qualities
 Mechanics                        Describes the practical steps to apply this refactoring solution
 Discussion                       Describes the situations when this refactoring solution can be useful
 Graphical example                Shows a graphical representation of the refactoring solution to reduce misinterpretations

Table 2
Attributes of EA refactoring solutions (adapted from [4], [26], and [27]).



Concept Mapping. The second step in our method-                  of UML and ArchiMate is proposed by Gericke, which
ology is to establish a mapping between the concepts in          also considers ArchiMate concepts under the motivation
code and EA modelling, which should serve as a basis for         layer [20]. Table 1 summarizes all these mappings which
conceptually transforming the code refactoring solutions         we use as a basis to conduct the concept transformation.
collected into EA refactoring solutions.
   Although the code and the EA lie on two opposite sides        Concept Transformation. To finally derive EA refac-
in the spectrum of abstraction, the languages used for           toring solutions, the code refactoring solutions collected
modelling them share a good deal of similar constructs in        are processed as follows:
that both support the description of architectural aspects.
Previous studies have proposed some mappings between             • We analyzed the descriptions and examples of code
the notations of UML and ArchiMate, which are the most             refactoring solutions to identify instances of UML con-
used languages for code and EA modelling, respectively.            cepts and relationships. Based on the mapping of UML
Some of these mappings are described in the ArchiMate              and ArchiMate notations shown in table 1, the iden-
specification [17]—as some notations thereof are indeed            tified UML constructs are translated into ArchiMate
derived from UML [19]—, while the rest have been exclu-            constructs. Since each UML notation does not neces-
sively suggested by the studies. Since most code refactor-         sarily map exclusively with one ArchiMate notation
ing solutions have been described and exemplified using            (e.g. both Collaboration and Interface in UML
UML, we strongly argue that such mappings can guide                can be translated into Interface in ArchiMate), the
the transformation of code refactoring solutions into EA           translation has to be inferred rationally from our un-
refactoring solutions.                                             derstanding of what solution is possible and feasible
   We believe that the first mapping between the con-              for the EA smell addressed.
cepts in UML and ArchiMate was proposed by Wiering
et al. [18]. Their study focuses on identifying matching         • In some cases, the translation may not directly result in
concepts and relationships by comparing the notations              an ArchiMate construct that conveys a valid solution in
in the two languages by the properties thereof. Another            the context of EA. Such ArchiMate construct is either
attempt was made in a study by Gill, which focuses on              modified for a reasonable EA refactoring solution or
finding concepts in other modelling languages beside               excluded from consideration.
ArchiMate which are applicable for EA modelling [16].
                                                                    Because of the manual concept transformation in this
The resulting contribution includes a mapping of some
                                                                 process, the outcome is highly influenced by the skill,
concepts in UML to ArchiMate. Furthermore, Lankhorst
                                                                 knowledge, and experience of the researchers. Also, since
also advocate the use of ArchiMate in conjunction with
                                                                 the mapping used gives more than one matching Archi-
other modelling languages (including UML) to create a
                                                                 Mate notations for every UML notation, the resulting
more holistic EA description [19]. To support this in prac-
                                                                 translation may vary depending on the researcher’s own
tice, this contribution highlights not only the similarities
                                                                 understanding and interpretation of the two modelling
but also important differences in ArchiMate and UML, e.g.
                                                                 languages (UML and ArchiMate).
the absence of separate concepts for service and interface
as well as the reverse interpretation of the ArchiMate
relationship serving in UML. Lastly, another mapping




                                                              63
 EA smell → EA refactoring solutions                          EA smell → EA refactoring solutions
 Ambiguous Viewpoint → 5 Viewpoints                           Jumble → Architecture Partitioning
 Architecture by Implication → Goal Question Architecture     Lazy Component → Ghostbusting or Inline Service
 Big Bang → Process Manager                                   Message Chain → Process Manager or Extract & Move Data
 Bloated Service → Merge input                                Object
 Business Process Forever → Process Manager                   Missing Abstraction → Add Abstraction
 Chatty Service → Front End Gate                              Multifaceted Abstraction → Split Phase
 Combinatorial Explosion → Extract Shared Functionality       Nanoservices → Front End Gate
 Connector Envy → Extract Component                           No Legacy → Process Manager
 Cyclic Dependency → Cyclic Dependency Removement             Nothing New → Process Manager
 Data-Driven Migration → Functionality First, Data Last       Overgeneralization → Extract Shared Functionality
 Data Service → Encapsulate Data Service                      Sand Pile → Grouping
 Dead Component → Remove Dead Component                       Scattered Parasitic Function → Merge Components
 Deficient Encapsulation → Break Up Component                 Shared Persistency → Encapsulate Business Objects
 Deficient Names → Rename Component                           Shotgun Surgery → Grouping
 Dense Structure → Complexity Reduction                       Stovepipe System → Architecture Framework or EA Planning
 Documentation → Rename Component                             Strict Layers Violation → Move Service to Different Layer
 Duplication → Extract Shared Functionality                   Temporary Solution → Extract Temporary Solution
 Feature Envy → Move Component or Front End Gate              The God Object → God Object Decomposition
 Golden Hammer → Boundaries                                   The Shiny Nickel → Plan Ahead
 Hub-like Modularization → Break Up Component                 Vendor Lock-In → Isolation Layer
 Incomplete Abstraction → Grouping                            Warm Bodies → Small Project
 Incomplete Node or Collaboration → Introduce Local Exten-    Weakened Modularity → Split Modularity
 sion                                                         Wrong Cuts → Reorganization
 Inconsistent Versioning → Semantic Versioning

Table 3
Catalog of EA Refactoring Solutions



3.4. Demonstration                                           3.5. Evaluation
In this DSR step, the use of the artifact is demonstrated    The evaluation step in DSR aims to review the effective-
to solve one or more instances of the problem [21]. The      ness of the artifact proposed in supporting a solution to
fundamental questions to be answered are, ”What utility      the problem [21]. In this paper, this step is embodied in
does the new artifact provide?” and ”What demonstrates       a discussion, in which we explain how the main RQs of
that utility?” [22] In the context of this study, the EA     this study have been answered based on our findings and
refactoring solutions proposed should provide solution       their demonstration. Since the discussion presented in
alternatives for mitigating EA smells and the practical      this paper is focused only on the qualitative performance
details needed to understand their feasibility as well as    of EA refactoring solution within our example scenario,
relevance according to the current conditions. Therefore,    we recommend future research to extend the evaluation
to demonstrate the applicability of our result for solving   by including more (real-world) examples and quantifiable
the problems described in section 3.1, we illustrate some    measures (e.g. using EA model quality framework [28]).
small scenarios of mitigating EA smells using the EA
refactoring solutions proposed. For this purpose, we use     3.6. Communication
a small ArchiMate model which contains some EA smells.
Then, we identify candidates of EA refactoring solutions     Finally, the communication step focuses on presenting
and select one that we deem the most appropriate for the     the artifact proposed, its utility, and its effectiveness to
EA smell given. It is worth noting that the systematic ap-   researchers and other relevant audiences. [21] To commu-
proach to prioritizing EA refactoring solution candidates    nicate our results in an intuitive and consistent manner,
is still a subject to future work; hence, the selection of   we document the EA refactoring solutions in a standard
EA refactoring solution demonstrated in this paper relies    template (see table 2) which we adapted from some exist-
on the authors’ perspectives. Finally, we elaborate the      ing templates of refactoring solution used in [4] [26] [27].
architectural changes suggested by the EA refactoring        Furthermore, the EA refactoring solutions are categorized
solution selected, show the resulting ArchiMate model        based on the domains of the corresponding EA smells
after applying these architectural changes, and discuss      (i.e. business, technology, and application domains) [2]
the impact on the ArchiMate model’s overall quality.         and made publicly available on a web page [29].




                                                         64
 Name               Process manager                                                 Encapsulate Business Objects
 Description        This refactoring increases the user orientation of service      Route data access through dedicated data
                    interfaces with the goal to enable user involvement in          services that encapsulate the needed busi-
                    business processes. A process manager that realizes the         ness objects.
                    service calls is created. Previous caller of the process call
                    the process manager now with process control data that
                    parameterizes the wanted process.
 Connected EA       Business Process Forever, Big Bang, Nothing New, No             Shared Persistency
 smell              Legacy
 Derived from       Process Manager                                                 Encapsulate Variable
 Intent             Create a process manager component which orchestrates           Narrow down the data visibility by routing
                    the components involved in the process.                         data access through dedicated data services.
 Motivation         This refactoring is meant to create a better user involve-      Reduce the likeability that teams unwillingly
                    ment. It also adds more flexibility and extensibility to the    depend on each other because the visibility
                    architecture.                                                   of the data is too broad.
 Prerequisites      A long, very strict process chain with many different           Multiple business services that access the
                    stakeholders involved.                                          same database.
 Impact             This refactoring makes the application service interfaces       The structure created by the refactoring re-
                    more user oriented which enables the user involvement           duces data visibility to only those of the
                    in business processes.                                          owned business objects, thereby prevent-
                                                                                    ing any unwanted interdependence between
                                                                                    teams and services.
 Mechanics          1. Generate a new service P called the Process Manager          1. Create a new data service that will contain
                    2. Add a service call from P to all the process components      the dedicated data services
                    of the Process manager                                          2. For each business service, create a dedi-
                    3. All calls to the individual process components calls         cated data service that routes the access to
                    now the Process Manager with process control data C             the database. Test each data service.
                    that parameterize the wanted original Process. Test each        3. Move the database into the grouping data
                    call individually.                                              service.
                    4. Remove the service calls between the services that
                    belong now to the Process Manager P
 Discussion         This is not only a refactoring but also an architecture         The data visibility is very narrow when using
                    pattern itself. It can be used to generate more online          this refactoring which reduces unwanted de-
                    involvement for everyone that should be involved. In            pendencies between teams.
                    a peer-to-peer system it is usually not desired to have
                    many centralized services, so the process manager needs
                    to be evaluated carefully.

Table 4
Documentation of the Process Manager and Encapsulate Business Objects EA refactoring solutions



4. Result                                                            Furthermore, the catalog also suggests multiple EA
                                                                  refactoring solution candidates for some EA smells, such
As a result, this study yields a catalog of 37 EA refactoring     as the Move Component and Front End Gate which are
solutions for all 45 EA smells proposed in [2] (see table 3).     suggested as solution candidates for mitigating the Fea-
In the catalog, some EA refactoring solutions are sug-            ture Envy EA smell. Such result is obtained because we
gested for multiple EA smells, such as the Process Man-           identified different studies which suggest different code
ager EA refactoring solution which is suggested for the           refactoring solutions for the same code smell. While we
Big Bang, Business Process Forever, Message Chain,                are aware that the selection of an appropriate EA refactor-
No Legacy, and Nothing New EA smells. Such result                 ing solution should consider the specific circumstances
is obtained because some code refactoring solutions–              surrounding the EA smell problem, such specific circum-
from which we derived EA refactoring solutions–have               stances are beyond the scope of this study. Therefore, we
also been suggested for mitigating various code smells.           suggest future studies in this context to investigate the
While we are aware that specific adaptations may be nec-          possibility to systematically prioritize all EA refactoring
essary to make one kind of solution works for different           solutions recommended for a certain EA smell. In such
problems, the catalog currently provides only a general           a prioritization approach, various quality requirements
description of how to apply each EA refactoring solution.         may be considered, such as scalability and extensibility.
Describing such adaptations is a subject to future work.




                                                               65
Figure 1: EA refactoring demonstration, showing before (left) and after (right) refactoring EA smells in an ArchiMate model



5. Demonstrating EA Refactoring                                modules that are accessible through external interfaces.
                                                               Afterwards, a process manager must be implemented (in
   Solutions                                                   this case, the customer information service) which re-
In order to illustrate the application of the proposed EA ceives requests for customer information processing and
refactoring solutions, we performed an experiment to ap- fulfills these by delegating tasks to the available services.
ply EA refactoring solutions on a small ArchiMate model           The second EA smell (i.e. shared persistency) is de-
(see fig. 1), which we adapted from [2]. This ArchiMate        tected when multiple services access the same data collec-
model contains two EA smells: First, a message chain due       tion or schema, thereby reducing team and service inde-
to the sequential calls over 5 application services to fulfill pendence [30]. For this, our catalog proposes the encap-
the same application process (i.e. customer registra- sulate business objects refactoring solution (adapted
tion). Second, a shared persistency because of the direct from ’encapsulate variable’ in [4]), as presented in table 4.
relations between 3 application services and a database This refactoring solution suggests to route accesses to the
management system (i.e. DBMS).                                 DBMS through dedicated data services; each of which
   The first EA smell (i.e. message chain) occurs when at encapsulates all business objects required by one applica-
least 5 services sequentially interact to fulfill a process, tion service. This structure reduces data visibility to only
which may harm availability and evolvability [30]. To those of the owned business objects, thereby preventing
solve this, our catalog (see table 3) proposes two possi- unwanted interdependence between teams and services.
ble EA refactoring solutions, i.e. the process manager
(inspired from ’process manager’ in [31]) and extract
and move data object (adapted from ’extract and move
                                                               6. Discussion
class’ in [4]). To select from several possible refactoring In this section, we describe the extent to which the main
solutions, the architect must first evaluate whether the RQs (see section 1) of this study have been answered
main idea and practical details thereof suit the context through our finding and its demonstration; elaborate the
of the subjected EA smell. In the presented ArchiMate implications of the EA refactoring solutions identified
model, we assume that the exemplified message chain for researchs and practitioners; and identify the potential
does not stem from data but process architecture issues. threats to the internal and external validity of our result.
Therefore, the process manager is chosen, as presented
in table 4.
   The chosen refactoring solution suggests to restruc- 6.1. Explanation of the Result
ture the collaboration scheme between the chained ser- With regards to answering the RQ1 and its sub-questions,
vices into an orchestration scheme—in which one service this study identifies the first catalog of EA refactoring so-
acts as a ’process manager’ that coordinates independent lutions for all the EA smells proposed in [2]. We achieved
services to fulfill the requested business process. This this result by performing a conceptual transformation
scheme eases the maintenance and extension of the sup- on relevant code refactoring solutions, which relies on a
ported business process, thereby remediating the avail- mapping between code and EA modelling concepts. To
ability and evolvability issues posed by the message chain. document the resulting EA refactoring solutions, we use
In our ArchiMate model, this refactoring solution is ap- a template of attributes which we adapted from some
plied by first encapsulating all involved operations across existing templates in code refactoring domain. Finally,
the chained application services into independent activity we demonstrated the use of several refactoring solutions




                                                           66
in some small scenarios of EA smell. While the solution        the mapping used in this study. Last but not least, the pro-
choices demonstrated may not be suitable to all cases in       cess of transforming code refactoring solutions into EA
reality, we believe that the presented catalog provides a      domain relies on subjective analysis, which potentially
useful platform for EA researchers and practitioners to        results in biased considerations upon deriving the EA
develop new or better refactoring solutions to common          refactoring solutions. To reduce the bias, the resulting EA
problems in EA.                                                refactoring solutions were reviewed and decided among
                                                               the authors of this paper. Despite these weaknesses, we
6.2. Implication for Practitioners &                           believe that the resulting EA refactoring solution cata-
                                                               log is a step in the right direction towards solutions for
     Researchers                                               common design issues in EA.
Recent study in EA has proposed the concept of EA debt
[1] which represents the divergent EA evolution from           External validity. As the resulting EA refactoring so-
the EA standards and principles. One possible source of        lutions are yet to be evaluated in industrial context, their
EA debt is the implementation of sub-optimal solution          descriptions may still rather hypothetical and theoretical,
design. The role of EA smells is to indicate the signs of      thereby posing challenges to their adoption. Further-
existing sub-optimal solutions within the IT landscape,        more, as there could be multiple solution alternatives for
so that further investigation can be triggered in time [2].    every EA smell, further research is still needed to identify
   With regards to answering the RQ2, the implication of       possible factors and conditions which influence the suit-
our result can be seen from both practical and research        ability of a certain EA refactoring solution. Finally, the
perspectives. For EA practitioners, the proposed EA            adoption of EA refactoring solutions greatly depends on
refactoring solutions may help to find possible methods        the progress in EA smell research. At the time of writing,
or techniques for solving the EA smells identified. Also,      the existing EA smells are yet to be evaluated and their
such a solution catalog can help to establish common ter-      descriptions enriched with practical examples.
minologies within an organization, thereby supporting
various stakeholders to discuss possible solutions.
   For the EA research community, our result gives mo-         7. Conclusion & Future Work
tivation and food for thought for further investigations
                                                               Our main goal is to support EA practitioners in analyz-
into the concept of EA refactoring. Future attempts to
                                                               ing possible improvements with regards to the current
extend the catalog by transforming refactoring solutions
                                                               circumstances and interests. We strongly argue that ap-
from other domains (e.g. process smell, infrastructure
                                                               proaches to EA improvement must extend from EA mod-
smell, etc) may also adopt the conceptual transformation
                                                               elling capabilities. Therefore, this study investigates the
methodology used in this study. To allow public contri-
                                                               concept of refactoring in the context of EA modelling.
butions in the development of EA refactoring solutions,
                                                               Our methodology focuses on defining EA refactoring so-
the catalog has been published in a website together with
                                                               lutions for the EA smells proposed in [2] by analyzing the
a guideline on contributing [29].
                                                               known associations between code refactoring solutions
                                                               and code smells. The resulting contribution is a catalog
6.3. Threats to Validity                                       of EA refactoring solutions which is publicly available
The results of this study have to be seen in the light         on a web page [29].
of some limitations. In this section, we present an as-           In spite of this progress, there is still work to be done,
sessment of possible threats to the internal and external      especially in improving the catalog, or where further
validity of our result. Internal validity focuses on the       work is necessary. Some potential future works in this
reliability of the result within the given environment,        context are as follows: Firstly, further EA refactoring
whereas external validity focuses on the ability to gener-     solutions can be derived for EA smells from different
alize the result [32].                                         domains, such as the EA process smells [3]. For such
                                                               purpose, we suggest to adapt the methodology from the
                                                               one used in this study, e.g. by integrating a mapping
Internal Validity. The design of our methodology may
                                                               of ArchiMate to another modelling language of interest
pose certain threats to the internal validity of our result.
                                                               as proposed in [16]. Secondly, empirical studies can be
Firstly, the code refactoring solutions analyzed were col-
                                                               performed to further review and improve the hitherto
lected from a selection of relevant books on code smell
                                                               knowledge in this area. Last but not least, tool supports
and refactoring, thereby threatening the completeness
                                                               can be developed for, e.g., recommending suitable EA
of the EA refactoring solution catalog. Secondly, the
                                                               refactoring solutions (e.g. [33]) or supporting the imple-
mapping between UML and ArchiMate notations used
                                                               mentation thereof.
in the transformation was summarized from some se-
lected sources, thereby threatening the completeness of




                                                           67
References                                                   [9] J. Reimann, C. Wilke, B. Demuth, M. Muck, U. Aß-
                                                                 mann, Tool supported OCL refactoring cata-
[1] S. Hacks, H. Höfert, J. Salentin, Y. C. Yeong,               logue, in: M. Balaban, J. Cabot, M. Gogolla,
    H. Lichter, Towards the definition of enterprise             C. Wilke (Eds.), Proceedings of the 12th Work-
    architecture debts, in: 23rd IEEE International En-          shop on OCL and Textual Modelling, Innsbruck,
    terprise Distributed Object Computing Workshop,              Austria, September 30, 2012, ACM, 2012, pp.
    EDOC Workshops 2019, Paris, France, October 28-              7–12. URL: https://doi.org/10.1145/2428516.2428518.
    31, 2019, 2019, pp. 9–16. doi:10.1109/EDOCW.2019.            doi:10.1145/2428516.2428518 .
    00016 .                                                 [10] M. Misbhauddin, M. Alshayeb, Uml model refac-
[2] J. Salentin, S. Hacks, Towards a catalog of enter-           toring: A systematic literature review, Empiri-
    prise architecture smells, in: N. Gronau, M. Heine,          cal Software Engineering 20 (2015) 206–251. URL:
    H. Krasnova, K. Poustcchi (Eds.), Entwicklun-                https://doi.org/10.1007/s10664-013-9283-7. doi:10.
    gen, Chancen und Herausforderungen der Digi-                 1007/s10664- 013- 9283- 7 .
    talisierung: Proceedings der 15. Internationalen        [11] M. R. Hacene, S. Fennouh, R. Nkambou, P. Valtchev,
    Tagung Wirtschaftsinformatik, WI 2020, Potsdam,              Refactoring of ontologies: Improving the design
    Germany, March 9-11, 2020. Community Tracks,                 of ontological models with concept analysis, in:
    GITO Verlag, 2020, pp. 276–290. doi:10.30844/wi\             22nd IEEE International Conference on Tools with
    _2020\_y1- salentin .                                        Artificial Intelligence, ICTAI 2010, Arras, France,
[3] B. Lehmann, P. Alexander, H. Lichter, S. Hacks, To-          27-29 October 2010 - Volume 2, IEEE Computer
    wards the identification of process anti-patterns            Society, 2010, pp. 167–172. URL: https://doi.org/10.
    in enterprise architecture models, in: H. Lichter,           1109/ICTAI.2010.97. doi:10.1109/ICTAI.2010.97 .
    S. Aydin, T. Sunetnanta, T. Anwar (Eds.), Proceed-      [12] D. Silingas, E. Mileviciene, BPMN 2.0 Handbook,
    ings of the 8th International Workshop on Quanti-            Future Strategies Inc., Lighthouse Point, FL, USA,
    tative Approaches to Software Quality, co-located            2012, pp. 125–134. URL: http://www.futstrat.com/.
    with 27th Asia-Pacific Software Engineering Con-        [13] S. W. Ambler, P. J. Sadalage, Refactoring Databases:
    ference (APSEC 2020), Singapore (virtual), Decem-            Evolutionary Database Design, Addison-Wesley
    ber 1, 2020., CEUR-WS.org, 2020, pp. 47–54. URL:             Professional, 2006.
    http://ceur-ws.org/Vol-2767.                            [14] J. Bruel, M. Mazzara, B. Meyer (Eds.), Software En-
[4] M. Fowler, Refactoring - Improving the Design                gineering Aspects of Continuous Development and
    of Existing Code, Addison Wesley object tech-                New Paradigms of Software Production and Deploy-
    nology series, Addison-Wesley, 1999. URL: http:              ment - Second International Workshop, DEVOPS
    //martinfowler.com/books/refactoring.html.                   2019, Château de Villebrumier, France, May 6-8,
[5] A. S. Nyamawe, H. Liu, Z. Niu, W. Wang, N. Niu,              2019, Revised Selected Papers, volume 12055 of Lec-
    Recommending refactoring solutions based on                  ture Notes in Computer Science, Springer, 2020. URL:
    traceability and code metrics, IEEE Access 6                 https://doi.org/10.1007/978-3-030-39306-9. doi:10.
    (2018) 49460–49475. URL: https://doi.org/10.1109/            1007/978- 3- 030- 39306- 9 .
    ACCESS.2018.2868990. doi:10.1109/ACCESS.2018.           [15] M. Lippert, S. Roock, Refactoring in large software
    2868990 .                                                    projects: performing complex restructurings suc-
[6] W. G. Griswold, Program Restructuring as an Aid              cessfully, John Wiley & Sons, 2006.
    to Software Maintenance, Ph.D. thesis, Department       [16] A. Q. Gill, Agile enterprise architecture modelling:
    of Computer Science and Engineering, University              Evaluating the applicability and integration of six
    of Washington, USA, 1992. UMI Order No. GAX92-               modelling standards, Inf. Softw. Technol. 67 (2015)
    03258.                                                       196–206. URL: https://doi.org/10.1016/j.infsof.2015.
[7] S. J. Thompson, Refactoring functional programs,             07.002. doi:10.1016/j.infsof.2015.07.002 .
    in: V. Vene, T. Uustalu (Eds.), Advanced Func-          [17] The Open Group, Archimate 3.1 specification, 2019.
    tional Programming, 5th International School, AFP            URL: https://pubs.opengroup.org/architecture/
    2004, Tartu, Estonia, August 14-21, 2004, Revised            archimate3-doc/.
    Lectures, volume 3622 of Lecture Notes in Com-          [18] M. J. Wiering, M. M. Bonsangue, R. van Buuren,
    puter Science, Springer, 2004, pp. 331–357. URL:             L. Groenewegen, H. Jonkers, M. M. Lankhorst, In-
    https://doi.org/10.1007/11546382_9. doi:10.1007/             vestigating the mapping of an enterprise descrip-
    11546382\_9 .                                                tion language into UML 2.0, Electronic Notes in The-
[8] A. Folli, T. Mens, Refactoring of UML models using           oretical Computer Science 101 (2004) 155–179. URL:
    AGG, Electron. Commun. Eur. Assoc. Softw. Sci.               https://doi.org/10.1016/j.entcs.2004.02.020. doi:10.
    Technol. 8 (2007). URL: https://doi.org/10.14279/tuj.        1016/j.entcs.2004.02.020 .
    eceasst.8.112. doi:10.14279/tuj.eceasst.8.112 .         [19] M. M. Lankhorst (Ed.), Enterprise Architecture




                                                        68
     at Work - Modelling, Communication and Anal-                Enterprise architecture refactorings, 20.10.2021.
     ysis, Fourth Edition, Springer, 2017. URL: https:           URL: https://swc-public.pages.rwth-aachen.de/
     //doi.org/10.1007/978-3-662-53933-0. doi:10.1007/           ea-refactoring-solutions/web-catalog/.
     978- 3- 662- 53933- 0 .                                [30] J. Salentin, S. Hacks, Enterprise architecture smells,
[20] T. Gericke, ArchiMate to UML Mapping, Tech-                 2020. URL: https://ba-ea-smells.pages.rwth-aachen.
     nical Report, Adocus AB, Stockholm, Sweden,                 de/ea-smells/.
     2018. URL: http://www.adocus.com/media/21703/          [31] J. Král, M. Zemlicka, The most important service-
     archimate-to-uml-mapping-whitepaper.pdf.                    oriented antipatterns, in: Proceedings of the Second
[21] K. Peffers, T. Tuunanen, M. A. Rothenberger,                International Conference on Software Engineering
     S. Chatterjee, A design science research methodol-          Advances (ICSEA 2007), August 25-31, 2007, Cap Es-
     ogy for information systems research, J. Manag. Inf.        terel, French Riviera, France, IEEE Computer Soci-
     Syst. 24 (2008) 45–77. URL: http://www.jmis-web.            ety, 2007, p. 29. URL: https://doi.org/10.1109/ICSEA.
     org/articles/765.                                           2007.74. doi:10.1109/ICSEA.2007.74 .
[22] A. R. Hevner, S. T. March, J. Park, S. Ram, De-        [32] C. Wohlin, P. Runeson, M. Höst, M. C. Ohls-
     sign science in information systems research,               son, B. Regnell, Experimentation in Soft-
     MIS Q. 28 (2004) 75–105. URL: http://misq.org/              ware Engineering - An Introduction, vol-
     design-science-in-information-systems-research.             ume 6 of The Kluwer International Series in
     html.                                                       Software Engineering, Kluwer, 2000. URL:
[23] S. Kebir, I. Borne, D. Meslati, Automatic refac-            https://doi.org/10.1007/978-1-4615-4625-2.
     toring of component-based software by detect-               doi:10.1007/978- 1- 4615- 4625- 2 .
     ing and eliminating bad smells - A search-based        [33] H. Zhang, S. Jarzabek, A bayesian network ap-
     approach, in: L. A. Maciaszek, J. Filipe (Eds.),            proach to rational architectural design, Int. J.
     ENASE 2016 - Proceedings of the 11th International          Softw. Eng. Knowl. Eng. 15 (2005) 695–718. URL:
     Conference on Evaluation of Novel Approaches                https://doi.org/10.1142/S0218194005002488. doi:10.
     to Software Engineering, Rome, Italy 27-28 April,           1142/S0218194005002488 .
     2016, SciTePress, 2016, pp. 210–215. URL: https:
     //doi.org/10.5220/0005891602100215. doi:10.5220/
     0005891602100215 .
[24] W. H. Brown, R. C. Malveau, H. W. S. McCormick,
     T. J. Mowbray, AntiPatterns: Refactoring Software,
     Architectures, and Projects in Crisis, 1st ed., John
     Wiley & Sons, Inc., USA, 1998.
[25] F. A. Fontana, V. Lenarduzzi, R. Roveda, D. Taibi,
     Are architectural smells independent from code
     smells? an empirical study, Journal of Systems
     and Software 154 (2019) 139–156. URL: https://doi.
     org/10.1016/j.jss.2019.04.066. doi:10.1016/j.jss.
     2019.04.066 .
[26] G. Suryanarayana, G. Samarthyam, T. Sharma,
     Refactoring for Software Design Smells: Managing
     Technical Debt, 1st ed., Morgan Kaufmann Publish-
     ers Inc., San Francisco, CA, USA, 2014.
[27] J. Kerievsky, Refactoring to patterns, in: C. Zan-
     nier, H. Erdogmus, L. Lindstrom (Eds.), Extreme
     Programming and Agile Methods - XP/Agile Uni-
     verse 2004, 4th Conference on Extreme Program-
     ming and Agile Methods, Calgary, Canada, August
     15-18, 2004, Proceedings, volume 3134 of Lecture
     Notes in Computer Science, Springer, 2004, p. 232.
     URL: https://doi.org/10.1007/978-3-540-27777-4_54.
     doi:10.1007/978- 3- 540- 27777- 4\_54 .
[28] S. Hacks, F. Timm, Towards a quality framework
     for enterprise architecture models, EMISA Forum
     38 (2018) 31–32.
[29] L. Liss, H. Kämmerling, P. Alexander, H. Lichter,




                                                        69