<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Towards a Catalog of Refactoring Solutions for Enterprise Architecture Smells</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Lukas</forename><surname>Liss</surname></persName>
							<email>lukas.liss@rwth-aachen.de</email>
							<affiliation key="aff0">
								<orgName type="department">Research Group Software Construction</orgName>
								<orgName type="institution">RWTH Aachen University</orgName>
								<address>
									<addrLine>Ahornstrasse 55</addrLine>
									<settlement>Aachen</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Henrik</forename><surname>Kämmerling</surname></persName>
							<email>henrik.kaemmerling@rwth-aachen.de</email>
							<affiliation key="aff0">
								<orgName type="department">Research Group Software Construction</orgName>
								<orgName type="institution">RWTH Aachen University</orgName>
								<address>
									<addrLine>Ahornstrasse 55</addrLine>
									<settlement>Aachen</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Peter</forename><surname>Alexander</surname></persName>
							<email>alexander@swc.rwth-aachen.de</email>
							<affiliation key="aff0">
								<orgName type="department">Research Group Software Construction</orgName>
								<orgName type="institution">RWTH Aachen University</orgName>
								<address>
									<addrLine>Ahornstrasse 55</addrLine>
									<settlement>Aachen</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Horst</forename><surname>Lichter</surname></persName>
							<email>lichter@swc.rwth-aachen.de</email>
							<affiliation key="aff0">
								<orgName type="department">Research Group Software Construction</orgName>
								<orgName type="institution">RWTH Aachen University</orgName>
								<address>
									<addrLine>Ahornstrasse 55</addrLine>
									<settlement>Aachen</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Towards a Catalog of Refactoring Solutions for Enterprise Architecture Smells</title>
					</analytic>
					<monogr>
						<idno type="ISSN">1613-0073</idno>
					</monogr>
					<idno type="MD5">61DC65091C17928BD2A6555C7CE532EB</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-23T22:27+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>enterprise architecture</term>
					<term>enterprise architecture smell</term>
					<term>refactoring solution</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>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.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.">Introduction</head><p>The model of enterprise architecture (EA) greatly supports sustainable management of complex IT landscapes. It provides insights into the current implementations and future orientations of the EA developed, thereby providing a reasoning basis for important decisions. Nevertheless, the maintenance of the EA model is often pushed down the priority list due to, e.g., lack of resources or supporting methods. Flaws and deficiencies in the EA may remain ignored and create barriers to EA evolution known as EA debt <ref type="bibr" target="#b0">[1]</ref>. To prevent such tendencies, practical methods for supporting the continuous evaluation and improvement of EA models are needed.</p><p>Using EA models to guide the improvement of EA qualities has been proposed by some studies. Salentin and Hacks coined the concept of EA smell to address common bad habits in EA practices and derived EA smells <ref type="bibr" target="#b1">[2]</ref> by transferring known code smells into the context of EA. Lehmann et al. made a similar attempt to derive process modelling anti-patterns for EA analyses <ref type="bibr" target="#b2">[3]</ref> by transferring known workflow anti-patterns into the context of EA. Both of these studies suggest, among others, some solutions to refactor the problems they identify. However, existing descriptions of these solutions lack the basis of evidence and practical details that are necessary for their application. This study therefore focuses on exploring current knowledge about refactoring solutions to find further evidence about EA refactoring solutions and new ways of approaching them.</p><p>Considering that current EA smells were derived from code smells, we argue that exploring known code refactoring solutions can result in meaningful insights into the refactoring solutions for EA smells. Therefore, based on the code smells used in EA smell studies, we first searched for relevant code refactoring solutions in major code smell and refactoring catalogs. The code refactoring solutions collected were then used to answer the following research questions (RQ):</p><p>RQ 1 What EA refactoring solutions can be derived from the existing code refactoring solutions? RQ 2 How can EA practitioners and researchers benefit from knowing about EA refactoring solutions?</p><p>The remainder of this paper is structured as follows: Section 2 gives an overview of studies related to refactoring solutions. Section 3 describes our methodology for deriving and documenting refactoring solutions for EA smells. Section 4 presents the resulting EA refactoring solutions mapped to the corresponding EA smells. Section 5 demonstrates some small practical examples of using EA refactoring solution for mitigating EA smells. Section 6 discusses our finding, its implications, and the threats to its validity. Section 7 motivates future research directions and concludes this paper.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">Related Work</head><p>The concept of refactoring has been developed to support software design and evolution, specifically to rectify design flaws and improve software quality through restructuring plans while preserving the observable behavior. The term 'refactoring' can be used in different ways, namely 'refactoring' (noun) to mention the restructuring applied to a software <ref type="bibr" target="#b3">[4]</ref>, 'to refactor' (verb) to mention the activity of restructuring a software <ref type="bibr" target="#b3">[4]</ref>, or 'refactoring solution' to mention a possible technique for restructuring a software (e.g. <ref type="bibr" target="#b4">[5]</ref>). For the sake of clarity, these ways of usage are applied in this paper.</p><p>After being extensively used in programming domains, such as the procedural programming (e.g. <ref type="bibr" target="#b5">[6]</ref>), objectoriented programming (e.g. <ref type="bibr" target="#b4">[5]</ref>), and functional programming (e.g. <ref type="bibr" target="#b6">[7]</ref>), the concept of refactoring has been explored in a wider spectrum of software engineering. In the domain of software modelling, the concept of model refactoring was introduced to enable restructuring plans on the high-level description of software <ref type="bibr" target="#b7">[8]</ref>. The aim of model refactoring can be twofold: to allow for an earlier (i.e. at the design stage) and easier (i.e. reduced complexity) refactoring of software; or to improve semantic and syntactic quality measures of the model. Whichever aim is set, model refactoring should preserve both the behavior of the modelled software and the semantic of the model.</p><p>Studies of model refactoring have varied in their focus, whether it be on a specific modelling language or particular architectural aspect. Modelling languages such as the object constraint language (OCL), unified modelling language (UML), and web ontology language have been studied and supported with designated refactoring solutions <ref type="bibr" target="#b8">[9]</ref> [10] <ref type="bibr" target="#b10">[11]</ref>. Architectural aspects such as process aspect, data aspect, and style aspect have also been analyzed in this context to support a comprehensive architecture restructuring <ref type="bibr" target="#b11">[12]</ref> [13] <ref type="bibr" target="#b13">[14]</ref>. Furthermore, the so-called large refactorings have been proposed to deal with refactoring in complex projects, specifically when changing significant parts of a system, which often takes longer than a day <ref type="bibr" target="#b14">[15]</ref>. Still, there are growing possibilities to explore new refactoring solutions for new design anomalies, especially with the growing interest in bad smell research-which focuses on detecting concrete indication of the need for refactoring <ref type="bibr" target="#b3">[4]</ref>.</p><p>The concept of bad smell has been adopted in the domain of EA and referred to as EA smell, which represents negative examples and bad habits that, when ignored, may harm the performance of EA activities or even the organization as a whole <ref type="bibr" target="#b1">[2]</ref>. The concept was proposed together with a catalog of 45 EA smells, which describes (among others) the problem contexts, applicable detection methods, and possible mitigation solutions. Based on the scope of occurrence, an EA smell can be of the busi-ness, application, and/or technology architecture. This scope was recently expanded by the exploration into EA process anti-pattern, which resulted in 18 EA smells for process-related issues <ref type="bibr" target="#b2">[3]</ref>. As the interest in EA smell research is growing, more EA smells will continue to be identified through new explorations into other aspects of EA, such as management.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">Methodology</head><p>This study uses the design science research (DSR) methodology according to the guidelines proposed by Peffers et al. <ref type="bibr" target="#b20">[21]</ref> and Hevner et al. <ref type="bibr" target="#b21">[22]</ref>. A DSR aims to devise an artifact that addresses a "heretofore unsolved and important business problem" by drawing on the existing knowledge, and the resulting artifact must be rigorously evaluated in terms of its "utility, quality, and efficacy" and effectively communicated to relevant audiences. With respect to the DSR guidelines above, this study follows the six main steps of DSR as listed below. Communicate the problem and its importance, the artifact, its utility and novelty, the rigor of its design, and its effectiveness to researchers and other relevant audiences</p><p>The following subsections describe the process and methods employed in this study with respect to the steps above.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1.">Problem identification and motivation</head><p>Despite current results in EA smell research (as presented in section 2), the identification of EA smells is never an end in itself. The identified EA smells should, e.g., inform the decisions for imposing suitable EA improvement measures with regards to the current circumstances and interests. To reason such decisions, enterprise architects need to first understand the applicability of each solution alternative through evidence and practical details, UML → ArchiMate Source Activity → Interaction, Function, Process <ref type="bibr" target="#b15">[16,</ref><ref type="bibr" target="#b16">17,</ref><ref type="bibr" target="#b17">18]</ref> Actor → Actor, Role <ref type="bibr" target="#b18">[19,</ref><ref type="bibr" target="#b15">16,</ref><ref type="bibr" target="#b16">17,</ref><ref type="bibr" target="#b19">20</ref>] Artifact → Artifact, Contract, Deliverable, Gap, Product, Representation <ref type="bibr" target="#b18">[19,</ref><ref type="bibr" target="#b15">16,</ref><ref type="bibr" target="#b16">17,</ref><ref type="bibr" target="#b19">20]</ref> Association → Association, Aggregation, Composition <ref type="bibr" target="#b16">[17,</ref><ref type="bibr" target="#b19">20,</ref><ref type="bibr" target="#b17">18]</ref> Class → Actor, Collaboration, Component, Data Object, Meaning, Motivational Concepts, Object, Plateau, Representation, Role, Stakeholder, Value <ref type="bibr" target="#b18">[19,</ref><ref type="bibr" target="#b15">16,</ref><ref type="bibr" target="#b19">20,</ref><ref type="bibr" target="#b17">18]</ref> Collaboration → Collaboration, Function, Interface, Location <ref type="bibr" target="#b18">[19,</ref><ref type="bibr" target="#b15">16,</ref><ref type="bibr" target="#b16">17,</ref><ref type="bibr" target="#b19">20,</ref><ref type="bibr" target="#b17">18]</ref> Component → Component, Grouping <ref type="bibr" target="#b18">[19,</ref><ref type="bibr" target="#b15">16,</ref><ref type="bibr" target="#b16">17,</ref><ref type="bibr" target="#b19">20]</ref> </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Communication</head><p>Path → Communication Path, Network <ref type="bibr" target="#b16">[17,</ref><ref type="bibr" target="#b19">20,</ref><ref type="bibr" target="#b17">18]</ref> Dependency → Assignment, Derived, Influence, Serving/Used by <ref type="bibr" target="#b16">[17,</ref><ref type="bibr" target="#b19">20]</ref> Device, Event, Execution Environment → Device, Event, System Software <ref type="bibr" target="#b18">[19,</ref><ref type="bibr" target="#b15">16,</ref><ref type="bibr" target="#b16">17,</ref><ref type="bibr" target="#b19">20]</ref> Generalization → Specialization <ref type="bibr" target="#b18">[19,</ref><ref type="bibr" target="#b19">20,</ref><ref type="bibr" target="#b17">18</ref>] Information Flow → Flow, Triggering</p><p>[20] Interaction → Interaction, Application Service, Event, Function, Process <ref type="bibr" target="#b15">[16,</ref><ref type="bibr" target="#b17">18]</ref> </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>UML → ArchiMate Source</head><p>Interface → Interface, Service <ref type="bibr" target="#b18">[19,</ref><ref type="bibr" target="#b15">16,</ref><ref type="bibr" target="#b16">17,</ref><ref type="bibr" target="#b19">20,</ref><ref type="bibr" target="#b17">18</ref>] Method → Application/Infrastructure Function, Infrastructure Service <ref type="bibr" target="#b15">[16]</ref> Note/Comment → Meaning, Representation <ref type="bibr" target="#b17">[18]</ref> Node → Node, Communication Path, Device, Infrastructure Interface, Location, Network, System Software <ref type="bibr" target="#b18">[19,</ref><ref type="bibr" target="#b15">16,</ref><ref type="bibr" target="#b16">17,</ref><ref type="bibr" target="#b19">20]</ref> Object → Object, Contract, Data Object, Meaning, Product, Representation, Value <ref type="bibr" target="#b15">[16]</ref> Opaque Behavior → Application Interaction, Business Event, Business Interaction, Business Process, Junction, Work Package <ref type="bibr" target="#b19">[20]</ref> Swimlane → Actor, Business Service, Role <ref type="bibr" target="#b15">[16]</ref> Usage → Access, Serving/Used By <ref type="bibr" target="#b19">[20]</ref> Use Case → Business Function, Business Interaction, Requirement, Service <ref type="bibr" target="#b18">[19,</ref><ref type="bibr" target="#b15">16,</ref><ref type="bibr" target="#b16">17,</ref><ref type="bibr" target="#b19">20]</ref> Realization, Composition, Aggregation → Realization, Composition, Aggregation <ref type="bibr" target="#b18">[19,</ref><ref type="bibr" target="#b16">17,</ref><ref type="bibr" target="#b19">20,</ref><ref type="bibr" target="#b17">18]</ref> Table <ref type="table">1</ref> A mapping from UML to ArchiMate which are still lacking in the hitherto solution suggestions for EA smell mitigation. Furthermore, current knowledge about the refactoring of architectural smells focuses on rather technical aspects (i.e. software architecture), which are hardly applicable for evaluating and evolving an EA. Therefore, we argue that EA research should pursue the identification of possible EA refactoring solutions to guide enterprise architects in finding possible and feasible solutions for the EA smell problems at hand.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2.">Solution objective definition</head><p>Considering the problem described above, this study aims to devise the concept of EA refactoring solution by drawing on the existing knowledge about refactoring. To guide the solution design and development, this study sets the following solution objectives:</p><p>1. Support enterprise architects in finding appropriate solutions to a certain EA smell by identifying possible EA refactoring solutions and providing clear descriptions about their context and implementation 2. Support enterprise architects in communicating relevant EA refactoring solutions in a consistent manner by identifying relevant attributes and providing a standard documentation template 3. Allow the EA community to obtain an up-to-date overview of results in EA refactoring research and contribute to the its development</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.3.">Design and development</head><p>Since the first EA smells were derived from code smells <ref type="bibr" target="#b1">[2]</ref>, we assume that refactoring solutions for code smells may hold some clue to the refactoring solutions for EA smells. This assumption leads to the design of our methodology, which includes three main steps: Concept analysis, concept mapping, and concept transformation.</p><p>Concept Analysis. Our first step is to collect relevant code refactoring solutions for the code smells used by existing studies on EA smells <ref type="bibr" target="#b1">[2]</ref>. Our analysis covered some existing code smells or anti-patterns catalogs (i.e., <ref type="bibr" target="#b3">[4]</ref>, <ref type="bibr" target="#b22">[23]</ref>, and <ref type="bibr" target="#b23">[24]</ref>). While we are aware that "the presence of code smells does not imply the presence of architectural smells and vice versa, " <ref type="bibr" target="#b24">[25]</ref>, we argue that some problematic design patterns addressed by code smells or anti-patterns (e.g. cyclic dependency or duplication) may also occur in EA context. Furthermore, the practice of transferring existing concepts into a different domain has been performed to generate first ideas within a new problem domain and inspire further research (e.g. <ref type="bibr" target="#b1">[2]</ref>, <ref type="bibr" target="#b2">[3]</ref>). Describes the situations when this refactoring solution can be useful Graphical example Shows a graphical representation of the refactoring solution to reduce misinterpretations</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Attribute</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Table 2</head><p>Attributes of EA refactoring solutions (adapted from <ref type="bibr" target="#b3">[4]</ref>, <ref type="bibr" target="#b25">[26]</ref>, and <ref type="bibr" target="#b26">[27]</ref>).</p><p>Concept Mapping. The second step in our methodology is to establish a mapping between the concepts in code and EA modelling, which should serve as a basis for conceptually transforming the code refactoring solutions collected into EA refactoring solutions.</p><p>Although the code and the EA lie on two opposite sides in the spectrum of abstraction, the languages used for modelling them share a good deal of similar constructs in that both support the description of architectural aspects. Previous studies have proposed some mappings between the notations of UML and ArchiMate, which are the most used languages for code and EA modelling, respectively. Some of these mappings are described in the ArchiMate specification <ref type="bibr" target="#b16">[17]</ref>-as some notations thereof are indeed derived from UML <ref type="bibr" target="#b18">[19]</ref>-, while the rest have been exclusively suggested by the studies. Since most code refactoring solutions have been described and exemplified using UML, we strongly argue that such mappings can guide the transformation of code refactoring solutions into EA refactoring solutions.</p><p>We believe that the first mapping between the concepts in UML and ArchiMate was proposed by Wiering et al. <ref type="bibr" target="#b17">[18]</ref>. Their study focuses on identifying matching concepts and relationships by comparing the notations in the two languages by the properties thereof. Another attempt was made in a study by Gill, which focuses on finding concepts in other modelling languages beside ArchiMate which are applicable for EA modelling <ref type="bibr" target="#b15">[16]</ref>. The resulting contribution includes a mapping of some concepts in UML to ArchiMate. Furthermore, Lankhorst also advocate the use of ArchiMate in conjunction with other modelling languages (including UML) to create a more holistic EA description <ref type="bibr" target="#b18">[19]</ref>. To support this in practice, this contribution highlights not only the similarities but also important differences in ArchiMate and UML, e.g. 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 of UML and ArchiMate is proposed by Gericke, which also considers ArchiMate concepts under the motivation layer <ref type="bibr" target="#b19">[20]</ref>. • In some cases, the translation may not directly result in an ArchiMate construct that conveys a valid solution in the context of EA. Such ArchiMate construct is either modified for a reasonable EA refactoring solution or excluded from consideration.</p><p>Because of the manual concept transformation in this process, the outcome is highly influenced by the skill, knowledge, and experience of the researchers. Also, since the mapping used gives more than one matching Archi-Mate notations for every UML notation, the resulting translation may vary depending on the researcher's own understanding and interpretation of the two modelling languages (UML and ArchiMate). </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>EA smell</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.4.">Demonstration</head><p>In this DSR step, the use of the artifact is demonstrated to solve one or more instances of the problem <ref type="bibr" target="#b20">[21]</ref>. The fundamental questions to be answered are, "What utility does the new artifact provide?" and "What demonstrates that utility?" <ref type="bibr" target="#b21">[22]</ref> In the context of this study, the EA refactoring solutions proposed should provide solution alternatives for mitigating EA smells and the practical details needed to understand their feasibility as well as relevance according to the current conditions. Therefore, to demonstrate the applicability of our result for solving the problems described in section 3.1, we illustrate some small scenarios of mitigating EA smells using the EA refactoring solutions proposed. For this purpose, we use a small ArchiMate model which contains some EA smells. Then, we identify candidates of EA refactoring solutions and select one that we deem the most appropriate for the EA smell given. It is worth noting that the systematic approach to prioritizing EA refactoring solution candidates is still a subject to future work; hence, the selection of EA refactoring solution demonstrated in this paper relies on the authors' perspectives. Finally, we elaborate the architectural changes suggested by the EA refactoring solution selected, show the resulting ArchiMate model after applying these architectural changes, and discuss the impact on the ArchiMate model's overall quality.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.5.">Evaluation</head><p>The evaluation step in DSR aims to review the effectiveness of the artifact proposed in supporting a solution to the problem <ref type="bibr" target="#b20">[21]</ref>. In this paper, this step is embodied in a discussion, in which we explain how the main RQs of this study have been answered based on our findings and their demonstration. Since the discussion presented in this paper is focused only on the qualitative performance of EA refactoring solution within our example scenario, we recommend future research to extend the evaluation by including more (real-world) examples and quantifiable measures (e.g. using EA model quality framework <ref type="bibr" target="#b27">[28]</ref>).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.6.">Communication</head><p>Finally, the communication step focuses on presenting the artifact proposed, its utility, and its effectiveness to researchers and other relevant audiences. <ref type="bibr" target="#b20">[21]</ref> To communicate our results in an intuitive and consistent manner, we document the EA refactoring solutions in a standard template (see table <ref type="table">2</ref>) which we adapted from some existing templates of refactoring solution used in <ref type="bibr" target="#b3">[4]</ref> [26] <ref type="bibr" target="#b26">[27]</ref>. Furthermore, the EA refactoring solutions are categorized based on the domains of the corresponding EA smells (i.e. business, technology, and application domains) <ref type="bibr" target="#b1">[2]</ref> and made publicly available on a web page <ref type="bibr" target="#b28">[29]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Name</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Process manager Encapsulate Business Objects Description</head><p>This refactoring increases the user orientation of service interfaces with the goal to enable user involvement in business processes. A process manager that realizes the service calls is created. Previous caller of the process call the process manager now with process control data that parameterizes the wanted process.</p><p>Route data access through dedicated data services that encapsulate the needed business objects. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Connected</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Discussion</head><p>This is not only a refactoring but also an architecture pattern itself. It can be used to generate more online involvement for everyone that should be involved. In a peer-to-peer system it is usually not desired to have many centralized services, so the process manager needs to be evaluated carefully.</p><p>The data visibility is very narrow when using this refactoring which reduces unwanted dependencies between teams.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Table 4</head><p>Documentation of the Process Manager and Encapsulate Business Objects EA refactoring solutions</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">Result</head><p>As a result, this study yields a catalog of 37 EA refactoring solutions for all 45 EA smells proposed in <ref type="bibr" target="#b1">[2]</ref> (see table <ref type="table" target="#tab_3">3</ref>).</p><p>In the catalog, some EA refactoring solutions are suggested for multiple EA smells, such as the Process Manager EA refactoring solution which is suggested for the Big Bang, Business Process Forever, Message Chain, No Legacy, and Nothing New EA smells. Such result is obtained because some code refactoring solutionsfrom which we derived EA refactoring solutions-have also been suggested for mitigating various code smells. While we are aware that specific adaptations may be necessary to make one kind of solution works for different problems, the catalog currently provides only a general description of how to apply each EA refactoring solution.</p><p>Describing such adaptations is a subject to future work.</p><p>Furthermore, the catalog also suggests multiple EA refactoring solution candidates for some EA smells, such as the Move Component and Front End Gate which are suggested as solution candidates for mitigating the Feature Envy EA smell. Such result is obtained because we identified different studies which suggest different code refactoring solutions for the same code smell. While we are aware that the selection of an appropriate EA refactoring solution should consider the specific circumstances surrounding the EA smell problem, such specific circumstances are beyond the scope of this study. Therefore, we suggest future studies in this context to investigate the possibility to systematically prioritize all EA refactoring solutions recommended for a certain EA smell. In such a prioritization approach, various quality requirements may be considered, such as scalability and extensibility. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.">Demonstrating EA Refactoring Solutions</head><p>In order to illustrate the application of the proposed EA refactoring solutions, we performed an experiment to apply EA refactoring solutions on a small ArchiMate model (see fig. <ref type="figure" target="#fig_2">1</ref>), which we adapted from <ref type="bibr" target="#b1">[2]</ref>. This ArchiMate model contains two EA smells: First, a message chain due to the sequential calls over 5 application services to fulfill the same application process (i.e. customer registration). Second, a shared persistency because of the direct relations between 3 application services and a database management system (i.e. DBMS). The first EA smell (i.e. message chain) occurs when at least 5 services sequentially interact to fulfill a process, which may harm availability and evolvability <ref type="bibr" target="#b29">[30]</ref>. To solve this, our catalog (see table <ref type="table" target="#tab_3">3</ref>) proposes two possible EA refactoring solutions, i.e. the process manager (inspired from 'process manager' in <ref type="bibr" target="#b30">[31]</ref>) and extract and move data object (adapted from 'extract and move class' in <ref type="bibr" target="#b3">[4]</ref>). To select from several possible refactoring solutions, the architect must first evaluate whether the main idea and practical details thereof suit the context of the subjected EA smell. In the presented ArchiMate model, we assume that the exemplified message chain does not stem from data but process architecture issues. Therefore, the process manager is chosen, as presented in table <ref type="table">4</ref>.</p><p>The chosen refactoring solution suggests to restructure the collaboration scheme between the chained services into an orchestration scheme-in which one service acts as a 'process manager' that coordinates independent services to fulfill the requested business process. This scheme eases the maintenance and extension of the supported business process, thereby remediating the availability and evolvability issues posed by the message chain. In our ArchiMate model, this refactoring solution is applied by first encapsulating all involved operations across the chained application services into independent activity modules that are accessible through external interfaces. Afterwards, a process manager must be implemented (in this case, the customer information service) which receives requests for customer information processing and fulfills these by delegating tasks to the available services.</p><p>The second EA smell (i.e. shared persistency) is detected when multiple services access the same data collection or schema, thereby reducing team and service independence <ref type="bibr" target="#b29">[30]</ref>. For this, our catalog proposes the encapsulate business objects refactoring solution (adapted from 'encapsulate variable' in <ref type="bibr" target="#b3">[4]</ref>), as presented in table <ref type="table">4</ref>. This refactoring solution suggests to route accesses to the DBMS through dedicated data services; each of which encapsulates all business objects required by one application service. This structure reduces data visibility to only those of the owned business objects, thereby preventing unwanted interdependence between teams and services.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.">Discussion</head><p>In this section, we describe the extent to which the main RQs (see section 1) of this study have been answered through our finding and its demonstration; elaborate the implications of the EA refactoring solutions identified for researchs and practitioners; and identify the potential threats to the internal and external validity of our result.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.1.">Explanation of the Result</head><p>With regards to answering the RQ1 and its sub-questions, this study identifies the first catalog of EA refactoring solutions for all the EA smells proposed in <ref type="bibr" target="#b1">[2]</ref>. We achieved this result by performing a conceptual transformation on relevant code refactoring solutions, which relies on a mapping between code and EA modelling concepts. To document the resulting EA refactoring solutions, we use a template of attributes which we adapted from some existing templates in code refactoring domain. Finally, we demonstrated the use of several refactoring solutions in some small scenarios of EA smell. While the solution choices demonstrated may not be suitable to all cases in reality, we believe that the presented catalog provides a useful platform for EA researchers and practitioners to develop new or better refactoring solutions to common problems in EA.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.2.">Implication for Practitioners &amp; Researchers</head><p>Recent study in EA has proposed the concept of EA debt <ref type="bibr" target="#b0">[1]</ref> which represents the divergent EA evolution from the EA standards and principles. One possible source of EA debt is the implementation of sub-optimal solution design. The role of EA smells is to indicate the signs of existing sub-optimal solutions within the IT landscape, so that further investigation can be triggered in time <ref type="bibr" target="#b1">[2]</ref>.</p><p>With regards to answering the RQ2, the implication of our result can be seen from both practical and research perspectives. For EA practitioners, the proposed EA refactoring solutions may help to find possible methods or techniques for solving the EA smells identified. Also, such a solution catalog can help to establish common terminologies within an organization, thereby supporting various stakeholders to discuss possible solutions.</p><p>For the EA research community, our result gives motivation and food for thought for further investigations into the concept of EA refactoring. Future attempts to extend the catalog by transforming refactoring solutions from other domains (e.g. process smell, infrastructure smell, etc) may also adopt the conceptual transformation methodology used in this study. To allow public contributions in the development of EA refactoring solutions, the catalog has been published in a website together with a guideline on contributing <ref type="bibr" target="#b28">[29]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.3.">Threats to Validity</head><p>The results of this study have to be seen in the light of some limitations. In this section, we present an assessment of possible threats to the internal and external validity of our result. Internal validity focuses on the reliability of the result within the given environment, whereas external validity focuses on the ability to generalize the result <ref type="bibr" target="#b31">[32]</ref>.</p><p>Internal Validity. The design of our methodology may pose certain threats to the internal validity of our result. Firstly, the code refactoring solutions analyzed were collected from a selection of relevant books on code smell and refactoring, thereby threatening the completeness of the EA refactoring solution catalog. Secondly, the mapping between UML and ArchiMate notations used in the transformation was summarized from some selected sources, thereby threatening the completeness of the mapping used in this study. Last but not least, the process of transforming code refactoring solutions into EA domain relies on subjective analysis, which potentially results in biased considerations upon deriving the EA refactoring solutions. To reduce the bias, the resulting EA refactoring solutions were reviewed and decided among the authors of this paper. Despite these weaknesses, we believe that the resulting EA refactoring solution catalog is a step in the right direction towards solutions for common design issues in EA.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>External validity.</head><p>As the resulting EA refactoring solutions are yet to be evaluated in industrial context, their descriptions may still rather hypothetical and theoretical, thereby posing challenges to their adoption. Furthermore, as there could be multiple solution alternatives for every EA smell, further research is still needed to identify possible factors and conditions which influence the suitability of a certain EA refactoring solution. Finally, the adoption of EA refactoring solutions greatly depends on the progress in EA smell research. At the time of writing, the existing EA smells are yet to be evaluated and their descriptions enriched with practical examples.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="7.">Conclusion &amp; Future Work</head><p>Our main goal is to support EA practitioners in analyzing possible improvements with regards to the current circumstances and interests. We strongly argue that approaches to EA improvement must extend from EA modelling capabilities. Therefore, this study investigates the concept of refactoring in the context of EA modelling. Our methodology focuses on defining EA refactoring solutions for the EA smells proposed in <ref type="bibr" target="#b1">[2]</ref> by analyzing the known associations between code refactoring solutions and code smells. The resulting contribution is a catalog of EA refactoring solutions which is publicly available on a web page <ref type="bibr" target="#b28">[29]</ref>.</p><p>In spite of this progress, there is still work to be done, especially in improving the catalog, or where further work is necessary. Some potential future works in this context are as follows: Firstly, further EA refactoring solutions can be derived for EA smells from different domains, such as the EA process smells <ref type="bibr" target="#b2">[3]</ref>. For such purpose, we suggest to adapt the methodology from the one used in this study, e.g. by integrating a mapping of ArchiMate to another modelling language of interest as proposed in <ref type="bibr" target="#b15">[16]</ref>. Secondly, empirical studies can be performed to further review and improve the hitherto knowledge in this area. Last but not least, tool supports can be developed for, e.g., recommending suitable EA refactoring solutions (e.g. <ref type="bibr" target="#b32">[33]</ref>) or supporting the implementation thereof.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>RQ 1 . 1 RQ 1 . 2</head><label>1112</label><figDesc>How to derive insights about EA refactoring from analyzing code refactoring solutions? What attributes can describe an EA refactoring solution?</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>1 . 2 . 3 .</head><label>123</label><figDesc>Problem identification and motivation. Define the specific research problem and justify the value of the solution proposed Solution objective definition Infer the objectives of the solution proposed from the problem definition and knowledge of what is possible and feasible Design and development. Create the artifact 4. Demonstration. Demonstrate the use of the artifact to solve one or more instances of the problem 5. Evaluation. Observe and measure how well the artifact supports a solution to the problem 6. Communication.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Figure 1 :</head><label>1</label><figDesc>Figure 1: EA refactoring demonstration, showing before (left) and after (right) refactoring EA smells in an ArchiMate model</figDesc><graphic coords="7,92.38,81.35,411.31,127.56" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head></head><label></label><figDesc>Table1summarizes all these mappings which we use as a basis to conduct the concept transformation.</figDesc><table><row><cell>Concept Transformation. To finally derive EA refac-</cell></row><row><cell>toring solutions, the code refactoring solutions collected</cell></row><row><cell>are processed as follows:</cell></row></table><note>• We analyzed the descriptions and examples of code refactoring solutions to identify instances of UML concepts and relationships. Based on the mapping of UML and ArchiMate notations shown in table 1, the identified UML constructs are translated into ArchiMate constructs. Since each UML notation does not necessarily map exclusively with one ArchiMate notation (e.g. both Collaboration and Interface in UML can be translated into Interface in ArchiMate), the translation has to be inferred rationally from our understanding of what solution is possible and feasible for the EA smell addressed.</note></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_2"><head>→ EA refactoring solutions</head><label></label><figDesc></figDesc><table><row><cell></cell><cell>EA smell → EA refactoring solutions</cell></row><row><cell>Ambiguous Viewpoint → 5 Viewpoints</cell><cell>Jumble → Architecture Partitioning</cell></row><row><cell>Architecture by Implication → Goal Question Architecture</cell><cell>Lazy Component → Ghostbusting or Inline Service</cell></row><row><cell>Big Bang → Process Manager</cell><cell>Message Chain → Process Manager or Extract &amp; Move Data</cell></row><row><cell>Bloated Service → Merge input</cell><cell>Object</cell></row><row><cell>Business Process Forever → Process Manager</cell><cell>Missing Abstraction → Add Abstraction</cell></row><row><cell>Chatty Service → Front End Gate</cell><cell>Multifaceted Abstraction → Split Phase</cell></row><row><cell>Combinatorial Explosion → Extract Shared Functionality</cell><cell>Nanoservices → Front End Gate</cell></row><row><cell>Connector Envy → Extract Component</cell><cell>No Legacy → Process Manager</cell></row><row><cell>Cyclic Dependency → Cyclic Dependency Removement</cell><cell>Nothing New → Process Manager</cell></row><row><cell>Data-Driven Migration → Functionality First, Data Last</cell><cell>Overgeneralization → Extract Shared Functionality</cell></row><row><cell>Data Service → Encapsulate Data Service</cell><cell>Sand Pile → Grouping</cell></row><row><cell>Dead Component → Remove Dead Component</cell><cell>Scattered Parasitic Function → Merge Components</cell></row><row><cell>Deficient Encapsulation → Break Up Component</cell><cell>Shared Persistency → Encapsulate Business Objects</cell></row><row><cell>Deficient Names → Rename Component</cell><cell>Shotgun Surgery → Grouping</cell></row><row><cell>Dense Structure → Complexity Reduction</cell><cell>Stovepipe System → Architecture Framework or EA Planning</cell></row><row><cell>Documentation → Rename Component</cell><cell>Strict Layers Violation → Move Service to Different Layer</cell></row><row><cell>Duplication → Extract Shared Functionality</cell><cell>Temporary Solution → Extract Temporary Solution</cell></row><row><cell>Feature Envy → Move Component or Front End Gate</cell><cell>The God Object → God Object Decomposition</cell></row><row><cell>Golden Hammer → Boundaries</cell><cell>The Shiny Nickel → Plan Ahead</cell></row><row><cell>Hub-like Modularization → Break Up Component</cell><cell>Vendor Lock-In → Isolation Layer</cell></row><row><cell>Incomplete Abstraction → Grouping</cell><cell>Warm Bodies → Small Project</cell></row><row><cell>Incomplete Node or Collaboration → Introduce Local Exten-</cell><cell>Weakened Modularity → Split Modularity</cell></row><row><cell>sion</cell><cell>Wrong Cuts → Reorganization</cell></row><row><cell>Inconsistent Versioning → Semantic Versioning</cell><cell></cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_3"><head>Table 3</head><label>3</label><figDesc>Catalog of EA Refactoring Solutions</figDesc><table /></figure>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Towards the definition of enterprise architecture debts</title>
		<author>
			<persName><forename type="first">S</forename><surname>Hacks</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Höfert</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Salentin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><forename type="middle">C</forename><surname>Yeong</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Lichter</surname></persName>
		</author>
		<idno type="DOI">10.1109/EDOCW.2019.00016</idno>
	</analytic>
	<monogr>
		<title level="m">IEEE International Enterprise Distributed Object Computing Workshop, EDOC Workshops 2019</title>
				<meeting><address><addrLine>Paris, France</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2019">October 28-31, 2019, 2019</date>
			<biblScope unit="page" from="9" to="16" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Towards a catalog of enterprise architecture smells</title>
		<author>
			<persName><forename type="first">J</forename><surname>Salentin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Hacks</surname></persName>
		</author>
		<idno type="DOI">10.30844/wi_2020_y1-salentin</idno>
	</analytic>
	<monogr>
		<title level="m">Entwicklungen, Chancen und Herausforderungen der Digitalisierung: Proceedings der 15. Internationalen Tagung Wirtschaftsinformatik</title>
				<editor>
			<persName><forename type="first">N</forename><surname>Gronau</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">M</forename><surname>Heine</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">H</forename><surname>Krasnova</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">K</forename><surname>Poustcchi</surname></persName>
		</editor>
		<meeting><address><addrLine>WI; Potsdam, Germany</addrLine></address></meeting>
		<imprint>
			<publisher>GITO Verlag</publisher>
			<date type="published" when="2020-03-09">2020. March 9-11, 2020. 2020</date>
			<biblScope unit="page" from="276" to="290" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Towards the identification of process anti-patterns in enterprise architecture models</title>
		<author>
			<persName><forename type="first">B</forename><surname>Lehmann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Alexander</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Lichter</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Hacks</surname></persName>
		</author>
		<idno>CEUR-WS.org</idno>
		<ptr target="http://ceur-ws.org/Vol-2767" />
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 8th International Workshop on Quantitative Approaches to Software Quality, co-located with 27th Asia-Pacific Software Engineering Conference (APSEC 2020)</title>
				<editor>
			<persName><forename type="first">H</forename><surname>Lichter</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">S</forename><surname>Aydin</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">T</forename><surname>Sunetnanta</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">T</forename><surname>Anwar</surname></persName>
		</editor>
		<meeting>the 8th International Workshop on Quantitative Approaches to Software Quality, co-located with 27th Asia-Pacific Software Engineering Conference (APSEC 2020)<address><addrLine>Singapore (virtual</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2020">, 2020. 2020</date>
			<biblScope unit="page" from="47" to="54" />
		</imprint>
	</monogr>
	<note>December 1</note>
</biblStruct>

<biblStruct xml:id="b3">
	<monogr>
		<author>
			<persName><forename type="first">M</forename><surname>Fowler</surname></persName>
		</author>
		<ptr target="http://martinfowler.com/books/refactoring.html" />
		<title level="m">Refactoring -Improving the Design of Existing Code, Addison Wesley object technology series</title>
				<imprint>
			<publisher>Addison-Wesley</publisher>
			<date type="published" when="1999">1999</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Recommending refactoring solutions based on traceability and code metrics</title>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">S</forename><surname>Nyamawe</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Liu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Z</forename><surname>Niu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Wang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Niu</surname></persName>
		</author>
		<idno type="DOI">10.1109/ACCESS.2018.2868990</idno>
		<ptr target="https://doi.org/10.1109/ACCESS.2018.2868990.doi:10.1109/ACCESS.2018.2868990" />
	</analytic>
	<monogr>
		<title level="j">IEEE Access</title>
		<imprint>
			<biblScope unit="volume">6</biblScope>
			<biblScope unit="page" from="49460" to="49475" />
			<date type="published" when="2018">2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<monogr>
		<author>
			<persName><forename type="first">W</forename><forename type="middle">G</forename><surname>Griswold</surname></persName>
		</author>
		<idno>No. GAX92- 03258</idno>
		<title level="m">Program Restructuring as an Aid to Software Maintenance</title>
				<imprint>
			<date type="published" when="1992">1992</date>
		</imprint>
		<respStmt>
			<orgName>Department of Computer Science and Engineering, University of Washington, USA</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">UMI Order</note>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Refactoring functional programs</title>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">J</forename><surname>Thompson</surname></persName>
		</author>
		<idno type="DOI">10.1007/11546382_9</idno>
		<ptr target="https://doi.org/10.1007/11546382_9.doi:10.1007/11546382\_9" />
	</analytic>
	<monogr>
		<title level="m">Advanced Functional Programming, 5th International School, AFP 2004</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<editor>
			<persName><forename type="first">V</forename><surname>Vene</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">T</forename><surname>Uustalu</surname></persName>
		</editor>
		<meeting><address><addrLine>Tartu, Estonia</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2004">August 14-21, 2004. 2004</date>
			<biblScope unit="volume">3622</biblScope>
			<biblScope unit="page" from="331" to="357" />
		</imprint>
	</monogr>
	<note>Revised Lectures</note>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Refactoring of UML models using AGG</title>
		<author>
			<persName><forename type="first">A</forename><surname>Folli</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Mens</surname></persName>
		</author>
		<idno type="DOI">10.14279/tuj.eceasst.8.112</idno>
		<ptr target="https://doi.org/10.14279/tuj.eceasst.8.112.doi:10.14279/tuj.eceasst.8.112" />
	</analytic>
	<monogr>
		<title level="j">Electron. Commun. Eur. Assoc. Softw. Sci. Technol</title>
		<imprint>
			<biblScope unit="volume">8</biblScope>
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Tool supported OCL refactoring catalogue</title>
		<author>
			<persName><forename type="first">J</forename><surname>Reimann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Wilke</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Demuth</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Muck</surname></persName>
		</author>
		<author>
			<persName><forename type="first">U</forename><surname>Aßmann</surname></persName>
		</author>
		<idno type="DOI">10.1145/2428516.2428518</idno>
		<idno>doi:10.1145/2428516.2428518</idno>
		<ptr target="https://doi.org/10.1145/2428516.2428518" />
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 12th Workshop on OCL and Textual Modelling</title>
				<editor>
			<persName><forename type="first">M</forename><surname>Balaban</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">J</forename><surname>Cabot</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">M</forename><surname>Gogolla</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">C</forename><surname>Wilke</surname></persName>
		</editor>
		<meeting>the 12th Workshop on OCL and Textual Modelling<address><addrLine>Innsbruck, Austria</addrLine></address></meeting>
		<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2012-09-30">September 30, 2012. 2012</date>
			<biblScope unit="page" from="7" to="12" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Uml model refactoring: A systematic literature review</title>
		<author>
			<persName><forename type="first">M</forename><surname>Misbhauddin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Alshayeb</surname></persName>
		</author>
		<idno type="DOI">10.1007/s10664-013-9283-7</idno>
		<ptr target="https://doi.org/10.1007/s10664-013-9283-7.doi:10.1007/s10664-013-9283-7" />
	</analytic>
	<monogr>
		<title level="j">Empirical Software Engineering</title>
		<imprint>
			<biblScope unit="volume">20</biblScope>
			<biblScope unit="page" from="206" to="251" />
			<date type="published" when="2015">2015</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Refactoring of ontologies: Improving the design of ontological models with concept analysis</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">R</forename><surname>Hacene</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Fennouh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Nkambou</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Valtchev</surname></persName>
		</author>
		<idno type="DOI">10.1109/ICTAI.2010.97</idno>
		<ptr target="https://doi.org/10.1109/ICTAI.2010.97.doi:10.1109/ICTAI.2010.97" />
	</analytic>
	<monogr>
		<title level="m">IEEE International Conference on Tools with Artificial Intelligence, ICTAI 2010</title>
				<meeting><address><addrLine>Arras, France</addrLine></address></meeting>
		<imprint>
			<publisher>IEEE Computer Society</publisher>
			<date type="published" when="2010-10-29">27-29 October 2010. 2010</date>
			<biblScope unit="volume">2</biblScope>
			<biblScope unit="page" from="167" to="172" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<monogr>
		<title level="m" type="main">BPMN 2.0 Handbook, Future Strategies Inc</title>
		<author>
			<persName><forename type="first">D</forename><surname>Silingas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Mileviciene</surname></persName>
		</author>
		<ptr target="http://www.futstrat.com/" />
		<imprint>
			<date type="published" when="2012">2012</date>
			<biblScope unit="page" from="125" to="134" />
			<pubPlace>Lighthouse Point, FL, USA</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<monogr>
		<title level="m" type="main">Refactoring Databases: Evolutionary Database Design</title>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">W</forename><surname>Ambler</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">J</forename><surname>Sadalage</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2006">2006</date>
			<publisher>Addison-Wesley Professional</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">Software Engineering Aspects of Continuous Development and New Paradigms of Software Production and Deployment -Second International Workshop</title>
		<idno type="DOI">10.1007/978-3-030-39306-9</idno>
		<ptr target="https://doi.org/10.1007/978-3-030-39306-9.doi:10.1007/978-3-030-39306-9" />
	</analytic>
	<monogr>
		<title level="m">DEVOPS 2019</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<editor>
			<persName><forename type="first">J</forename><surname>Bruel</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">M</forename><surname>Mazzara</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">B</forename><surname>Meyer</surname></persName>
		</editor>
		<meeting><address><addrLine>Château de Villebrumier, France</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2019">May 6-8, 2019. 2020</date>
			<biblScope unit="volume">12055</biblScope>
		</imprint>
	</monogr>
	<note>Revised Selected Papers</note>
</biblStruct>

<biblStruct xml:id="b14">
	<monogr>
		<author>
			<persName><forename type="first">M</forename><surname>Lippert</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Roock</surname></persName>
		</author>
		<title level="m">Refactoring in large software projects: performing complex restructurings successfully</title>
				<imprint>
			<publisher>John Wiley &amp; Sons</publisher>
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">Agile enterprise architecture modelling: Evaluating the applicability and integration of six modelling standards</title>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">Q</forename><surname>Gill</surname></persName>
		</author>
		<idno type="DOI">10.1016/j.infsof.2015.07.002</idno>
		<ptr target="https://doi.org/10.1016/j.infsof.2015.07.002.doi:10.1016/j.infsof.2015.07.002" />
	</analytic>
	<monogr>
		<title level="j">Inf. Softw. Technol</title>
		<imprint>
			<biblScope unit="volume">67</biblScope>
			<biblScope unit="page" from="196" to="206" />
			<date type="published" when="2015">2015</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<monogr>
		<ptr target="https://pubs.opengroup.org/architecture/archimate3-doc/" />
		<title level="m">The Open Group, Archimate 3.1 specification</title>
				<imprint>
			<date type="published" when="2019">2019</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">Investigating the mapping of an enterprise description language into UML 2.0</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">J</forename><surname>Wiering</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">M</forename><surname>Bonsangue</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Van Buuren</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Groenewegen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Jonkers</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">M</forename><surname>Lankhorst</surname></persName>
		</author>
		<idno type="DOI">10.1016/j.entcs.2004.02.020</idno>
		<ptr target="https://doi.org/10.1016/j.entcs.2004.02.020.doi:10.1016/j.entcs.2004.02.020" />
	</analytic>
	<monogr>
		<title level="j">Electronic Notes in Theoretical Computer Science</title>
		<imprint>
			<biblScope unit="volume">101</biblScope>
			<biblScope unit="page" from="155" to="179" />
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<monogr>
		<title level="m" type="main">Enterprise Architecture at Work -Modelling, Communication and Analysis</title>
		<idno type="DOI">10.1007/978-3-662-53933-0</idno>
		<ptr target="https://doi.org/10.1007/978-3-662-53933-0.doi:10.1007/978-3-662-53933-0" />
		<editor>M. M. Lankhorst</editor>
		<imprint>
			<date type="published" when="2017">2017</date>
			<publisher>Springer</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<monogr>
		<title level="m" type="main">ArchiMate to UML Mapping</title>
		<author>
			<persName><forename type="first">T</forename><surname>Gericke</surname></persName>
		</author>
		<ptr target="http://www.adocus.com/media/21703/archimate-to-uml-mapping-whitepaper.pdf" />
		<imprint>
			<date type="published" when="2018">2018</date>
			<pubPlace>Stockholm, Sweden</pubPlace>
		</imprint>
		<respStmt>
			<orgName>Adocus AB</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Technical Report</note>
</biblStruct>

<biblStruct xml:id="b20">
	<analytic>
		<title level="a" type="main">A design science research methodology for information systems research</title>
		<author>
			<persName><forename type="first">K</forename><surname>Peffers</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Tuunanen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">A</forename><surname>Rothenberger</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Chatterjee</surname></persName>
		</author>
		<ptr target="http://www.jmis-web.org/articles/765" />
	</analytic>
	<monogr>
		<title level="j">J. Manag. Inf. Syst</title>
		<imprint>
			<biblScope unit="volume">24</biblScope>
			<biblScope unit="page" from="45" to="77" />
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<analytic>
		<title level="a" type="main">Design science in information systems research</title>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">R</forename><surname>Hevner</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">T</forename><surname>March</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Park</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Ram</surname></persName>
		</author>
		<ptr target="http://misq.org/design-science-in-information-systems-research.html" />
	</analytic>
	<monogr>
		<title level="j">MIS Q</title>
		<imprint>
			<biblScope unit="volume">28</biblScope>
			<biblScope unit="page" from="75" to="105" />
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b22">
	<analytic>
		<title level="a" type="main">Automatic refactoring of component-based software by detecting and eliminating bad smells -A search-based approach</title>
		<author>
			<persName><forename type="first">S</forename><surname>Kebir</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Borne</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Meslati</surname></persName>
		</author>
		<idno type="DOI">10.5220/0005891602100215</idno>
		<ptr target="https://doi.org/10.5220/0005891602100215.doi:10.5220/0005891602100215" />
	</analytic>
	<monogr>
		<title level="m">ENASE 2016 -Proceedings of the 11th International Conference on Evaluation of Novel Approaches to Software Engineering</title>
				<editor>
			<persName><forename type="first">L</forename><forename type="middle">A</forename><surname>Maciaszek</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">J</forename><surname>Filipe</surname></persName>
		</editor>
		<meeting><address><addrLine>Rome, Italy</addrLine></address></meeting>
		<imprint>
			<publisher>SciTePress</publisher>
			<date type="published" when="2016-04-28">27-28 April, 2016. 2016</date>
			<biblScope unit="page" from="210" to="215" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b23">
	<monogr>
		<author>
			<persName><forename type="first">W</forename><forename type="middle">H</forename><surname>Brown</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">C</forename><surname>Malveau</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">W S</forename><surname>Mccormick</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><forename type="middle">J</forename><surname>Mowbray</surname></persName>
		</author>
		<title level="m">AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis</title>
				<meeting><address><addrLine>USA</addrLine></address></meeting>
		<imprint>
			<publisher>John Wiley &amp; Sons, Inc</publisher>
			<date type="published" when="1998">1998</date>
		</imprint>
	</monogr>
	<note>1st ed</note>
</biblStruct>

<biblStruct xml:id="b24">
	<analytic>
		<title level="a" type="main">Are architectural smells independent from code smells? an empirical study</title>
		<author>
			<persName><forename type="first">F</forename><forename type="middle">A</forename><surname>Fontana</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Lenarduzzi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Roveda</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Taibi</surname></persName>
		</author>
		<idno type="DOI">10.1016/j.jss.2019.04.066</idno>
		<ptr target="https://doi.org/10.1016/j.jss.2019.04.066.doi:10.1016/j.jss.2019.04.066" />
	</analytic>
	<monogr>
		<title level="j">Journal of Systems and Software</title>
		<imprint>
			<biblScope unit="volume">154</biblScope>
			<biblScope unit="page" from="139" to="156" />
			<date type="published" when="2019">2019</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b25">
	<monogr>
		<title level="m" type="main">Refactoring for Software Design Smells: Managing Technical Debt</title>
		<author>
			<persName><forename type="first">G</forename><surname>Suryanarayana</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Samarthyam</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Sharma</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2014">2014</date>
			<publisher>Morgan Kaufmann Publishers Inc</publisher>
			<pubPlace>San Francisco, CA, USA</pubPlace>
		</imprint>
	</monogr>
	<note>1st ed</note>
</biblStruct>

<biblStruct xml:id="b26">
	<analytic>
		<title level="a" type="main">Refactoring to patterns</title>
		<author>
			<persName><forename type="first">J</forename><surname>Kerievsky</surname></persName>
		</author>
		<idno type="DOI">10.1007/978-3-540-27777-4_54</idno>
		<idno>doi:</idno>
		<ptr target="10.1007/978-3-540-27777-4\_54" />
	</analytic>
	<monogr>
		<title level="m">Extreme Programming and Agile Methods -XP/Agile Universe 2004, 4th Conference on Extreme Programming and Agile Methods</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<editor>
			<persName><forename type="first">C</forename><surname>Zannier</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">H</forename><surname>Erdogmus</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">L</forename><surname>Lindstrom</surname></persName>
		</editor>
		<meeting><address><addrLine>Calgary, Canada</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2004">August 15-18, 2004. 2004</date>
			<biblScope unit="volume">3134</biblScope>
			<biblScope unit="page">232</biblScope>
		</imprint>
	</monogr>
	<note>Proceedings</note>
</biblStruct>

<biblStruct xml:id="b27">
	<analytic>
		<title level="a" type="main">Towards a quality framework for enterprise architecture models</title>
		<author>
			<persName><forename type="first">S</forename><surname>Hacks</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Timm</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">EMISA Forum</title>
		<imprint>
			<biblScope unit="volume">38</biblScope>
			<biblScope unit="page" from="31" to="32" />
			<date type="published" when="2018">2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b28">
	<monogr>
		<author>
			<persName><forename type="first">L</forename><surname>Liss</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Kämmerling</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Alexander</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Lichter</surname></persName>
		</author>
		<ptr target="https://swc-public.pages.rwth-aachen.de/ea-refactoring-solutions/web-catalog/" />
		<title level="m">Enterprise architecture refactorings</title>
				<imprint>
			<date type="published" when="2021">2021</date>
			<biblScope unit="page">10</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b29">
	<monogr>
		<title level="m" type="main">Enterprise architecture smells</title>
		<author>
			<persName><forename type="first">J</forename><surname>Salentin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Hacks</surname></persName>
		</author>
		<ptr target="https://ba-ea-smells.pages.rwth-aachen.de/ea-smells/" />
		<imprint>
			<date type="published" when="2020">2020</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b30">
	<analytic>
		<title level="a" type="main">The most important serviceoriented antipatterns</title>
		<author>
			<persName><forename type="first">J</forename><surname>Král</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Zemlicka</surname></persName>
		</author>
		<idno type="DOI">10.1109/ICSEA.2007.74</idno>
		<ptr target="https://doi.org/10.1109/ICSEA.2007.74.doi:10.1109/ICSEA.2007.74" />
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Second International Conference on Software Engineering Advances (ICSEA 2007)</title>
				<meeting>the Second International Conference on Software Engineering Advances (ICSEA 2007)<address><addrLine>Cap Esterel, French Riviera, France</addrLine></address></meeting>
		<imprint>
			<publisher>IEEE Computer Society</publisher>
			<date type="published" when="2007">August 25-31, 2007. 2007</date>
			<biblScope unit="page">29</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b31">
	<analytic>
		<author>
			<persName><forename type="first">C</forename><surname>Wohlin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Runeson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Höst</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">C</forename><surname>Ohlsson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Regnell</surname></persName>
		</author>
		<idno type="DOI">10.1007/978-1-4615-4625-2</idno>
		<idno>doi:</idno>
		<ptr target="10.1007/978-1-4615-4625-2" />
	</analytic>
	<monogr>
		<title level="m">Experimentation in Software Engineering -An Introduction</title>
		<title level="s">The Kluwer International Series in Software Engineering</title>
		<imprint>
			<publisher>Kluwer</publisher>
			<date type="published" when="2000">2000</date>
			<biblScope unit="volume">6</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b32">
	<analytic>
		<title level="a" type="main">A bayesian network approach to rational architectural design</title>
		<author>
			<persName><forename type="first">H</forename><surname>Zhang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Jarzabek</surname></persName>
		</author>
		<idno type="DOI">10.1142/S0218194005002488</idno>
		<ptr target="https://doi.org/10.1142/S0218194005002488.doi:10.1142/S0218194005002488" />
	</analytic>
	<monogr>
		<title level="j">Int. J. Softw. Eng. Knowl. Eng</title>
		<imprint>
			<biblScope unit="volume">15</biblScope>
			<biblScope unit="page" from="695" to="718" />
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
