<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>An Exploration of Sustainability Thinking in Research Software Engineering</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Timo Kehrer</institution>
          ,
          <addr-line>Birgit Penzenstadler</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>-Research software is challenged by comparatively short educational cycles and intermediate academic funding cycles versus long-term research progress. Typical BSc, MSc and Phd projects, which contribute significantly to the development of research software, have a typical duration of 3 months to 4 years and while they ideally build on previous work, these works often turn into components that, after graduation, are shelved to die. This paper shows an avenue for research which can be characterized as rethinking the development of research software from a sustainability perspective. In order to get clarity on the underlying values and to extract exemplary sustainability requirements, we instantiate a sustainability reference model for the case example of two dedicated research software systems from the field of Model-Driven Engineering. This provides discussion grounds for a wider exploration of sustainable research software.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>
        Science increasingly relies on different kinds of research
software used for various purposes. We may distinguish two
major categories of research software. In the natural,
economic, social and life sciences, for instance, scientific
discoveries are often data-driven, which in turn requires adequate
software to generate, compute, analyze, and visualize the
respective research data [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. In the engineering sciences, at
least in those which heavily rely on computer-aided analysis
and design principles, empirical validation of new methods and
techniques requires prototypical implementations and tools.
These tools, being developed for the sake of gaining scientific
insights, represent another kind of important research software.
In particular, tools developed by software engineering
researchers fall into the latter category of research software [
        <xref ref-type="bibr" rid="ref35">35</xref>
        ].
Some of the characteristics that make research software
stand apart from other types of software systems are the
funding structures (grants), academic recognition incentives
(publications), and extremely distributed development. Such
distributed development can include silos (individual research
groups that do not communicate about common objectives) as
well as geographically distributed developer teams.
      </p>
      <p>Long-term research progress is particularly challenged by
comparatively short educational cycles and intermediate
academic funding periods. Considerable portions of research
software are developed in terms of BSc, MSc and PhD projects
which have a typical duration of just a few months or years.
While they ideally build on previous work, these works often
turn into components that, after graduation, are shelved to die.
As a consequence, research results are often irreproducible,
design knowledge gets lost quickly, and the development
of research software becomes highly inefficient due to the
repeated re-implementation of legacy software components.
In addition to the lack of re-use and continuous evolution,
some research software has a significant potential for broader
application, which expands the initial use in an individual
research project—a potential which is currently not fully
explored.</p>
      <p>
        Expanded usage scenarios and the phenomenon of rapid
research software aging invoke a need for user-oriented
evolution, maintenance, emulation, dissemination, and archiving
of the software in question. Such kind of service leads to
(technical) sustainability of research software and has to be enabled
by designated technical and organizational infrastructures that
supersede traditional versioning and documentation [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
However, beyond quality assurance and user-driven evolution,
sustainability concerns with regard to research software are
not limited to the technical dimension but also include a social
(user and developer communities), an economic (ROI), an
environmental (in terms of impacts) [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ], and an individual
dimension (life-long learning).
      </p>
      <p>Consequently, for research software to progress more
towards sustainability, we need to explore the relation of
(specific kinds of) research software to the other dimensions of
sustainability in further detail. We aim at answering three
research questions:
1) Was does sustainability mean for research software?
2) Which sustainability objectives can be identified for
research software?
3) What are the ways in which we could progress towards
achieving those objectives?</p>
      <p>
        Research Design: We conduct an analysis of the
sustainability dimensions for research software according to the
generic sustainability goal model [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ]. In brief, the dimensions
can be thought of as viewpoints or lenses (which means that
contents can overlap), and are denoted as individual, social,
economic, environmental, and technical.
      </p>
      <p>Contribution: Using two concrete research tools from the
field of Model-Driven Engineering (MDE) as a case example,
we illustrate the analysis of this specific kind of research
software under the lens of the five dimensions of sustainability.
From this analysis, we discuss which of the proposed measures
can be generalized from the specific tools to other research
software, and where other kinds of research software may
lead to further sustainability requirements which are of minor
importance for the case example used in the paper at hand.</p>
      <p>Impact: This contribution could lay the foundation for a
research agenda for sustainable research software.</p>
      <p>The remainder of the paper is structured as follows:
Section II presents the background and related work, Section III
presents the instantiation of the model and analysis, Section IV
discusses limitations thereof, and Section V concludes the
paper with an outlook on next steps.</p>
    </sec>
    <sec id="sec-2">
      <title>II. BACKGROUND &amp; RELATED WORK</title>
      <p>In Section II-A, we review the work related to the paper
at hand, starting with a high-level overview of development
methods for (not necessarily scientific) long-living software
systems, and subsequently narrowing our scope to sustainable
research software. Thereafter, in Section II-B we briefly recall
the general methodology for requirements engineering for
sustainability applied in this paper. Finally, in Section II-C we
give an overview of the scientific domain and the kind of
research software serving as a case example in this paper, i.e.,
for which we instantiate this methodology.</p>
      <sec id="sec-2-1">
        <title>A. Related Work: Sustainable Research Software</title>
        <p>
          Many software engineering sub-disciplines directly or
indirectly contribute to the goal of mitigating software aging
by supporting the continuous evolution of long-living
software systems with respect to ever-changing requirements and
technical platforms. For example, the ICSME1, one of the
premier forums for researchers and practitioners to present and
discuss the most recent innovations, trends, experiences, and
challenges in software maintenance and evolution, compiles
more than 20 topics of interest around maintenance and
evolution. Many of these topics are also picked up by other
major software engineering conferences, such as ICSE2, ASE3
and ESEC/FSE4. However, virtually all of these topics — such
as change and defect management, clone management, reverse
engineering and re-engineering, quality assurance, to mention
just a few of them — clearly target the technical dimension of
sustainability, while the other dimensions are mostly neglected.
The same applies to most larger recent research initiatives. For
example, the research structure of the German priority program
“Design for Future – Managed Software Evolution” [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ],
although having a determined focus on long-living software
systems, aims at technical improvements such as knowledge
carrying software, methods and processes as well as platforms
and environments for software evolution.
        </p>
        <p>While there have been several works in the area of
sustainable software in the sense of technical (and sometimes
134th International Conference on Software Maintenance and Evolution
(ICSME) https://icsme2018.github.io/</p>
        <p>240th International Conference on Software Engineering (ICSE) https://
www.icse2018.org/</p>
        <p>333rd International Conference on Automated Software Engineering (ASE)
http://www.ase2018.com/</p>
        <p>
          426th Joint European Software Engineering Conference and Symposium on
the Foundations of Software Engineering (ESEC/FSE) https://conf.researchr.
org/home/fse-2018
economic) sustainability, e.g. [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ], [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ], in the paper at hand
we focus on research software as defined in the introduction.
Other works focused mainly on green software engineering
in a limited scope of the environmental dimension, usually
dominated by energy-efficiency (see, e.g., [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ], [
          <xref ref-type="bibr" rid="ref29">29</xref>
          ]).
        </p>
        <p>
          In contrast, the series of Workshops on Sustainable Software
for Science: Practice and Experiences (WSSSPE) focuses
specifically on research software. So far, there have been held
four instances. The Fourth Workshop on Sustainable Software
for Science: Practice and Experiences (WSSSPE4) was
colocated in Manchester with the First Conference of Research
Software Engineers (RSE Conference). WSSSPE3 was held on
28–29 September 2015 in Boulder, Colorado, USA. Previous
events in the WSSSPE series are WSSSPE1, held in
conjunction with SC13 (the Intl. Conference for High Performance
Computing, Networking and Analysis); WSSSPE1.1, a
focused workshop organized jointly with the SciPy conference5;
WSSSPE2, held in conjunction with SC14; and WSSSPE2.1,
a focused workshop organized again jointly with SciPy. The
WSSSPE1 workshop engaged the broad scientific community
to identify challenges and best practices in areas relevant to
sustainable scientific software. WSSSPE2 invited the
community to propose and discuss specific mechanisms to move
towards an imagined future practice of software development
and usage in science and engineering. WSSSPE3 organized
self-directed teams that collaborated prior to and during the
workshop to create vision documents, proposals, papers, and
action plans. They produced a JORS report to document the
vision sessions and results of team discussions [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ].
        </p>
        <p>
          One of the initiatives coming out of WSSSPE is the
conceptualization of a US Research Software Sustainability Center
(URSSI) funded by the NSF [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. They identified three primary
classes of concern are pervasive across research software:
functioning of the individual and team, functioning of the
research software, and functioning of the research field itself.
The goal of the current conceptualization project is to create
a roadmap for a URSSI to minimize or at least decrease these
types of concerns [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ].
        </p>
        <p>
          Finally, in 2016, there was a Dagstuhl Perspectives
Workshop on Engineering Scientific Software that proposed a set
of pledges for citations, careers, and development and use of
scientific software—and furthermore proposed six directions
for future research: Quantifying the availability of scientific
software, facilitating software discovery within and across
disciplines, sustainability of software experimentation, software
engineering tools improving productivity by tailoring to intent
and skill re-tooling the bibliographic software toolchain for
software citation, and analysis of scientific software ecosystem
metadata [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ].
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>B. Background: Requirements Engineering for Sustainability</title>
        <p>
          Requirements are the key leverage point for
practitioners who want to develop sustainable software-intensive
systems [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. In order to develop such systems, we need awareness
(by education), guidance (e.g., by training), and creativity (to
5https://conference.scipy.org
find better solutions). We use the term RE4S as defined in
previous work [
          <xref ref-type="bibr" rid="ref30">30</xref>
          ]: Requirements Engineering for Sustainability
(RE4S) denotes “the concept of using requirements
engineering and sustainable development techniques to improve the
environmental, social, and economic sustainability of software
systems and their direct and indirect effects on the surrounding
business and operational context” [
          <xref ref-type="bibr" rid="ref30">30</xref>
          ].
        </p>
        <p>
          The RE4S approach uses an artifact model, guiding
questions, checklists, and reference models to elaborate the
requirements for a system under development. The entire approach
is described in detail in [
          <xref ref-type="bibr" rid="ref30">30</xref>
          ] and example specifications
have been provided in [
          <xref ref-type="bibr" rid="ref32">32</xref>
          ], [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. The approach uses five
sustainability dimensions, for which we refer to the definition
in [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]:
        </p>
        <p>The individual dimension covers individual freedom and
agency (the ability to act in an environment), human
dignity, and fulfillment. It includes individuals’ ability to
thrive, exercise their rights, and develop freely.</p>
        <p>The social dimension covers relationships between
individuals and groups. For example, it covers the structures
of mutual trust and communication in a social system and
the balance between conflicting interests.</p>
        <p>The economic dimension covers financial aspects and
business value. It includes capital growth and liquidity,
investment questions, and financial operations.</p>
        <p>The technical dimension covers the ability to maintain
and evolve artificial systems (such as software) over time.
It refers to maintenance and evolution, resilience, and the
ease of system transitions.</p>
        <p>The environmental dimension covers the use and
stewardship of natural resources. It includes questions ranging
from immediate waste production and energy
consumption to the balance of local ecosystems and climate
change concerns.</p>
        <p>
          Some approaches for modeling and reasoning about
concepts supporting software sustainability in its various
dimensions have been proposed in the literature, e.g., in [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ], [
          <xref ref-type="bibr" rid="ref31">31</xref>
          ].
In the contribution at hand, we focus specifically on the
goal modeling aspect. In [
          <xref ref-type="bibr" rid="ref31">31</xref>
          ], Penzenstadler and Femmer
present a reference model for sustainability that decomposes
sustainability into these five dimensions. The model provides
activities and relates them to values they support and
assessable indicators. It is intended to serve as a reference model for
a process engineer who instantiates the model for a software
development company or for a requirements engineer who
instantiates it for a specific system under development.
        </p>
        <p>
          A subset of the meta-model of this generic sustainability
model, originally introduced in in [
          <xref ref-type="bibr" rid="ref31">31</xref>
          ], is shown in Figure 1.
It is comprised by the types Goal, Dimension, Value, Indicator,
and Activity: A &lt;Goal&gt; may be approached from several
dimensions representing different aspects of the overall goal.
A &lt;Dimension&gt; is a specific viewpoint, represented by a set of
values that express the abstract objectives of the dimension.
The dimensions may influence each other. A &lt;Value&gt; is a
rationale that is rooted in itself, while an &lt;Objective&gt; explains
what a value means for a specific instance, which may be
approximated by indicators. An &lt;Indicator&gt; is a qualitative or
subobjective of
0..1
contributes to
0..1
subactivity of
        </p>
        <p>Goal
*
Objective
1..*
1..*
Activity
*</p>
        <p>is aspect of
1..*
explains</p>
        <p>1..*
1
*
1..*
1..*</p>
        <p>*
1..*
approximates</p>
        <p>*
influences</p>
        <p>
          Indicator
0..1
subvalue of
quantitative metric and is related to a value. A &lt;Regulation&gt;
is an optional element that affects a value. An &lt;Activity&gt; is a
means to support a set of objectives and influences a subset of
the indicators approximating the supported objectives. Values,
activities, and objectives may be (recursively) decomposed
into sub-values, sub-activities and sub-objectives, respectively.
Please note that the meta-model shown in Figure 1 abstains
from presenting some of the details introduced in [
          <xref ref-type="bibr" rid="ref31">31</xref>
          ] which
are not used in the remainder of this paper, e.g., the usage of
regulations as an optional element that affects a value. On the
contrary, the paper at hand extends the original meta-model
in [
          <xref ref-type="bibr" rid="ref31">31</xref>
          ] by introducing objectives as concrete refinements of
abstract values.
        </p>
        <p>
          Building on the five dimensions, the notion of further
framing sustainability as a property of software quality was
discussed in Lago et al. [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ]. One of the key insights in that
work was that sustainability requirements and concerns will
increase system scope, requiring extended analysis during
requirements engineering. This notion was also observed for the
investigation of sustainability and application of the generic
goal model to research software presented in the paper at hand.
        </p>
        <p>
          Model-Driven Engineering (MDE) [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] is a software
development paradigm which aims to ease the transition between
informally sketched designs and implementations by supporting
high-level yet formal (domain-specific) models as a starting
point for automation, with the ultimate goal of increasing
productivity and quality of developments. The increase of
productivity, in turn, highly depends on the quality of the provided
tool environment, which has to be customized to
(domainspecific) modeling languages, development processes, and
project-specific or individual preferences. Thus, large portions
of MDE research are centered around the development of
MDE tools; the kind of research software which we use as a
case example of a scientific domain of interest in the remainder
of this paper. More specifically, we consider two concrete
tools within this domain which are still under research and
development, known as Henshin and SiLift. The first author
of the paper at hand is actively involved in the development
of both of these tools.
        </p>
        <p>
          Exemplary MDE research tool 1: Henshin. Henshin [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ],
[
          <xref ref-type="bibr" rid="ref37">37</xref>
          ] is a model transformation framework based on the
foundations of algebraic graph transformation [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. It provides
a high-level model transformation language, including both
declarative and imperative language constructs, as well as an
interpreter for model transformation execution and
simulation. Furthermore, it supports various techniques for statically
analyzing model transformation systems, such as state space
exploration facilities and a prototypical implementation of a
formal calculus known as critical pair analysis. Using a simple
form of the well-known dining philosophers example, Figure 2
gives an intuition of rule-based model transformation
specifications in Henshin and its integrated state space generation
and analysis facilities.
        </p>
        <p>
          Since model transformations are often considered as the
“heart and soul” of MDE [
          <xref ref-type="bibr" rid="ref34">34</xref>
          ], Henshin is a representative
kind of research software in our scientific domain of interest.
        </p>
        <p>
          Exemplary MDE research tool 2: SiLift. SiLift [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ] is
a generic yet highly adaptable model management
framework and tool suite which can be instantiated for a wide
range of model management tasks supporting model evolution,
including services for model versioning and model-driven
software product-line engineering. The core services provided
by the framework are generally known as model differencing,
patching and merging, all of which work on a structural,
graph-based representation of the underlying models and use
sets of language-specific change operations in order to handle
model modifications. For example, using the SiLift framework,
a model differencing service may be instantiated which is
capable of recognizing high-level change operations such
as language-specific refactorings between two versions of a
model. A screenshot of the graphical user interface of a SiLift
integration into the UML modeling tool Papyrus6 is shown in
Figure 3.
        </p>
        <p>With models becoming primary development artifacts in
MDE which are subject to continuous evolution, SiLift
represents another class of highly relevant research software,
namely model management tools in MDE.</p>
        <p>III. INSTANTIATION OF THE GENERIC SUSTAINABILITY</p>
        <p>MODEL FOR RESEARCH SOFTWARE</p>
        <p>In this section, we describe the instantiation of the generic
sustainability model for research software. For the purpose of
clarity and simplicity, we did not include all values, objectives
and activities that could be discussed, but an exemplary
selection that provides an overview of the most interesting elements
(see Figure 4 below). In particular, we leave out those aspects
which are not necessarily distinguishing for research software.
Please note that we do not claim our model to be complete,
but it is rather meant to provide a basis for further discussion
and elaboration. Moreover, we do not claim generality, but
we deliberately consider research software in the domain of
Model-Driven Engineering. More specifically, we reflect on
our experience with concrete research tools where we are</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>6https://www.eclipse.org/papyrus</title>
      <p>
        actively involved in the development, namely Henshin and
SiLift (see Section II-C). We performed the analysis phase
described in [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ], where the generic goal model is tailored to
that context. This formalizes what sustainability really means
for these research tools and, to some extent, other research
software as discussed further below. That means that:
1) the values are instantiated to specific objectives, then
2) activities need to be defined to implement the goals, and
3) indicators assess how well the objectives have been
achieved.
      </p>
      <p>In the following, we discuss the represented elements per
dimension for the instance of the case example Henshin, in
Legend:</p>
      <p>Dimension
Value
Objective
Activity</p>
      <p>Indicator
the order depicted in Figure 4. Please note that, while we
are describing the model per dimension, there is no strict
hierarchy, and the cross-references are better visualized in the
diagram.</p>
      <sec id="sec-3-1">
        <title>A. Individual Dimension</title>
        <p>In addition to its primary purpose of generating new
scientific insights, research software is often used for education in
the classroom, for example, to illustrate software engineering
concepts. As they are implemented in a (to the researcher /
educator) well-known tool that students may be allowed to
work with, they provide for an excellent learning environment.
A prerequisite for such educational use is the availability of
good tutorials and manuals in order for the students to be
able to easily pick up the usage of the tool. Activities that
can support this objective are tutorials on websites and wikis
as well as in videos or forums. We use both Henshin and
SiLift for education in the classroom, providing a set of
handson exercises as starting points for the students. Indicators of
success are any means that help assess the learnability of
the tool, i.e., how well students perform for concrete tasks
which are to be solved with the help of the tool. Concrete
examples which we have used in the past are implementing
dedicated model transformations in Henshin, or using the
model differencing facilities of SiLift to answer questions
about the historical evolution of a model.</p>
      </sec>
      <sec id="sec-3-2">
        <title>B. Social Dimension</title>
        <p>In the social dimension, the sustainability of research
software can be significantly increased by building larger
communities within the scientific domain of interest.</p>
        <p>The developer community comprises active developers
contributing to the research software as well as (typically more
senior) researchers participating in strategic discussions.
According to our experience, an activity which works quite well
to form a developer community and serves as an instrument for
motivation is to adopt open-source principles and ideas. The
Henshin project, for instance, is hosted as an official Eclipse
project7. This not only ties the Henshin development process
to some of the lightweight quality assurance principles which
must be implemented by any official Eclipse project (such as
unit testing and code reviews), it implicitly introduces a reward
system through which developers may increase their personal
reputation. For instance, the amount of commits per developer
is now visible to the general public. We found this to have a
positive impact on students’ motivation, particularly due to the
visibility of the Eclipse project.</p>
        <p>The loose collaboration via the open-source infrastructure
may be supported, e.g., by regular online and physical
meetings. In the Henshin project, for instance, a monthly online
meeting of about one to two hours serves as a discussion forum
for efficiently discussing major design decisions when a new
feature is realized. The first Henshin developer day was held
as a physical meeting at the Technical University of Darmstadt</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>7https://www.eclipse.org/henshin</title>
      <p>in 2017, and the event shall take place in an annual fashion
with the aim of fostering strategic discussions.</p>
      <p>
        More often than not, the larger research community of a
scientific domain comes up with a variety of different tools
which are being developed for the same or at least similar
purpose. In the MDE community, for instance, Henshin is by
far not the only model transformation tool. Actually, a whole
bunch of tools has been developed for the same purpose, yet
following different transformation concepts and paradigms.
Since all of these techniques and tools have their particular
strengths and weaknesses, the research question arises which
model transformation approach may be useful for which
application domains and kinds of model transformation scenarios.
A suitable activity to, at least gradually, approach possible
answers to this question and to foster the collaboration within
the larger research community is the regular organization of
tool contests. The Model Transformation Tool Contest (TTC)8,
for instance, has been established in 2007 and aims to evaluate
and compare quality attributes of model transformation tools
such as expressiveness, usability and performance along
selected challenging case studies (for example, case descriptions
of the TTC 2017 may be found in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]).
      </p>
      <p>The tool(s) that perform best in a particular case study
receive an award at the physical TTC meeting, which serves
as an indicator for the suitability in a certain transformation
scenario. The ultimate goal is to advance research on model
transformation by evaluating, improving and integrating
existing transformation tools, and by identifying open problems.
Similar goals were pursued by the Intl. Workshop Series on
Comparison and Versioning of Software Models (CVSM)9,
which initiated the development of a community benchmark
set serving as a basis for evaluating and comparing tools for
model differencing and merging.</p>
      <p>Finally, the user community refers to those researchers of
a larger scientific domain which do not actively contribute to
the development of the research software (or any alternative
tool for the same purpose), but who actively use the tool
for their own research. Extending this user community is
a highly desirable objective, e.g., for the sake of collecting
valuable feedback in order to validate and improve the research
software in question. A basic prerequisite for this is that the
research software is easy to learn and to use which, in addition
to accompanying tutorials, should be supported by applying
basic principles from the field of usability engineering.</p>
      <p>
        In the Henshin project, for instance, a user study was
conducted to learn about tool users’ preferences with respect to
a textual syntax of the Henshin transformation language [
        <xref ref-type="bibr" rid="ref37">37</xref>
        ].
In addition, the usability may be significantly increased by
providing meta-tools for adapting a tool to a specific use
case and context. As an example, consider again the Henshin
transformation language, in which model transformation rules
provide the basic building blocks of any model transformation.
The definition of such rules can be supported by learning
transformation rules from user-provided examples [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ], or
by generating basic rules from a given meta-model of a
8https://www.transformation-tool-contest.eu
9http://pi.informatik.uni-siegen.de/CVSM2014
modeling language [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ], [
        <xref ref-type="bibr" rid="ref33">33</xref>
        ] or UML profile [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ]. Classical
usability metrics such as the effectiveness, efficiency and user
satisfaction for a set of dedicated tasks are indicators affected
by these activities.
      </p>
      <p>The same meta-tools can also be used to adapt the generic
services provided by the SiLift framework to a given
(domainspecific) modeling language. Moreover, SiLift is highly
experimental in nature, exposing a huge configuration space for
tailoring details via plenty of configuration parameters, e.g.,
for the selection of proper algorithms and for further tuning
these algorithms through numerical parameters. To assist tool
users in choosing a suitable configuration, we applied
principles of software product-line engineering which enable a
highlevel and easy to use configuration process. However, there is
still much room for improvement, e.g., through automatically
learning optimal configurations for dedicated usage scenarios
of the tool.</p>
      <sec id="sec-4-1">
        <title>C. Economic Dimension</title>
        <p>
          Besides establishing native developer, researcher and user
communities within a scientific domain of interest, it is worth
exploring the potential interdisciplinary usage scenarios of
a research software in order to increase both social and
economic sustainability. For instance, to enable heuristic search
over models expressed in domain-specific languages, Henshin
has been successfully utilized to encode high-level model
modifications such as genetic mutation operators [
          <xref ref-type="bibr" rid="ref38">38</xref>
          ]. The
overall goal of this search-based model engineering paradigm
is to lower the access barrier to applying the current state of
the art in optimization and search to specific problems. This
application still requires substantial expertise in optimization
research since problem encodings are not usually naturally
derived from domain knowledge. Search and optimization can
be applied to a large number of (combinatorial) problems,
e.g., in the larger context of search-based software
engineering [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ] or even beyond. To acquire new application domains
and explore such potential research synergies, a supporting
activity is to organize interdisciplinary workshops serving as a
platform for fostering collaborations. An example of this is the
HU-KCL Workshop on Search-Based Model Engineering10
co-organized by representatives from HU Berlin and King’s
College London, to which we invited researchers from
geosciences, bio-informatics, and others. The number of joint
research projects and publications may serve as an indicator
for this value.
        </p>
        <p>
          Along a similar vein, SiLift has been successfully used in
a number of research collaborations in order to solve concrete
problems beyond its traditional application domain of model
versioning. For example, an approach and supporting tool for
reasoning about software product-line evolution using
differences in feature models has been developed in [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. Beyond
usual syntactic model differencing, a specific contribution of
this collaboration is a facility for detecting complex editing
operations on feature models. Their semantic impact on the set
of valid feature configurations can be classified semantically as
        </p>
        <p>
          10https://www.informatik.hu-berlin.de/de/forschung/gebiete/mse/
HU-KCL-Workshop
refactoring, generalization or specialization of a feature model. impact. Consider again the potential interdisciplinary research
More generally, the SiLift tool turned out to be a cross-cutting synergies arising from the search-based model engineering
technology which is widely used within the already mentioned paradigm introduced in Section III-C. In bio-informatics and
research initiative on long-living software systems [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ], [
          <xref ref-type="bibr" rid="ref39">39</xref>
          ]. various natural sciences, for instance, computational methods
        </p>
        <p>Longevity refers to the objective that a specific research are used to characterize scientific objects — such as gene
software shall be operable as long as possible. From an sequences or physical materials structures — using a mixture
economic perspective, the main asset which needs to be of software tools. A major problem is to find a suitable
maintained is the added value contained by research software combination of (configurations of) these tools to perform
components developed in the context of BSc, MSc and PhD computations that meet certain constraints and quality
retheses. From a technical point of view, longevity needs to quirements, which in turn may be supported by model-based
be assisted by traditional software engineering methods and optimization methods.
techniques dealing with long-term software evolution in the In addition, a rather traditional way to minimize negative
context of changing technologies, organizational constraints impacts, one concrete exemplary objective is to reduce energy
and requirements. Since there is plenty of related work in consumption, which we consider here from a very broad
the technical dimension (see Section II-A), this is summarized perspective. On the one hand, we may reduce the
compuunder the supporting activity referred to as continuous software tational resources consumed by the resource software itself.
evolution in Figure 4 but not further elaborated in the paper at However, choosing an appropriate technical paradigm for
hand. A rough indicator for continuous software evolution is resource-aware programming heavily depends on the kind of
the number of releases per year. developed research software and the hardware architecture it is
supposed to run on, thus computational resource efficiency will
D. Technical Dimension be not considered here any further. On the other hand, a much
more generalizable activity is to properly plan the physical
meetings of research software developers and collaborating
researchers within a scientific domain, with the overall goal of
reducing traveling efforts. One obvious way to avoid traveling
is to prefer online discussions over physical meetings where
possible. If online meetings are highly inadequate, e.g., for the
kinds of physical meetings briefly discussed in Section III-B,
such supporting meetings may be efficiently organized in
colocation with other major events. The transformation tool
contest (see Section III-B), for instance, is organized within
the STAF conference series, which hosts the most specific
scientific conferences being of interest for any researcher
working in the domain of model transformations. When
traveling cannot be avoided, a supporting activity is to buy carbon
offsets along with flight tickets in order to reduce individual
carbon footprints.</p>
        <p>
          Research results are seldom produced using just a single
tool. In the MDE context, for instance, development
environments typically consist of complex tool chains comprising
sets of heterogeneous tools which are supposed to heavily
interact with each other. To perform larger experiments and
evaluate certain tooling aspects in realistic case studies, such
an integration into an existing MDE environment is often
inevitable, and thus interoperability with other tools is an
important value in our scientific domain of interest. There
are well-known activities for supporting this goal. For
example, exchange format standardization and design principles
for interface design, which may be assessed, e.g., through
interoperability testing and by using interface metrics which
measure, e.g., the complexity and usage cohesion of
interfaces [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. However, these principles are often neglected by
research software engineers and need to be further emphasized
to finally achieve technical sustainability. In the historical
evolution of both SiLift and Henshin, for instance, a major
design decision was to adopt the model representation of the
Eclipse Modeling Framework (EMF) [
          <xref ref-type="bibr" rid="ref36">36</xref>
          ], which emerged as
the de-facto standard for representing models within the MDE
research community. This design decision had a significant
impact and enabled us to validate the tools in a much broader
context.
        </p>
        <p>In this section, we discuss the two major limitations of the
model presented in the previous section in more detail.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>IV. LIMITATIONS</title>
      <sec id="sec-5-1">
        <title>E. Environmental Dimension</title>
        <p>The generic value of any research software is that it has
no (or at least minimizes) negative and facilitates positive
environmental impacts.</p>
        <p>Even if positive environmental impacts are hard to foresee
for many kinds of research software, e.g., for experimental
prototypes in the engineering sciences, such research software
may lead to 2nd order impacts through acquiring new
application domains. This is particularly the case if some research
software can be applied in other scientific domains in which
new research results may have a direct positive environmental</p>
      </sec>
      <sec id="sec-5-2">
        <title>A. Generalizability of the Model</title>
        <p>As already mentioned, we do not claim generality for
our model presented in Section III. Some of the elements
discussed are highly specific for the research software under
consideration, namely research tools in MDE in form of
the Henshin model transformation tool suite as well as the
model versioning and management framework SiLift. While
we believe that the model is general enough to capture
sustainability requirements from the same scientific domain, i.e.,
experimental software developed in the context of MDE, some
aspects are hardly transferable to other scientific domains.</p>
        <p>Consider, for instance, the computational sciences, where
research software is often developed for a very specific
purpose, e.g., dedicated data analysis workflows for earthquake
and flood warning systems. On the one hand, some of the
values and objectives which we considered to be important
for research software in the engineering sciences are of minor
importance in the computational sciences. For example, the
general cross-domain applicability of the research software
manifests itself in objectives such as the expansion of the user
community or the acquisition of new application domains. This
is hardly an issue for a research tool that has been developed
for such a specific purpose like earthquake prediction.</p>
        <p>
          Moreover, since such research software is not a prototypical
implementation or supporting vehicle for an engineering
technique or method, it is not typically used as a classroom tool
that would illustrate dedicated concepts of a certain domain.
On the other hand, environmental impacts that arise from the
usage of a system in its application domain are much more
clearly identifiable [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ].
        </p>
      </sec>
      <sec id="sec-5-3">
        <title>B. Completeness of the Model</title>
        <p>Just like for generalizability, we do not claim completeness
of our model presented in Section III. While it covers a set
of important sustainability requirements for research software
developed in MDE, there are others which are missing in the
current version of our model. This is just due to the fact that
they have not yet been a major issue in our research software
under consideration.</p>
        <p>For example, research results achieved using a software
tool shall be reproducible, even long after initial publication.
This applies in particular to the data-driven sciences and
distinguishes research software from many other kinds of
software where users are only interested in the latest version
comprising the most fancy features. While we have many
ways of archiving software, they are not necessarily sufficient
for describing everything required for reproducing empirical
research results.</p>
        <p>
          The most significant progress we have been able to detect
for research software in terms of sustainability concerns is
evident in the technical dimension [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ]. However, also in this
dimension there remain significant challenges, some of which
may require entirely new software engineering methods. In
fact, many advanced software engineering principles cannot be
simply adopted for the scientific domain due to the inherent
differences between scientific analysis and its counterparts
in other traditional fields. For instance, the usage of formal
methods, as developed in the context of safety- and mission
critical systems, require up-front formal requirements
specifications. These are typically not available in computational
science where requirements often emerge in an interactive and
iterative discovery process [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. For similar reasons, advances
in software testing are hardly applicable due to the lack
of test oracles, which ultimately result from the explorative
nature of scientific data analysis. These examples show that
research software engineering in these domains is not merely
the application of established software engineering techniques
to scientific data analysis problems. Instead, such problems
actually generate new research challenges for software
engineering.
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>V. CONCLUSION AND FUTURE WORK In this section, we summarize the insights of the paper at hand as well as give an outlook on future work.</title>
      <sec id="sec-6-1">
        <title>A. Summary</title>
        <p>
          The paper at hand instantiated the generic sustainability goal
reference model [
          <xref ref-type="bibr" rid="ref31">31</xref>
          ] for research software in order to rethink
the development of research software from a sustainability
perspective. Specifically, our exploration was guided by the
following questions:
        </p>
      </sec>
      <sec id="sec-6-2">
        <title>1) Was does sustainability mean for research software?</title>
        <p>We instantiated the generic sustainability model with
specific values and objectives for research software and
find that there is much potential future work to help
transition research software towards a more sustainable
development process.
2) What sustainability objectives can be identified for
research software? We identified objectives across all five
sustainability dimensions, nine of which are illustrated
in Figure 4. The exploration of the five dimensions
helped in expanding the scope for an analysis of the
sustainability of research software.</p>
      </sec>
      <sec id="sec-6-3">
        <title>3) What are the ways in which we could progress to</title>
        <p>wards achieving those objectives? The objectives can be
implemented via activities and assessed via indicators
as exemplarily shown in Figure 4. Next steps are to
implement some of the activities for the research tools
Henshin and SiLift considered in this paper.</p>
        <p>At the current state of our research, we neither claim
generalizability and completeness of our sustainability goal
model, nor do we claim the general applicability of the overall
method used in this paper. While it helped us to formalize
several aspects of what sustainability really means for the two
research tools of our case example, the analysis was carried out
in a very restricted setting involving just a few stakeholders.
It may therefore not easily scale to larger projects or be
transferred to other scientific domains. However, we are
convinced that the method applied is a good starting point within
individual groups of work, specific research communities, etc.
for research software to progress further towards sustainability.
This would require a method for systematic application of
and guidance for activities supporting the development of
sustainable research software.</p>
      </sec>
      <sec id="sec-6-4">
        <title>B. Future Work</title>
        <p>
          There are two major directions for future work. First, for
the considered kind of research software, namely experimental
tools in Model-Driven Engineering, the next step is to enter
the application &amp; assessment phase of the method presented
in [
          <xref ref-type="bibr" rid="ref31">31</xref>
          ]. That is, all the activities which have been identified
during the analysis phase shall be systematically applied in
the context of the Henshin development project. Their impact
on the desired sustainability values shall be measured by the
respective indicators. Such monitoring and supervision will
provide a natural validation of our approach as well as the
necessary feedback to further refine our sustainability model
presented in this paper. Second, following our discussion in
Section IV, we are interested in to what extent our
sustainability model can be generalized to other kinds of experimental
MDE tools and, from a more long-term perspective, to other
kinds of research software from entirely different scientific
domains.
        </p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Hani</given-names>
            <surname>Abdeen</surname>
          </string-name>
          , Houari Sahraoui, and
          <string-name>
            <given-names>Osama</given-names>
            <surname>Shata</surname>
          </string-name>
          .
          <article-title>How we design interfaces, and how to assess it</article-title>
          .
          <source>In 29th IEEE International Conference on Software Maintenance</source>
          , pages
          <fpage>80</fpage>
          -
          <lpage>89</lpage>
          . IEEE,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Alice</given-names>
            <surname>Allen</surname>
          </string-name>
          , Cecilia Aragon, Christoph Becker, Jeffrey Carver, Andrei Chis, Benoit Combemale, Mike Croucher, Kevin Crowston, Daniel Garijo,
          <string-name>
            <given-names>Ashish</given-names>
            <surname>Gehani</surname>
          </string-name>
          , et al.
          <source>Engineering academic software (dagstuhl perspectives workshop 16252)</source>
          .
          <source>In Dagstuhl Manifestos</source>
          , volume
          <volume>6</volume>
          .
          <string-name>
            <given-names>Schloss</given-names>
            <surname>Dagstuhl-Leibniz-Zentrum fuer Informatik</surname>
          </string-name>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Anthony</given-names>
            <surname>Anjorin</surname>
          </string-name>
          , Thomas Buchmann, and
          <string-name>
            <given-names>Bernhard</given-names>
            <surname>Westfechtel</surname>
          </string-name>
          .
          <article-title>The families to persons case</article-title>
          . In Antonio García-Domínguez,
          <string-name>
            <given-names>Georg</given-names>
            <surname>Hinkel</surname>
          </string-name>
          , and Filip Krikava, editors,
          <source>Proceedings of the 10th Transformation Tool Contest (TTC</source>
          <year>2017</year>
          )
          <article-title>, co-located with the 2017 Software Technologies: Applications and Foundations (STAF</article-title>
          <year>2017</year>
          ), Marburg, Germany, July
          <volume>21</volume>
          ,
          <year>2017</year>
          ., volume
          <volume>2026</volume>
          <source>of CEUR Workshop Proceedings</source>
          , pages
          <fpage>27</fpage>
          -
          <lpage>34</lpage>
          . CEUR-WS.org,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Thorsten</given-names>
            <surname>Arendt</surname>
          </string-name>
          , Enrico Biermann, Stefan Jurack,
          <string-name>
            <given-names>Christian</given-names>
            <surname>Krause</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Gabriele</given-names>
            <surname>Taentzer</surname>
          </string-name>
          .
          <article-title>Henshin: advanced concepts and tools for inplace emf model transformations</article-title>
          .
          <source>In International Conference on Model Driven Engineering Languages and Systems</source>
          , pages
          <fpage>121</fpage>
          -
          <lpage>135</lpage>
          . Springer,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Christoph</given-names>
            <surname>Becker</surname>
          </string-name>
          , Stefanie Betz, Ruzanna Chitchyan, Leticia Duboc, Steve M Easterbrook,
          <string-name>
            <given-names>Birgit</given-names>
            <surname>Penzenstadler</surname>
          </string-name>
          , Norbet Seyff, and Colin C Venters.
          <article-title>Requirements: The key to sustainability</article-title>
          .
          <source>IEEE Software</source>
          ,
          <volume>33</volume>
          (
          <issue>1</issue>
          ):
          <fpage>56</fpage>
          -
          <lpage>65</lpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Marco</given-names>
            <surname>Brambilla</surname>
          </string-name>
          , Jordi Cabot, and
          <string-name>
            <given-names>Manuel</given-names>
            <surname>Wimmer</surname>
          </string-name>
          .
          <article-title>Model-driven software engineering in practice</article-title>
          .
          <source>Synthesis Lectures on Software Engineering</source>
          ,
          <volume>1</volume>
          (
          <issue>1</issue>
          ):
          <fpage>1</fpage>
          -
          <lpage>182</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Isabel</given-names>
            <surname>Sofia</surname>
          </string-name>
          <string-name>
            <surname>Brito</surname>
          </string-name>
          , José M Conejero,
          <string-name>
            <given-names>Ana</given-names>
            <surname>Moreira</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Joao</given-names>
            <surname>Araújo</surname>
          </string-name>
          .
          <article-title>A concern-oriented sustainability approach</article-title>
          .
          <source>In 12th International Conference on Research Challenges in Information Science. IEEE</source>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Johannes</given-names>
            <surname>Bürdek</surname>
          </string-name>
          , Timo Kehrer, Malte Lochau,
          <string-name>
            <given-names>Dennis</given-names>
            <surname>Reuling</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Udo</given-names>
            <surname>Kelter</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Andy</given-names>
            <surname>Schürr</surname>
          </string-name>
          .
          <article-title>Reasoning about product-line evolution using complex feature model differences</article-title>
          .
          <source>Automated Software Engineering</source>
          ,
          <volume>23</volume>
          (
          <issue>4</issue>
          ):
          <fpage>687</fpage>
          -
          <lpage>733</lpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Jeffrey</surname>
            <given-names>C Carver</given-names>
          </string-name>
          , Sandra Gesing, Daniel S Katz, Karthik Ram, and Nicholas Weber.
          <article-title>Conceptualization of a us research software sustainability institute (urssi)</article-title>
          .
          <source>Computing in Science &amp; Engineering</source>
          ,
          <volume>20</volume>
          (
          <issue>3</issue>
          ):
          <fpage>4</fpage>
          -
          <lpage>9</lpage>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Jeffrey</surname>
            <given-names>C Carver</given-names>
          </string-name>
          , Richard P Kendall, Susan E Squires, and Douglass E Post.
          <article-title>Software development environments for scientific and engineering software: A series of case studies</article-title>
          .
          <source>In Proceedings of the 29th international conference on Software Engineering</source>
          , pages
          <fpage>550</fpage>
          -
          <lpage>559</lpage>
          . IEEE Computer Society,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Ruzanna</surname>
            <given-names>Chitchyan</given-names>
          </string-name>
          , Stefanie Betz, Leticia Duboc, Birgit Penzenstadler, Steve Easterbrook, Christophe Ponsard, and
          <string-name>
            <given-names>Colin</given-names>
            <surname>Venters</surname>
          </string-name>
          .
          <article-title>Evidencing sustainability design through examples</article-title>
          .
          <source>In Intl. Workshop on Requirements Engineering for Sustainable Systems</source>
          <year>2015</year>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>German</given-names>
            <surname>Research</surname>
          </string-name>
          <article-title>Foundation (DFG). Call for proposals: Research software sustainability</article-title>
          . http://www.dfg.de/download/pdf/foerderung/ programme/lis/161026_dfg_call_proposal_software_en.pdf,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Zoya</surname>
            <given-names>Durdik</given-names>
          </string-name>
          , Benjamin Klatt, Heiko Koziolek, Klaus Krogmann, Johannes Stammel, and
          <string-name>
            <given-names>Roland</given-names>
            <surname>Weiss</surname>
          </string-name>
          .
          <article-title>Sustainability guidelines for longliving software systems</article-title>
          .
          <source>In Software Maintenance (ICSM)</source>
          ,
          <year>2012</year>
          28th IEEE International Conference on, pages
          <fpage>517</fpage>
          -
          <lpage>526</lpage>
          . IEEE,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Hartmut</surname>
            <given-names>Ehrig</given-names>
          </string-name>
          , Karsten Ehrig, Ulrike Prange, and
          <string-name>
            <given-names>Gabriele</given-names>
            <surname>Taentzer</surname>
          </string-name>
          .
          <source>Fundamentals of Algebraic Graph Transformation</source>
          . Springer,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Sinem</surname>
            <given-names>Getir</given-names>
          </string-name>
          , Duc Anh Vu, Francois Peverali, Daniel Strüber, and
          <string-name>
            <given-names>Timo</given-names>
            <surname>Kehrer</surname>
          </string-name>
          .
          <article-title>State elimination as model transformation problem</article-title>
          . In Antonio García-Domínguez,
          <string-name>
            <given-names>Georg</given-names>
            <surname>Hinkel</surname>
          </string-name>
          , and Filip Krikava, editors,
          <source>Proceedings of the 10th Transformation Tool Contest (TTC</source>
          <year>2017</year>
          )
          <article-title>, co-located with the 2017 Software Technologies: Applications and Foundations (STAF</article-title>
          <year>2017</year>
          ), Marburg, Germany, July
          <volume>21</volume>
          ,
          <year>2017</year>
          ., volume
          <volume>2026</volume>
          <source>of CEUR Workshop Proceedings</source>
          , pages
          <fpage>65</fpage>
          -
          <lpage>73</lpage>
          . CEUR-WS.org,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Ursula</surname>
            <given-names>Goltz</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ralf H Reussner</surname>
          </string-name>
          , Michael Goedicke, Wilhelm Hasselbring, Lukas Märtin, and
          <string-name>
            <surname>Birgit</surname>
          </string-name>
          Vogel-Heuser.
          <article-title>Design for future: managed software evolution</article-title>
          .
          <source>Computer Science-Research and Development</source>
          ,
          <volume>30</volume>
          (
          <issue>3- 4</issue>
          ):
          <fpage>321</fpage>
          -
          <lpage>331</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>Mark</given-names>
            <surname>Harman and Bryan F Jones</surname>
          </string-name>
          .
          <article-title>Search-based software engineering</article-title>
          .
          <source>Information and software Technology</source>
          ,
          <volume>43</volume>
          (
          <issue>14</issue>
          ):
          <fpage>833</fpage>
          -
          <lpage>839</lpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Tony</surname>
            <given-names>Hey</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stewart</surname>
            <given-names>Tansley</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kristin M Tolle</surname>
          </string-name>
          , et al.
          <article-title>The fourth paradigm: data-intensive scientific discovery</article-title>
          , volume
          <volume>1</volume>
          . Microsoft research Redmond, WA,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Lorenz</surname>
            <given-names>M Hilty</given-names>
          </string-name>
          and
          <string-name>
            <given-names>Bernard</given-names>
            <surname>Aebischer</surname>
          </string-name>
          .
          <article-title>Ict for sustainability: An emerging research field</article-title>
          .
          <source>In ICT Innovations for Sustainability</source>
          , pages
          <fpage>3</fpage>
          -
          <lpage>36</lpage>
          . Springer,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>Georg</given-names>
            <surname>Hinkel</surname>
          </string-name>
          .
          <article-title>The TTC 2017 outage system case for incremental model views</article-title>
          . In Antonio García-Domínguez,
          <string-name>
            <given-names>Georg</given-names>
            <surname>Hinkel</surname>
          </string-name>
          , and Filip Krikava, editors,
          <source>Proceedings of the 10th Transformation Tool Contest (TTC</source>
          <year>2017</year>
          )
          <article-title>, co-located with the 2017 Software Technologies: Applications and Foundations (STAF</article-title>
          <year>2017</year>
          ), Marburg, Germany, July
          <volume>21</volume>
          ,
          <year>2017</year>
          ., volume
          <volume>2026</volume>
          <source>of CEUR Workshop Proceedings</source>
          , pages
          <fpage>3</fpage>
          -
          <lpage>12</lpage>
          . CEURWS.org,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <surname>Daniel</surname>
            <given-names>S Katz</given-names>
          </string-name>
          , Sou-Cheng T Choi, Kyle E Niemeyer, James Hetherington, Frank Löffler, Dan Gunter, Ray Idaszak, Steven R Brandt,
          <source>Mark A Miller</source>
          ,
          <string-name>
            <given-names>Sandra</given-names>
            <surname>Gessing</surname>
          </string-name>
          , et al.
          <source>Report on the third workshop on sustainable software for science: Practice and experiences (wssspe3)</source>
          .
          <source>Journal of Open Research Software</source>
          ,
          <volume>4</volume>
          (
          <issue>1</issue>
          ):
          <fpage>37</fpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>Timo</surname>
            <given-names>Kehrer</given-names>
          </string-name>
          , Abdullah Alshanqiti, and
          <string-name>
            <given-names>Reiko</given-names>
            <surname>Heckel</surname>
          </string-name>
          .
          <article-title>Automatic inference of rule-based specifications of complex in-place model transformations</article-title>
          .
          <source>In International Conference on Theory and Practice of Model Transformations</source>
          , pages
          <fpage>92</fpage>
          -
          <lpage>107</lpage>
          . Springer,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <surname>Timo</surname>
            <given-names>Kehrer</given-names>
          </string-name>
          , Udo Kelter, Manuel Ohrndorf, and
          <string-name>
            <given-names>Tim</given-names>
            <surname>Sollbach</surname>
          </string-name>
          .
          <article-title>Understanding model evolution through semantically lifting model differences with silift</article-title>
          .
          <source>In Software Maintenance (ICSM)</source>
          ,
          <year>2012</year>
          28th IEEE International Conference on, pages
          <fpage>638</fpage>
          -
          <lpage>641</lpage>
          . IEEE,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <surname>Timo</surname>
            <given-names>Kehrer</given-names>
          </string-name>
          , Michaela Rindt, Pit Pietsch, and
          <string-name>
            <given-names>Udo</given-names>
            <surname>Kelter</surname>
          </string-name>
          .
          <article-title>Generating edit operations for profiled UML models</article-title>
          .
          <source>In Proceedings of the Workshop on Models and Evolution co-located with ACM/IEEE 16th International Conference on Model Driven Engineering Languages and Systems (MoDELS</source>
          <year>2013</year>
          ), Miami, Florida, USA, October
          <volume>1</volume>
          ,
          <year>2013</year>
          ., volume
          <volume>1090</volume>
          <source>of CEUR Workshop Proceedings</source>
          , pages
          <fpage>30</fpage>
          -
          <lpage>39</lpage>
          . CEURWS.org,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <surname>Timo</surname>
            <given-names>Kehrer</given-names>
          </string-name>
          , Gabriele Taentzer, Michaela Rindt, and
          <string-name>
            <given-names>Udo</given-names>
            <surname>Kelter</surname>
          </string-name>
          .
          <article-title>Automatically deriving the specification of model editing operations from meta-models</article-title>
          .
          <source>In International Conference on Theory and Practice of Model Transformations</source>
          , pages
          <fpage>173</fpage>
          -
          <lpage>188</lpage>
          . Springer,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <surname>Heiko</surname>
            <given-names>Koziolek</given-names>
          </string-name>
          , Dominik Domis, Thomas Goldschmidt, and
          <string-name>
            <given-names>Philipp</given-names>
            <surname>Vorst</surname>
          </string-name>
          .
          <article-title>Measuring architecture sustainability</article-title>
          .
          <source>IEEE software</source>
          ,
          <volume>30</volume>
          (
          <issue>6</issue>
          ):
          <fpage>54</fpage>
          -
          <lpage>62</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <surname>Patricia</surname>
            <given-names>Lago</given-names>
          </string-name>
          , Sedef Akinli Koçak, Ivica Crnkovic, and
          <string-name>
            <given-names>Birgit</given-names>
            <surname>Penzenstadler</surname>
          </string-name>
          .
          <article-title>Framing sustainability as a property of software quality</article-title>
          .
          <source>Communications of the ACM</source>
          ,
          <volume>58</volume>
          (
          <issue>10</issue>
          ):
          <fpage>70</fpage>
          -
          <lpage>78</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <surname>Sara</surname>
            <given-names>S Mahmoud</given-names>
          </string-name>
          and
          <string-name>
            <given-names>Imtiaz</given-names>
            <surname>Ahmad</surname>
          </string-name>
          .
          <article-title>A green model for sustainable software engineering</article-title>
          .
          <source>International Journal of Software Engineering and Its Applications</source>
          ,
          <volume>7</volume>
          (
          <issue>4</issue>
          ):
          <fpage>55</fpage>
          -
          <lpage>74</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <surname>Stefan</surname>
            <given-names>Naumann</given-names>
          </string-name>
          , Markus Dick, Eva Kern, and
          <string-name>
            <given-names>Timo</given-names>
            <surname>Johann</surname>
          </string-name>
          .
          <article-title>The greensoft model: A reference model for green and sustainable software and its engineering</article-title>
          .
          <source>Sustainable Computing: Informatics and Systems</source>
          ,
          <volume>1</volume>
          (
          <issue>4</issue>
          ):
          <fpage>294</fpage>
          -
          <lpage>304</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>Birgit</given-names>
            <surname>Penzenstadler</surname>
          </string-name>
          .
          <article-title>Infusing green: Requirements engineering for green in and through software systems</article-title>
          .
          <source>In Intl. Workshop on Requirements Engineering for Sustainable Systems@ RE</source>
          , pages
          <fpage>44</fpage>
          -
          <lpage>53</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>Birgit</given-names>
            <surname>Penzenstadler</surname>
          </string-name>
          and
          <string-name>
            <given-names>Henning</given-names>
            <surname>Femmer</surname>
          </string-name>
          .
          <article-title>A generic model for sustainability with process-and product-specific instances</article-title>
          .
          <source>In Proceedings of the 2013 workshop on Green in/by software engineering</source>
          , pages
          <fpage>3</fpage>
          -
          <lpage>8</lpage>
          . ACM,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <surname>Birgit</surname>
            <given-names>Penzenstadler</given-names>
          </string-name>
          , Joseph Mehrabi, and
          <string-name>
            <surname>Debra</surname>
          </string-name>
          J Richardson.
          <article-title>Supporting physicians by re4s: Evaluating requirements engineering for sustainability in the medical domain</article-title>
          .
          <source>In Proceedings of the Fourth International Workshop on Green and Sustainable Software</source>
          , pages
          <fpage>36</fpage>
          -
          <lpage>42</lpage>
          . IEEE Press,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <surname>Michaela</surname>
            <given-names>Rindt</given-names>
          </string-name>
          , Timo Kehrer, and
          <string-name>
            <given-names>Udo</given-names>
            <surname>Kelter</surname>
          </string-name>
          .
          <article-title>Automatic generation of consistency-preserving edit operations for MDE tools</article-title>
          .
          <source>In Proceedings of the Demonstrations Track of the ACM/IEEE 17th International Conference on Model Driven Engineering Languages and Systems (MoDELS</source>
          <year>2014</year>
          ), Valencia, Spain,
          <source>October 1st and 2nd</source>
          ,
          <year>2014</year>
          ., volume
          <volume>1255</volume>
          <source>of CEUR Workshop Proceedings. CEUR-WS.org</source>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [34]
          <string-name>
            <given-names>Shane</given-names>
            <surname>Sendall</surname>
          </string-name>
          and
          <string-name>
            <given-names>Wojtek</given-names>
            <surname>Kozaczynski</surname>
          </string-name>
          .
          <article-title>Model transformation: The heart and soul of model-driven software development</article-title>
          .
          <source>IEEE software</source>
          ,
          <volume>20</volume>
          (
          <issue>5</issue>
          ):
          <fpage>42</fpage>
          -
          <lpage>45</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          [35]
          <string-name>
            <given-names>Mary</given-names>
            <surname>Shaw</surname>
          </string-name>
          . What makes good research in software engineering?
          <source>International Journal on Software Tools for Technology Transfer</source>
          ,
          <volume>4</volume>
          (
          <issue>1</issue>
          ):
          <fpage>1</fpage>
          -
          <lpage>7</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          [36]
          <string-name>
            <surname>Dave</surname>
            <given-names>Steinberg</given-names>
          </string-name>
          , Frank Budinsky, Ed Merks, and
          <string-name>
            <given-names>Marcelo</given-names>
            <surname>Paternostro</surname>
          </string-name>
          .
          <article-title>EMF: eclipse modeling framework</article-title>
          .
          <source>Pearson Education</source>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          [37]
          <string-name>
            <given-names>Daniel</given-names>
            <surname>Strüber</surname>
          </string-name>
          , Kristopher Born, Kanwal Daud Gill, Raffaela Groner, Timo Kehrer, Manuel Ohrndorf, and
          <string-name>
            <given-names>Matthias</given-names>
            <surname>Tichy</surname>
          </string-name>
          .
          <article-title>Henshin: A usability-focused framework for emf model transformation development</article-title>
          .
          <source>In International Conference on Graph Transformation</source>
          , pages
          <fpage>196</fpage>
          -
          <lpage>208</lpage>
          . Springer,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          [38]
          <string-name>
            <given-names>Daniel</given-names>
            <surname>Strüber</surname>
          </string-name>
          , Alexandru Burdusel,
          <string-name>
            <given-names>Stefan</given-names>
            <surname>John</surname>
          </string-name>
          , and Steffen Zschaler.
          <article-title>Henshin: A model transformation language and its use for search-based model optimisation in mdeoptimiser</article-title>
          .
          <source>Modellierung</source>
          <year>2018</year>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref39">
        <mixed-citation>
          [39]
          <string-name>
            <given-names>Birgit</given-names>
            <surname>Vogel-Heuser</surname>
          </string-name>
          , Stefan Feldmann, Jens Folmer, Jan Ladiges, Alexander Fay, Sascha Lity, Matthias Tichy, Matthias Kowal, Ina Schaefer,
          <string-name>
            <given-names>Christopher</given-names>
            <surname>Haubeck</surname>
          </string-name>
          , et al.
          <article-title>Selected challenges of software evolution for automated production systems</article-title>
          .
          <source>In 13th IEEE International Conference on Industrial Informatics (INDIN)</source>
          , pages
          <fpage>314</fpage>
          -
          <lpage>321</lpage>
          . IEEE,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>