<?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">Comparing Reuse Mechanisms for Model Transformation Languages: Design for an Empirical Study</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Daniel</forename><surname>Strüber</surname></persName>
							<email>strueber@uni-koblenz.de</email>
						</author>
						<author>
							<persName><forename type="first">Anthony</forename><surname>Anjorin</surname></persName>
							<email>anthony.anjorin@upb.de</email>
						</author>
						<author>
							<affiliation key="aff0">
								<orgName type="institution">Universität Koblenz-Landau</orgName>
								<address>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<affiliation key="aff1">
								<orgName type="institution">Philipps-Universität Marburg</orgName>
								<address>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<affiliation key="aff2">
								<orgName type="institution">University of Paderborn</orgName>
								<address>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Comparing Reuse Mechanisms for Model Transformation Languages: Design for an Empirical Study</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">D1440C24527BDB312C55DD55A6D37518</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T12:15+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>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Reuse mechanisms for model transformation languages help avoid duplication, thereby increasing maintainability and enabling a more systematic overall development process. As the introduction of such reuse mechanisms to model transformation languages is still in its preliminary stages, however, language designers are currently faced with the challenge of choosing from amongst diverse proposed approaches. Although there are a few surveys comparing syntactic and semantic differences, there is still a need for empirical studies on the actual effectiveness of different reuse mechanisms for transformation developers. In this paper, therefore, we present a study design for a controlled experiment to investigate the benefits and drawbacks of two specific reuse mechanisms for model transformation languages: rule refinement and variability-based rules. Both mechanisms are tailored to graph-based model transformation languages, yet represent two contrasting reuse paradigms: modularizing rules by composing them from smaller, shared fragments, versus maintaining a single, integrated representation via variability annotations. We propose to compare these two approaches using comprehension and bug-finding tasks to investigate understandability, and bug-fixing and modification tasks to study changeability.</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>Model transformations play a fundamental role in Model-Driven Engineering (MDE), where software systems are produced by the continuous refinement, translation, and synchronization of models <ref type="bibr" target="#b19">[19]</ref>.</p><p>As the field matures and MDE approaches are faced with increasingly complex development tasks, the size and complexity of required model transformations also increases. Developing and especially maintaining such large transformations is challenging without dedicated support for reusing parts of existing transformations <ref type="bibr" target="#b22">[22]</ref>. As such reuse mechanisms for model transformation languages are just starting to emerge <ref type="bibr" target="#b14">[14]</ref>, however, transformation developers are often forced to resort to code or pattern duplication, well-known for its manifold maintainability-related drawbacks.</p><p>But how can language designers decide which reuse mechanisms to integrate in their model transformation languages? While some surveys exist comparing syntactic and semantic differences of various proposed reuse mechanisms * This research was partially supported by the research project Visual Privacy Management in User Centric Open Environments (supported by the EU's Horizon 2020 programme, Proposal number: 653642).</p><p>(cf., e.g., <ref type="bibr" target="#b14">[14]</ref>), there exist no empirical studies of various transformation reuse mechanisms and their actual usefulness for transformation developers.</p><p>In this work, therefore, we present our design for a controlled experiment that aims to explore the benefits and drawbacks of the proposed reuse mechanisms for model transformation languages. Specifically, we intend to compare two recently emerging reuse mechanisms: rule refinement <ref type="bibr" target="#b4">[4]</ref> and variability-based rules <ref type="bibr" target="#b24">[24]</ref>. This choice is motivated by the fact that both mechanisms address the same technical scope -the reuse of graph-based model transformations <ref type="bibr" target="#b7">[7]</ref> -while contrasting in the employed reuse paradigm: rule refinement reuses transformation rules by breaking them into smaller fragments that can be assembled using a composition mechanism, while a variability-based rule represents a family of multiple, similar rules in an integrated form, using variability annotations to denote individual parts. This distinction between composition-and annotation-based approaches is well-known from the domain of software product lines <ref type="bibr" target="#b11">[11]</ref>.</p><p>We are interested in the influence of these reuse mechanisms on maintainability, a main quality aspect of software artifacts <ref type="bibr" target="#b1">[1]</ref> that is particularly important in the face of continuous development and evolution. More specifically, our study targets the maintainability aspects of understandability and changeability of model transformations <ref type="bibr" target="#b18">[18,</ref><ref type="bibr" target="#b26">26]</ref>. Given a group of participants, understandability can be quantified in terms of correctness, completion time, and perceived effort during bug-finding and multiple-choice style comprehension tasks. To measure changeability, we plan to use bug-fixing and modification tasks, again using correctness, completion time, and perceived effort for quantification.</p><p>The rest of the paper is structured as follows: Section 2 discusses related work. Section 3 introduces a motivating running example that is used to explain the two reuse mechanisms for the comparison. Section 4 presents our study design with an outline of the experimental variables of the set-up, while Section 5 concludes.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">RELATED WORK</head><p>The planned study is the first empirical investigation of transformation reuse mechanisms. Empirical studies in the area of model transformation have so far been confined to the evaluation of transformation languages and approaches. Acreţoaie et. al <ref type="bibr" target="#b2">[2]</ref> have compared their usability-oriented Visual Model Transformation Language to traditional visual and textual languages. They found that their approach establishes a compromise between effort and correctness. In an evaluation of their transformation-by-example approach, Avazpour et al. <ref type="bibr">[6]</ref> found that developers perceive the provided interaction-based tool support as useful during the development of transformations. Guana and Stroulia <ref type="bibr" target="#b9">[9]</ref> propose a study design to understand developer performance during the development of model-to-code transformations and measure the effect of traceability visualizations. Conversely, only reuse mechanisms for code have been investigated so far, mostly from a product line perspective <ref type="bibr" target="#b8">[8,</ref><ref type="bibr" target="#b15">15]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">MOTIVATING SCENARIO</head><p>Our motivating scenario (adapted from <ref type="bibr" target="#b23">[23]</ref>) is a simplified move method refactoring, implemented via three transformation rules depicted in Fig. <ref type="figure" target="#fig_0">1</ref>: The first rule A transfers a method m from its current containing class s to another class t. This rule is a graph transformation rule that preserves all elements marked with preserve, deletes all elements marked with delete, and creates all elements marked with create. Such rules are only applicable if all preserved and deleted elements can be matched in a host model.</p><p>Rules B and C represent variants of A: B creates a wrapper method w for simple delegation to the method m that is to be moved. This can be used to limit the effects of the refactoring and avoid having to change all existing clients of the class s. Rule C additionally creates an annotation that marks w as deprecated to discourage future usage of the wrapper method, which can be eventually deleted.  This simple example illustrates how multiple transformation rules can "share" a common part that must be repeated in each variant if no reuse mechanism is provided. In realistic applications where possibly hundreds of rules are required, such pattern duplication can quickly lead to a maintenance nightmare as changes, e.g., bug fixes, have to be consistently applied to multiple, independent rules without tool support.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Rule refinement</head><p>The basic idea of rule refinement <ref type="bibr" target="#b4">[4]</ref> is to enable a flexible sharing and composition of common rule fragments. Pattern duplication can be avoided in this way by including the same fragment as a part of multiple rules. Rule refinement can be applied to our running example to result in a network of rule fragments as depicted in Fig. <ref type="figure" target="#fig_1">2</ref>. Rule A remains unchanged and is regarded as "resolved" as it does not refine any other rule fragment (it has no outgoing "inheritance" arrows). Rule B is reduced to a refinement of A, i.e., it is produced by merging rule A with the specified refinement. This merge operator is relatively straightforward: The disjoint union of both patterns (in general of multiple patterns) is formed, and then all elements with the same identifier are glued together. Similarly, rule C is specified as a refinement of B, resulting in the same pattern as in Fig 1 by first resolving rule B and then repeating the same merging process with the specified refinement for rule C. Note that the merge operator requires the manual specification of identical elements, which is done by assigning names (e.g., s, me) to pattern variables, a concept that is not to be confused with parameters (e.g., src, trg, m), which are used to propagate values across name attributes in this example.  </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>«preserve</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2">Variability-based rules</head><p>In stark contrast to rule refinement, variability-based rules <ref type="bibr" target="#b21">[21,</ref><ref type="bibr" target="#b23">23,</ref><ref type="bibr" target="#b24">24]</ref> enable an integrated representation of multiple rules in a single diagram. The variability-based rule for our running example is depicted in Fig. <ref type="figure" target="#fig_2">3</ref>. The rule comprises two configuration options that are denoted via variability annotations, e.g., the annotation [wrapper] is used to indicate which edges and nodes in the diagram are only present when configuration option wrapper is set to true. Note that depen-dencies between configuration options can be specified, e.g., the dependency deprecate -&gt; wrapper (upper-left corner) is used to indicate that the configuration option deprecate requires wrapper, i.e., all elements annotated with wrapper are also present in the deprecate variant of the rule.  This scenario illustrates a set of maintainability trade-offs that we aim to explore in our study. Both considered mechanisms help avoid pattern duplication, which may simplify the consistent editing of multiple variants at once. In addition, if applied skillfully, rule refinement can lead to comprehensible and maintainable modular rule fragments, reflecting an independent handling and separation of concerns in the transformation. Variability-based rules improve notational compactness drastically, thereby potentially reducing reading effort: it is well-known that humans struggle with processing more than 7±2 units of information at once <ref type="bibr" target="#b17">[17]</ref>. On the downside, as they require developers to derive the included rule variants in their minds, both approaches may increase cognitive overhead. In particular, variability-based rules may suffer from their increased amount of information in each individual diagram, comparable to the case of variability-annotated code, where a decrease in developer performance was found <ref type="bibr" target="#b15">[15]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">STUDY DESIGN</head><p>To investigate the identified trade-offs further, we propose the following research questions:</p><p>• RQ1: Which reuse mechanism is most beneficial for developers in terms of understandability and changeability?</p><p>• RQ2: How do the studied reuse mechanisms compare to offering no reuse at all?</p><p>• RQ3: Can the understandability and changeability of the selected reuse mechanisms be further improved via the available tool support?</p><p>To address these research questions, we plan to administer a set of comprehension and implementation tasks to participants who are familiar with graph-based model transformations. Such participants will be recruited from research groups, as well as master-level model-driven engineering courses.</p><p>We plan to apply a crossover trial, a variant of the withinsubject design <ref type="bibr" target="#b10">[10]</ref>: in this design, all subjects are sequentially exposed to each treatment. This choice is motivated by the statistical efficiency of the design: it allows the number of required participants to be minimized. Moreover, the influence of confounding factors (e.g., participant expertise) is reduced as each participant serves as their own control. A main threat to this kind of study design are learning effects: over the course of the experiments, participants become more experienced and might carry over gained experience among tasks. A viable mitigation to this threat is to vary the order of treatments among participants. We discuss additional threats and mitigation strategies in Sec. 4.3.</p><p>To discuss the different dimensions that influence our experiment, we first outline its variables in the following. We then specify our research plan as one possible path through the design space spanned by these variables. Finally, we describe potential threats to validity in our set-up, and our means of mitigating these threats.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1">Experimental variables</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1.1">Independent variables</head><p>As the single independent variable in the planned experiment, we measure the effects of the employed reuse mechanism. For RQ1 and RQ3, only the data points of the two proposed reuse mechanisms are considered, whereas RQ2 incorporates the data points for the no-reuse case as well.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1.2">Dependent variables</head><p>The variables we want to observe as a result of the experiment are the following:</p><p>Correctness score. We plan to measure correctness based on how well participants are able to solve certain tasks. As these tasks might not be directly comparable, counting the number of correctly solved tasks only provides ordinal values.</p><p>Perceived effort. Participants will be asked to rate the perceived effort it took to solve all tasks using a suitable ordinal scale ranging from, e.g., 0 to 10 to quantify effort.</p><p>Completion time. For all tasks, completion times will be measured for all participants. This qualitative value can be contrasted with correctness scores and perceived effort to yield further insights.</p><p>User preference. Finally, regardless of correctness, perceived effort, and completion time, we shall ask users which reuse mechanism they prefer and enjoyed using the most.</p><p>For statistical analysis, we intend to apply the Wilcoxon signed-rank test <ref type="bibr" target="#b28">[28]</ref>, which is a robust non-parametric test to identify significant differences between two treatments. It assumes data measured at least on an ordinal scale, which applies to all of our dependent variables.</p><p>A remaining issue concerns the fact that we are interested in two different quality goals that should ideally be studied as separate entities. Yet, as changeability clearly depends on understandability, it is not obvious how these two different goals can be studied in isolation. To this end, a viable method is to collect performance data for both goals, and to subtract the understandability from the changeability results. For instance, the time required to actually change the affected rules can be obtained from subtracting the time required to understand the rules from the full completion time. A prerequisite for this method is that subtraction is supported by the underlying scale, which is the case for completion times.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1.3">Controlled variables</head><p>The design space of our controlled variables comprises the Transformation language. The variety of available model transformation languages is usually classified along a number of main paradigms, most prominently imperative, hybrid, and graph-based model transformations <ref type="bibr" target="#b7">[7,</ref><ref type="bibr" target="#b16">16]</ref>. In the planned study, we aim to investigate reuse in the context of Henshin <ref type="bibr" target="#b5">[5]</ref>, a graph-based language. The reason for this choice is twofold: first, examples and tool support for one of the supported reused mechanisms are readily available in Henshin (convenience sampling). Second, the graphical syntax of Henshin closely resembles that of a group of languages including eMoflon <ref type="bibr" target="#b3">[3]</ref>, EMorF <ref type="bibr" target="#b12">[12]</ref>, and QVTs <ref type="bibr" target="#b29">[29]</ref>, rendering it a promising choice to obtain results which might also generalize to these languages. In addition, Henshin is under active development and in widespread use. <ref type="foot" target="#foot_0">1</ref> Our study will be based on bug-finding and bug-fixing tasks, since these tasks can avoid lengthy textual task descriptions that might be hard to match to the presented visual representations <ref type="bibr" target="#b27">[27]</ref>. Our example rules will mostly be endogenous, such as those shown in the running example, allowing us to establish a compromise between external and internal validity.</p><p>Example types. In the choice of example transformations, we need to account for the inherent trade-off between external and internal validity <ref type="bibr" target="#b20">[20]</ref>: by using simple and easyto-understand examples, we can mitigate the effect of participant heterogeneity, but risk ending up with an experiment that is not realistic enough. The simplest transformation that can be expressed using rules is a query -a rule performing no modifications of the input model. Queries are generally easy to understand; yet in realistic settings they are likely to be expressed using dedicated query languages. Endogenous transformations -transformations that update the input model or translate it to a model of the same language -are a typical use-case for graph-based model transformation, but require an understanding of its underlying replacement mechanism. Exogenous transformations, creating an output model of a different language, are most complicated as they require the understanding of two meta-models and their relations; yet they are particularly important for the typical forward-engineering process in model-driven engineering. Two other sub-dimensions of this dimension are the number of examples and the size of the individual examples.</p><p>We intend to conduct a pilot study to find a suitable collection of examples that avoids participant fatigue, using a different set of participants than in the actual study to avoid history effects. Other goals of the pilot study are to determine if we can extract any meaningful results (e.g. maybe all task are too difficult and we do not gather sufficient useful data), and to see if our assumptions about participant's abilities hold true.</p><p>Task types. To study understandability and changeability, we plan to administer tasks allowing us to quantify these properties. The understandability of a software artifact can be investigated using bug-finding tasks or quiz-style comprehension questions. In the example, a bug-finding task would be to swap the delete and create edges and have the user find and mark this error on a printout. A comprehension question could be "How many individual rules can be derived from this representation?". Changeability refers to the ease of modifying or extending the functionality of a system. Two possible kinds of tasks to study changeability are the fixing of a preconceived bug, such as the one described above, and the implementation of a feature request such as "I need a set of transformation rules with the same behavior as the given ones, but with one modification: the target class must have a field whose type is the source class". A challenge for the study design lies in choosing a feasible subset of all tasks so as to avoid exhausting the participants. To this end, we plan to use bug-finding and bug-fixing tasks, since these tasks can avoid lengthy textual task descriptions that might be hard to match against the presented visual representations <ref type="bibr" target="#b27">[27]</ref>.</p><p>Environment. Another balancing act between control and remaining adequately realistic concerns the experimental environment. By setting up the participants in a controlled pencil-and-paper environment, we can eliminate confounding factors related to the tool implementations, for instance, differences in visual appearance. Such a controlled environment is, however, not really comparable to the realworld environment that actual users of the reuse mechanisms find themselves in, especially in the case of changeability tasks. Moreover, RQ3 can only be studied by comparing the reuse mechanisms with and without the actual tool support provided. As of now, tool support for rule refinement <ref type="bibr" target="#b13">[13]</ref> and VB rules <ref type="bibr" target="#b25">[25]</ref> exists, but is implemented within different model transformation languages and corresponding tool environments -eMoflon and Henshin. To ensure optimal control during the experimental comparison, both mechanisms should be implemented for the same language and tool environment.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2">Quantitative data</head><p>To gain additional insight about the perceived benefits and pitfalls of both reuse approaches, we also plan to collect quantitative data, using text fields in the task sheet to collect participants' opinions after their completion of the experiment.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.3">Potential threats to validity</head><p>In addition to the threats already described in the previous discussion, we plan to mitigate researcher bias by striving to ensure that participants are unable to directly map reuse mechanisms to researchers, e.g., by anonymising tool names.</p><p>To avoid selection bias in favor of volunteers, whose level of motivation does not reflect that of the whole population, we will offer a small prize among participants.</p><p>Finally, the participants' performance can be confounded by relevant prior knowledge, e.g., from exercise in the area of software product lines and other annotation-based model families. To study the effect of prior knowledge, we plan to ask participants to rate their own prior knowledge of relevant topics.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.">CONCLUSION</head><p>In this paper, we present our study design for an empirical comparison of two reuse mechanisms for graph-based model transformation languages. The selected reuse mechanisms exemplify the contrasting reuse paradigms of modularizing a set of rules and merging similar rules in a variabilityannotated representation.</p><p>Our prior expectations are as follows: we expect refinements to be (perhaps only slightly) more understandable but less changeable than variability rules (RQ 1), both reuse mechanisms to substantially improve changeability but (at least without substantial training) reduce understandability (RQ 2), and that appropriate tool support plays a crucial role in both cases (RQ 3). It remains to be seen if our experiment results will support or refute these initial hypotheses. Addressing the trade-off between different forms of experimental validity <ref type="bibr" target="#b20">[20]</ref>, our set-up aims to establish a compromise between internal and external validity. A series of follow-up studies moving the spotlight in either direction can lead to a more comprehensive picture.</p><p>The results of our study will provide evidence to designers of model transformation languages who are planning to include a reuse mechanism within their language. In a broader context, we hope to shed a new light on the discussion of when and how software reuse can be established in a manner that is most beneficial to all involved stakeholders.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 1 :</head><label>1</label><figDesc>Figure 1: Three model transformation rules.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Figure 2 :</head><label>2</label><figDesc>Figure 2: Refinement rules.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Figure 3 :</head><label>3</label><figDesc>Figure 3: Variability-based rule.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_3"><head>Table 1 :</head><label>1</label><figDesc>Experimental variables</figDesc><table><row><cell></cell><cell>Name</cell><cell>Possible values</cell></row><row><cell cols="2">Independent variable Reuse mechanism</cell><cell>{ Rule refinement, variability-based rules, no reuse }</cell></row><row><cell>Controlled variables</cell><cell cols="2">Transformation language { Henshin, ATL, EOL, ... }</cell></row><row><cell></cell><cell>Example type</cell><cell>{ queries, endogenous, exogenous }</cell></row><row><cell></cell><cell>Task type</cell><cell>{ bug-finding, quiz, bug-fixing, modification task }</cell></row><row><cell></cell><cell>Environment</cell><cell>{ pen-and-paper, tool }</cell></row><row><cell>Dependent variables</cell><cell>Correctness score</cell><cell>Ordinal</cell></row><row><cell></cell><cell>Perceived effort</cell><cell>Ordinal</cell></row><row><cell></cell><cell>Completion time</cell><cell>Interval</cell></row><row><cell></cell><cell>User preference</cell><cell>Ordinal</cell></row><row><cell>following dimensions:</cell><cell></cell><cell></cell></row></table></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">For a selection of publications describing Henshin's use in numerous research projects, see https://www.eclipse.org/ henshin/publications.php</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Acknowledgements: The authors wish to thank Vlad Acret , oaie and the anonymous reviewers for their careful reading of this paper and their detailed comments and suggestions.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<title/>
		<author>
			<persName><surname>References</surname></persName>
		</author>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<idno>ISO/IEC 25010:2011</idno>
		<title level="m">Systems and software engineering -Systems and software Quality Requirements and Evaluation (SQuaRE) -System and software quality models</title>
				<imprint>
			<date type="published" when="2011">2011</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">VMTL: a language for end-user model transformation</title>
		<author>
			<persName><forename type="first">V</forename><surname>Acreţoaie</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Störrle</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Strüber</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Software &amp; Systems Modeling</title>
				<imprint>
			<date type="published" when="2016">2016</date>
			<biblScope unit="page" from="1" to="29" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">eMoflon: Leveraging EMF and Professional CASE Tools</title>
		<author>
			<persName><forename type="first">A</forename><surname>Anjorin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Lauder</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Patzina</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Schürr</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Informatik</title>
		<imprint>
			<biblScope unit="volume">192</biblScope>
			<biblScope unit="page">281</biblScope>
			<date type="published" when="2011">2011</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Modularizing Triple Graph Grammars Using Rule Refinement</title>
		<author>
			<persName><forename type="first">A</forename><surname>Anjorin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Saller</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Lochau</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Schürr</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Conference on Fundamental Approaches to Software Engineering</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2014">2014</date>
			<biblScope unit="page" from="340" to="354" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Henshin: Advanced Concepts and Tools for In-Place EMF Model Transformations</title>
		<author>
			<persName><forename type="first">T</forename><surname>Arendt</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Biermann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Jurack</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Krause</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Taentzer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Conference on Model Driven Engineering Languages and Systems</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2010">2010</date>
			<biblScope unit="page" from="121" to="135" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Specifying model transformations by direct manipulation using concrete visual notations and interactive recommendations</title>
		<author>
			<persName><forename type="first">I</forename><surname>Avazpour</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Grundy</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Grunske</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Visual Languages and Computing</title>
		<imprint>
			<biblScope unit="volume">28</biblScope>
			<biblScope unit="page" from="195" to="211" />
			<date type="published" when="2015">2015</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Feature-based survey of model transformation approaches</title>
		<author>
			<persName><forename type="first">K</forename><surname>Czarnecki</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Helsen</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IBM Systems Journal</title>
		<imprint>
			<biblScope unit="volume">45</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="621" to="645" />
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Do background colors improve program comprehension in the #ifdef hell?</title>
		<author>
			<persName><forename type="first">J</forename><surname>Feigenspan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Kästner</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Apel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Liebig</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Schulze</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Dachselt</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Papendieck</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Leich</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Saake</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Empirical Software Engineering</title>
		<imprint>
			<biblScope unit="volume">18</biblScope>
			<biblScope unit="issue">4</biblScope>
			<biblScope unit="page" from="699" to="745" />
			<date type="published" when="2013">2013</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">How Do Developers Solve Software-engineering Tasks on Model-based Code Generators? An Empirical Study Design</title>
		<author>
			<persName><forename type="first">V</forename><surname>Guana</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Stroulia</surname></persName>
		</author>
		<ptr target="CEUR-WS.org" />
	</analytic>
	<monogr>
		<title level="m">First International Workshop on Human Factors in Modeling</title>
				<imprint>
			<date type="published" when="2015">2015</date>
			<biblScope unit="page" from="33" to="38" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<monogr>
		<title level="m" type="main">Design and analysis of cross-over trials</title>
		<author>
			<persName><forename type="first">B</forename><surname>Jones</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">G</forename><surname>Kenward</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2014">2014</date>
			<publisher>CRC Press</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Granularity in software product lines</title>
		<author>
			<persName><forename type="first">C</forename><surname>Kästner</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Apel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Kuhlemann</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Conference on Software Engineering</title>
				<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2008">2008</date>
			<biblScope unit="page" from="311" to="320" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">EMorF-A tool for model transformations</title>
		<author>
			<persName><forename type="first">L</forename><surname>Klassen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Wagner</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Electronic Communications of the EASST</title>
		<imprint>
			<biblScope unit="volume">54</biblScope>
			<date type="published" when="2012">2012</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">A Solution to the FIXML Case Study Using Triple Graph Grammars and eMoflon</title>
		<author>
			<persName><forename type="first">G</forename><surname>Kulcsár</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Leblebici</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Anjorin</surname></persName>
		</author>
		<ptr target="CEUR-WS.org" />
	</analytic>
	<monogr>
		<title level="m">Transformation Tool Contest</title>
				<imprint>
			<date type="published" when="2014">2014</date>
			<biblScope unit="page" from="71" to="75" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">Reuse in model-to-model transformation languages: are we there yet?</title>
		<author>
			<persName><forename type="first">A</forename><surname>Kusel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Schönböck</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Wimmer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Kappel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Retschitzegger</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Schwinger</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Software &amp; Systems Modeling</title>
		<imprint>
			<biblScope unit="volume">14</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="537" to="572" />
			<date type="published" when="2015">2015</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">How Does the Degree of Variability Affect Bug Finding</title>
		<author>
			<persName><forename type="first">J</forename><surname>Melo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Brabrand</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">W</forename><surname>Asowski</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Conference on Software Engineering, ICSE &apos;16</title>
				<meeting><address><addrLine>New York, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2016">2016</date>
			<biblScope unit="page" from="679" to="690" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">A taxonomy of model transformation</title>
		<author>
			<persName><forename type="first">T</forename><surname>Mens</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">V</forename><surname>Gorp</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Electr. Notes Theor. Comput. Sci</title>
		<imprint>
			<biblScope unit="volume">152</biblScope>
			<biblScope unit="page" from="125" to="142" />
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">The magical number seven, plus or minus two: Some limits on our capacity for processing information</title>
		<author>
			<persName><forename type="first">G</forename><forename type="middle">A</forename><surname>Miller</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Psychological review</title>
		<imprint>
			<biblScope unit="volume">63</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page">81</biblScope>
			<date type="published" when="1956">1956</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">Towards a catalog of non-functional requirements in model transformation languages</title>
		<author>
			<persName><forename type="first">S</forename><surname>Nalchigar</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Salay</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Chechik</surname></persName>
		</author>
		<ptr target="CEUR-WS.org" />
	</analytic>
	<monogr>
		<title level="m">Workshop on the Analysis of Model Transformations</title>
				<imprint>
			<date type="published" when="2013">2013</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">Model Transformation: The Heart and Soul of Model-Driven Software Development</title>
		<author>
			<persName><forename type="first">S</forename><surname>Sendall</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Kozaczynski</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Software</title>
		<imprint>
			<biblScope unit="volume">20</biblScope>
			<biblScope unit="issue">5</biblScope>
			<biblScope unit="page" from="42" to="45" />
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<analytic>
		<title level="a" type="main">Views on internal and external validity in empirical software engineering</title>
		<author>
			<persName><forename type="first">J</forename><surname>Siegmund</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Siegmund</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Apel</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Conference on Software Engineering</title>
				<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2015">2015</date>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="page" from="9" to="19" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<monogr>
		<title level="m" type="main">Model-Driven Engineering in the Large: Refactoring Techniques for Models and Model Transformation Systems</title>
		<author>
			<persName><forename type="first">D</forename><surname>Strüber</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2016">2016</date>
		</imprint>
		<respStmt>
			<orgName>University of Marburg</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">PhD thesis</note>
</biblStruct>

<biblStruct xml:id="b22">
	<analytic>
		<title level="a" type="main">Scalability of Model Transformations: Position Paper and Benchmark Set</title>
		<author>
			<persName><forename type="first">D</forename><surname>Strüber</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Kehrer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Arendt</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Pietsch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Reuling</surname></persName>
		</author>
		<ptr target="CEUR-WS.org" />
	</analytic>
	<monogr>
		<title level="m">Workshop on Scalable Model Driven Engineering</title>
				<imprint>
			<date type="published" when="2016">2016</date>
			<biblScope unit="page" from="21" to="30" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b23">
	<analytic>
		<title level="a" type="main">RuleMerger: Automatic Construction of Variability-Based Model Transformation Rules</title>
		<author>
			<persName><forename type="first">D</forename><surname>Strüber</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Rubin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Arendt</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Chechik</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Taentzer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Plöger</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Conference on Fundamental Approaches to Software Engineering</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2016">2016</date>
			<biblScope unit="page" from="122" to="140" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b24">
	<analytic>
		<title level="a" type="main">A Variability-Based Approach to Reusable and Efficient Model Transformations</title>
		<author>
			<persName><forename type="first">D</forename><surname>Strüber</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Rubin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Chechik</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Taentzer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Conference on Fundamental Approaches to Software Engineering</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2015">2015</date>
			<biblScope unit="page" from="283" to="298" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b25">
	<analytic>
		<title level="a" type="main">A Tool Environment for Managing Families of Model Transformation Rules</title>
		<author>
			<persName><forename type="first">D</forename><surname>Strüber</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Schulz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Conference on Graph Transformation</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2016">2016</date>
			<biblScope unit="page" from="89" to="101" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b26">
	<analytic>
		<title level="a" type="main">Challenges for addressing quality factors in model transformation</title>
		<author>
			<persName><forename type="first">E</forename><surname>Syriani</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Gray</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Conference on Software Testing, Verification and Validation</title>
				<imprint>
			<date type="published" when="2012">2012</date>
			<biblScope unit="page" from="929" to="937" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b27">
	<analytic>
		<title level="a" type="main">Cognitive fit: An empirical study of information acquisition</title>
		<author>
			<persName><forename type="first">I</forename><surname>Vessey</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Galletta</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Information systems research</title>
		<imprint>
			<biblScope unit="volume">2</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="63" to="84" />
			<date type="published" when="1991">1991</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b28">
	<analytic>
		<title level="a" type="main">Individual Comparisons by Ranking Methods</title>
		<author>
			<persName><forename type="first">F</forename><surname>Wilcoxon</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Biometrics Bulletin</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="issue">6</biblScope>
			<biblScope unit="page" from="80" to="83" />
			<date type="published" when="1945-12">Dec. 1945</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b29">
	<analytic>
		<title level="a" type="main">Optimized Declarative Transformation: First Eclipse QVTc Results</title>
		<author>
			<persName><forename type="first">E</forename><forename type="middle">D</forename><surname>Willink</surname></persName>
		</author>
		<ptr target="CEUR-WS.org" />
	</analytic>
	<monogr>
		<title level="m">Workshop on Scalable Model Driven Engineering</title>
				<imprint>
			<date type="published" when="2016">2016</date>
			<biblScope unit="page" from="47" to="56" />
		</imprint>
	</monogr>
</biblStruct>

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