<!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>Tool-Support of Socio-Technical Coordination in the Context of Heterogeneous Modeling</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>A Research Statement</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Associated Roadmap</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Benoit Combemale University of Toulouse</institution>
          ,
          <addr-line>CNRS IRIT Toulouse</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Francis Bordeleau Ecole de Technologie Superieur, Universite du Quebec Montreal</institution>
          ,
          <country country="CA">Canada</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Manuel Wimmer TU Wien Vienna</institution>
          ,
          <country country="AT">Austria</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Mark van den Brand Eindhoven University of Technology Eindhoven</institution>
          ,
          <country country="NL">The Netherlands</country>
        </aff>
        <aff id="aff4">
          <label>4</label>
          <institution>Romina Eramo University of L'Aquila L'Aquila</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The growing complexity of everyday life systems (and devices) over the last decades has forced the industry to use and investigate diferent development techniques to manage the many diferent aspects of the systems. In this context, the use of model driven engineering (MDE) has emerged and is now common practice for many engineering disciplines. However, this comes with important challenges. As set of main challenges relates to the fact that diferent modeling techniques, languages, and tools are required to deal with the diferent system aspects, and that support is required to ensure consistence and coherence between the diferent models. This paper identifies a number of the challenges and paints a roadmap on how tooling can support a multi-model integrated way of working.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>CCS CONCEPTS</title>
      <p>• Software and its engineering → Software notations and
tools;
Heterogenous modeling, model consistency, domain specific
languages</p>
    </sec>
    <sec id="sec-2">
      <title>INTRODUCTION</title>
      <p>
        The fast growing, ever increasing, complexity of everyday life
systems (and devices) over the last decades has forced the industry to
use and investigate diferent development techniques to manage the
many diferent aspects of the systems. In this context, model driven
engineering (MDE) has emerged as an efective solution [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] as it
allows leveraging abstraction and automation. Among other things, it
provides automated transformation/generation techniques, which
allow increasing productivity and reduce time to market, and
analysis/validation/simulation techniques, which allow increasing
system quality. The use of MDE has been steadily increasing and is
now common practice for many engineering disciplines [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
      </p>
      <p>
        However, this comes with important challenges. A set of
important challenges are related to the fact the development of the
diferent aspects of a system require engineers from diferent
disciplines, with diferent skills and expertise, and that these aspects are
typically developed using diferent modeling techniques, languages,
and tools. Using the automotive industry as an example, the
development of cars has evolved in the last decades from pure mechanical
engineering to multidisciplinary engineering where engineers from
diferent domains (including software engineering, electrical
engineering, safety engineering, and mechanical engineering) are
involved. From an MDE perspective, tools like Matlab/Simulink are
used to describe continuous behavior of a component or system,
while modeling languages like UML or SysML are used to describe
system architecture and discrete behavior (using state machines or
activity diagrams), and other modeling techniques, languages and
tools are used for other aspects. Over the years, the MDE
community has placed the main focus on the development of techniques,
languages and tools to support specific modelling context and
domains, but little focus has been placed on the development of proper
methodologies and tooling to support the development,
maintenance, and evolution of a set of related models in the context of
cross- or multi-disciplinary modeling [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Important issues include:
- How can we ensure coherence and consistency between models
defined using diferent modeling languages (that are based on
diferent metamodels)?
- How can we maintain coherence and consistency between
models that are independently defined and evolved throughout the
development process by diferent engineers and teams?
- How can we govern the evolution of the system and associated
models?
      </p>
      <p>
        To complement previous general discussions about the
globalization of modeling languages1 [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] or multilingual programming
environments [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], we focus in this discussion paper on the
importance of the tool-support for the socio-technical coordination
within the development of complex software-intensive systems.
Indeed, since languages are pivot in between the various engineers
and the technical artefacts they have to build with, we envision
that the tool-support of the relationships between those languages
helps both to support the seamless coordination of the stakeholders,
and to automate the coordination of the technical artefacts.
1See [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] for a comprehensive description of the related Grand Challenge of the
Globalization of Modeling Languages.
      </p>
      <p>In the following section, we motivate the language-support of
both stakeholders and technical artefacts built during the
development process of complex systems. Then, in Section 3, we look
ahead and provide a research and technology roadmap to meet the
requirements.
2</p>
    </sec>
    <sec id="sec-3">
      <title>LAYERING IN HETEROGENEOUS</title>
    </sec>
    <sec id="sec-4">
      <title>MODELING</title>
      <p>The excavation of domain concepts depends on the engineers
working in diferent technological spaces when developing (complex)
systems. The dependencies and relations between the models used
by these engineers are defined by the relations between the domain
concepts at the domain (i.e., metamodel) level. The model driven
technology space is defined by the architectural layering of M0
through M3. We will take a slightly diferent viewpoint. We are
not interested in the level M3 (meta-metamodel) level, but are
interested in the organisational relations or the relations created via
workflow dependencies in product development.</p>
      <p>To answer the questions mentioned in Section 1, we propose to
focus in this paper about the language and the tooling issues. As a
ifrst step, we need to focus on the definition of the overall domain
model that defines the top level system concepts independently
of the specific modeling techniques, languages and tools that will
be used in the development process. At this stage the goal is to
define the overarching conceptual framework that will govern the
development of the system. As Melvin Conway 2 had observed, how
organizations were structured would have a strong impact on any
systems they created. In this task the (system) architect plays an
important role, the architect has the overall view on the project and
the technical and non-technical dependencies between the domain
engineering disciplines. The excavation of domain concepts needs
to be done with care and involves a close investigation whether
the definition of domain concepts used in diferent disciplines can
be mapped onto each other. The identification of common domain
concepts is necessary in order to establish relations and
dependencies on the model level and to be administrated and maintained
via tooling. Adapting existing domain specific tooling is costly; an
alternative is to develop generic tooling that communicates with
existing tools, via APIs, repositories, etc., to administrate and
maintain the relations and dependencies. We envision that the relations
and dependencies on the model level represent the organisation
structure and/or the workflow of product development.</p>
      <p>As a second step, we can proceed with the definition of the
role of the diferent modeling techniques, languages and tools that
will be used to model the diferent aspects of the systems and
the definition of the semantic relationships between the diferent
models and model elements. The identification of relations can
be done in two directions (see Fig. 1), from models upwards and
from people downwards. The optimal results is obtained when both
directions are taken into consideration.
2.1</p>
    </sec>
    <sec id="sec-5">
      <title>From Models to People</title>
      <p>We restrict ourselves to the relationships between models across
disciplines. The relationships within models and across models
within a specific discipline are often maintained via the current
tooling used by the domain engineers.</p>
      <p>The construction of inter-relations among models from diferent
disciplines can only be done if the models use clearly related domain
concepts. If both domains use the same name for a concept then this
can be a strong indication that the objects adhering to this concept
are related. Of course, a sanity check on the semantic level is still
required. The corresponding metamodels should use the same name
as well. These common concepts have to be acknowledged by the
domain engineers or the (system) architect.
2.2</p>
    </sec>
    <sec id="sec-6">
      <title>From People to Models</title>
      <p>Objects that adhere to domain concepts with implicit relationships
are much harder to establish. There could be a temporal
dependency based on the fact that objects are created, updated or deleted
more or less in sync, but advanced repository mining techniques
are needed for this. These implicit relationships have to be made
explicit on the level of the domain engineers and (system) architects.
Engineers and architects have to map the domain concepts and have
to administer the relationships explicitly. These relationships have
to be established in the supporting tooling and maintained during
the development, maintenance and destruction of the models.</p>
      <p>This type of functionality is typically tool agnostic. We can not
expect that existing modeling environments ofer this type of
functionality out-of-the-box. Overarching tooling is needed to deal with
multidisciplinary models and their relationships.
3</p>
    </sec>
    <sec id="sec-7">
      <title>ROADMAP</title>
      <p>For realizing overarching tooling for multidisciplinary modeling
projects, several challenges have to be tackled. First, more explicit
connection points are needed for models which in turn allow for
a more systematic interlinking and integration of models. Second,
rich linking support is needed which is capable to work across
discipline boundaries. Third, governance for evolving linked models
is required to ensure efective and eficient engineering processes.
3.1</p>
    </sec>
    <sec id="sec-8">
      <title>Model Interfaces</title>
      <p>
        Current approaches to connect models assume to define links
potentially between every model element available in the models. While
this allows for general solutions to connect models, more pragmatic
solutions are needed for large-scale projects. The interface(s) of a
model to other discipline(s) have to be explicitly defined in order
to coordinate work without having to explore and interpret full
models. First work going in this direction is emerging [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] where
the interaction points between metamodels and models are
explicated. However, a strong requirement to be further explored in
the future is how much control can be enforced on the existing
tools to manage such interfaces on both, the provider and customer
side. Finally, model interfaces must support IP management, and
correspond to the integration concerns for supporting functional
chains.
      </p>
    </sec>
    <sec id="sec-9">
      <title>3.2 Model Linking</title>
      <p>
        Traceability relationships may help stakeholders to understand the
associations and dependencies that exist among heterogeneous
models and their correspondences [
        <xref ref-type="bibr" rid="ref14 ref8">8, 14</xref>
        ]. In MDE, the definition of
traceability focuses on models as the primary artifacts and refers
to traceability (or trace) links: in particular, a trace link is a
relationship between one or more source model elements and one or
more target model elements, whereas a trace model is a structured
set of trace links, e.g., between source and target models. Trace
links may be defined between entire artefacts (e.g., a requirements
document and a design model) or between parts of artefacts. We
propose the use of trace links as the basis for defining and
informing related stakeholders about correspondences between models.
Furthermore, trace links incorporate consistency relations between
the connected models. As it is dificult to keep a software system
consistent at all times, tools need to have diferent policies for
consistency enforcement. Thus, traceability may support
consistency restoration policies. In MDE, this can be implemented by
updating unidirectional transformations and synchronizing
bidirectional transformations, and it can be also supported by means of
constraints [
        <xref ref-type="bibr" rid="ref2 ref7">2, 7</xref>
        ]. Among the existing approaches that work with
correspondences, it is worth mentioning multi-view modeling [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ],
that supports distinct views on a shared model, and megamodeling
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], that proposes a technique for managing dependencies among
models in a heterogeneous system.
      </p>
      <p>
        The framework we are outlining aims at supporting
stakeholders that need to coordinate their activities without impacting their
own current way to work. Typically, when designers work with
heterogeneous models, they considered employing diferent
modeling languages that are tailored to specific system aspects or a
specific application area, i.e., domain specific languages (DSLs) [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
Stakeholders coordination does not require to know any languages
that are used, but rather the concepts that are involved in their
activities. To this end, we need to create an external infrastructure
to relate heterogeneous models in diferent tools. If heterogeneous
software artifacts, tools, stakeholders are to interoperate efectively,
they must have a common understanding of each other’s
information structures, which requires a common language (i.e., a common
metamodel for traceability) describing how common concepts are
related one with the other.
      </p>
    </sec>
    <sec id="sec-10">
      <title>3.3 Model Governance</title>
      <p>
        Besides the technical aspects discussed in the previous sections, the
development and evolution of a set of related models also require
the establishment of a clear governance that defines who is
responsible for updating the diferent models and how model changes
must be managed to ensure coherence and consistency between
the models. This requires a tooling infrastructure that provides a
cross-model change impact capability that accounts for the
maintenance and evolution of the trace links. This means, that trace links
have to be versioned and that they may need meta-information on
current validity (invalid trace links may point out inconsistencies
between the models) and who is maintaining the links [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Based
on this meta-information, a life-cycle model for inconsistencies
may be established. One may tolerate, ignore, or resolve them, but
awareness is needed all the time as inconsistencies have to live
with the evolving models and co-evolve.
      </p>
    </sec>
    <sec id="sec-11">
      <title>4 CONCLUSION</title>
      <p>In this paper, we elaborated on our vision about the
languagesupport of the socio-technical coordination required in the
development of modern complex software-intensive systems. More
specifically, we first discuss the need for explicit relationships between the
domain models of the various languages involved. Then, we argue
for more focus in the community on tool-support for the
coordination at the levels of language users and the actual heterogeneous
models. For such a purpose, we derive a roadmap of concrete and
actionable challenges to be further addressed by the community.</p>
      <p>We hope this paper raises interesting discussions, and initiates
and federates various related research activities. Collections of
benchmarks and case studies are also required for further evaluating
and positioning the diferent approaches and intents.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>M.</given-names>
            <surname>Barbero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Jouault</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Bézivin</surname>
          </string-name>
          .
          <year>2008</year>
          .
          <article-title>Model Driven Management of Complex Systems: Implementing the Macroscope's Vision</article-title>
          .
          <source>In IEEE Int. Conference and Workshop on Engineering of Computer Based Systems (ECBS</source>
          <year>2008</year>
          ).
          <fpage>277</fpage>
          -
          <lpage>286</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>A.</given-names>
            <surname>Cicchetti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. Di</given-names>
            <surname>Ruscio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Eramo</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Pierantonio</surname>
          </string-name>
          . [n. d.]. JTL:
          <article-title>A Bidirectional and Change Propagating Transformation Language</article-title>
          .
          <source>In International Conference on Software Language Engineering (SLE).</source>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>B.</given-names>
            <surname>Combemale</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.H.C.</given-names>
            <surname>Cheng</surname>
          </string-name>
          , R.B. France,
          <string-name>
            <given-names>J.M.</given-names>
            <surname>Jézéquel</surname>
          </string-name>
          , and year=2015
          <string-name>
            <given-names>B.</given-names>
            <surname>Rumpe</surname>
          </string-name>
          , series=Lecture Notes in Computer Science. [n. d.]. Globalizing
          <string-name>
            <surname>Domain-Specific</surname>
            <given-names>Languages</given-names>
          </string-name>
          : International Dagstuhl Seminar.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>B.</given-names>
            <surname>Combemale</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Deantoni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Baudry</surname>
          </string-name>
          , R.B. France,
          <string-name>
            <given-names>J.M.</given-names>
            <surname>Jézéquel</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Gray</surname>
          </string-name>
          .
          <year>2014</year>
          .
          <article-title>Globalizing Modeling Languages</article-title>
          .
          <source>Computer</source>
          (
          <year>2014</year>
          ),
          <fpage>10</fpage>
          -
          <lpage>13</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>A.</given-names>
            <surname>Van Deursen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Klint</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Visser</surname>
          </string-name>
          .
          <year>2000</year>
          .
          <article-title>Domain-specific languages: An annotated bibliography</article-title>
          .
          <volume>35</volume>
          ,
          <issue>6</issue>
          (
          <year>2000</year>
          ),
          <fpage>26</fpage>
          -
          <lpage>36</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>S.</given-names>
            <surname>Feldmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Wimmer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Kernschmidt</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Vogel-Heuser</surname>
          </string-name>
          .
          <year>2016</year>
          .
          <article-title>A comprehensive approach for managing inter-model inconsistencies in automated production systems engineering</article-title>
          .
          <source>In IEEE International Conference on Automation Science and Engineering (CASE)</source>
          .
          <volume>1120</volume>
          -
          <fpage>1127</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>S.</given-names>
            <surname>Hidaka</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Tisi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Cabot</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Z.</given-names>
            <surname>Hu</surname>
          </string-name>
          .
          <year>2016</year>
          .
          <article-title>Feature-based classification of bidirectional transformation approaches</article-title>
          .
          <source>Software &amp; Systems Modeling</source>
          <volume>15</volume>
          ,
          <issue>3</issue>
          (
          <year>2016</year>
          ),
          <fpage>907</fpage>
          -
          <lpage>928</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>R.F.</given-names>
            <surname>Paige</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Drivalos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.S.</given-names>
            <surname>Kolovos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.J.</given-names>
            <surname>Fernandes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Power</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.K.</given-names>
            <surname>Olsen</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Zschaler</surname>
          </string-name>
          .
          <year>2011</year>
          .
          <article-title>Rigorous identification and encoding of trace-links in modeldriven engineering</article-title>
          .
          <source>Software and System Modeling</source>
          <volume>10</volume>
          ,
          <issue>4</issue>
          (
          <year>2011</year>
          ),
          <fpage>469</fpage>
          -
          <lpage>487</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>J.E.</given-names>
            <surname>Rivera</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.R.</given-names>
            <surname>Romero</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Vallecillo</surname>
          </string-name>
          .
          <year>2008</year>
          .
          <article-title>Behavior, Time and Viewpoint Consistency: Three Challenges for MDE</article-title>
          .
          <source>In Models in Software Engineering, Workshops and Symposia at MODELS 2008. Reports and Revised Selected Papers</source>
          .
          <fpage>60</fpage>
          -
          <lpage>65</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>D.C.</given-names>
            <surname>Schmidt</surname>
          </string-name>
          .
          <year>2006</year>
          .
          <article-title>Guest Editor's Introduction: Model-Driven Engineering</article-title>
          .
          <source>Computer</source>
          <volume>39</volume>
          ,
          <issue>2</issue>
          (
          <year>2006</year>
          ),
          <fpage>25</fpage>
          -
          <lpage>31</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>D.</given-names>
            <surname>Strüber</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Jurack</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Schäfer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Schulz</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Taentzer</surname>
          </string-name>
          .
          <year>2016</year>
          .
          <article-title>Managing Model and Meta-Model Components with Export and Import Interfaces</article-title>
          .
          <source>In Workshop on Scalable Model Driven Engineering at STAF</source>
          <year>2016</year>
          .
          <volume>31</volume>
          -
          <fpage>36</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>T. van der Storm and J.J.</given-names>
            <surname>Vinju</surname>
          </string-name>
          .
          <year>2013</year>
          .
          <article-title>Towards Multilingual Programming Environments</article-title>
          .
          <source>Science of Computer Programming</source>
          (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>J.</given-names>
            <surname>Whittle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Hutchinson</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Rouncefield</surname>
          </string-name>
          .
          <year>2014</year>
          .
          <article-title>The State of Practice in Model-Driven Engineering</article-title>
          . Software, IEEE
          <volume>31</volume>
          ,
          <issue>3</issue>
          (
          <year>2014</year>
          ),
          <fpage>79</fpage>
          -
          <lpage>85</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>S.</given-names>
            <surname>Winkler</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Pilgrim</surname>
          </string-name>
          . [n. d.].
          <source>A Survey of Traceability in Requirements Engineering and Model-driven Development. 9</source>
          ,
          <issue>4</issue>
          ([n. d.]),
          <fpage>529</fpage>
          -
          <lpage>565</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>