<!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>Towards a Multi-Domain Model-Driven Traceability Approach</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Masoumeh Taromirad</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nicholas Matragkas</string-name>
          <email>nicholas.matragkas@york.ac.uk</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Richard F. Paige</string-name>
          <email>richard.paige@york.ac.uk</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science, University of York</institution>
          ,
          <country country="UK">UK</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2013</year>
      </pub-date>
      <fpage>27</fpage>
      <lpage>36</lpage>
      <abstract>
        <p>Traceability is an important concern in projects that span di↵ erent engineering domains. In such projects, traceability can be used across the engineering lifecycle and therefore is multi-domain, involving heterogeneous models. We introduce the concept and challenges of multidomain traceability and explain how it can be used to support traceability scenarios. We describe how to build a multi-domain traceability framework using Model-Driven Engineering. The approach is illustrated in the context of the safety-critical systems engineering domain where multidomain traceability is required to underpin certification arguments.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Introduction
Traceability is a key element of any rigorous software development process,
providing critical support for many development activities. In some cases,
traceability is mandated so as to comply with regulations, e.g., in civil aviation projects.
However, there are substantial challenges associated with its use in practice,
including identifying the most appropriate artefacts to trace. This makes it di cult
to define a generic and e↵ ective traceability framework – consisting of a
Traceability Information Model (TIM), traceability information, and analysis tools –
to be used to manage trace information for a specific project; such frameworks
are thus still rarely defined and used [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        In many contexts, such as projects developing high-assurance software
systems, di↵ erent kinds of traceability are mandated [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Such projects address
multiple engineering domains (e.g., software, mechanics and safety). Each domain
has its own stakeholders, artefacts, tools, and goals. Stakeholders of any single
domain may be concerned with both intra- and inter-domain traceability. For
example, a software developer will be interested in traces from system to software
requirements, while a safety engineer will want to trace relationships between
fault tree analysis, software requirements and verification artefacts. Considering
that traceability may be required throughout the project lifecycle, any
traceability framework needs to operate across the project’s di↵ erent domains. In
this respect, traceability is a multi-domain concern.
      </p>
      <p>
        The core element of any traceability framework is a traceability
information model (TIM) which provides guidance as to which artefacts to collect and
which relations to establish in order to support traceability goals [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Traceability
goals, e.g., ‘traceability of designs against requirements’ and ‘track the
allocation of requirements to system components’, specify purposes for accumulating
traceability data. A TIM may refer to artefacts (documents, models, databases,
project activities context) from di↵ erent domains or require relationships
between multiple domains.
      </p>
      <p>The main contribution of this research is a model-driven approach to support
multi-domain traceability. It introduces detailed steps that can be used to build
a multi-domain traceability framework. We express a TIM as a domain-specific
modelling language and use model-driven engineering (MDE) techniques to
derive traceability information from sources, record the information in a
traceability model (TM), and finally perform traceability analyses, based on traceability
goals. Section 3 describes the steps in more detail and gives potential ways in
which MDE can help support them.
2</p>
      <p>Motivation
To introduce our approach, we give an example from the safety-critical systems
domain. We then highlight the open challenges for multi-domain traceability.
2.1</p>
      <p>Example</p>
      <p>Typical software development artefacts are seen along the left side of the
diagram: for example, software requirements are derived from system requirements;
classes are designed according software requirements and implemented by code.
Meanwhile, safety engineering requires additional artefacts to be produced and
traced to the general software development artefacts; these are shown mainly on
the right hand side of the diagram. For example, the preliminary hazard artefact
documents hazards that could lead to system failure. Such hazards are modelled
in more detail in a fault tree which looks at events that could lead to the
hazards. System Requirements are specified to prevent hazards from occurring by
preventing the unwanted events documented in the Minimum Cut Sets. The
Software Requirements may also have to comply with Regulatory Codes.</p>
      <p>Although the TIM captures all the traceable components in one metamodel
and ultimately will be instantiated in a single traceability model (TM), most
of the traceability information needed to build the TM is available in di↵
erent domains. For example, the relationship between ‘System Requirement’ and
‘Software Requirement’ is an elementary trace link specified in general software
development projects (regardless of the type of the project). The link between
‘Formal State-Based Model’ and ‘Assumption’ is a link type normally provided
in the safety engineering domain. Accordingly, each domain includes traceability
information related to that domain.</p>
      <p>In this respect, to capture traceability information and generate a
traceability model (TM), we need to find ways that (re-)use existing information and
minimises rework.
2.2</p>
      <p>Challenges
A review of the literature suggests several challenges for multi-domain
traceability not fully addressed by existing approaches.</p>
      <p>Domain-specific Traceability Information Traceability information is
captured and collected based on a TIM. As illustrated in the above example, each
domain includes traceability information specific to that domain. For a systems
engineering project, each domain (and hence each TIM) can provide part of the
information needed to generate a complete traceability model. In this respect,
local traceability information is essential to capture and record project-wide
traceability information, though there is no guarantee that it will be su cient
to achieve traceability goals.</p>
      <p>Heterogeneous Traceability Information Usually, available traceability
information is provided in di↵ erent formats, including documents (plain text or
structured languages), models (e.g. UML class diagrams), databases, tools, or
XML documents. To collect the traceability information using existing available
information, we need to find a systematic approach to extract the required
information and integrate them as the ultimate traceability information. In this
context, integration of information from various domains which are expressed in
di↵ erent and heterogeneous formats is an important concern.
Missing Inter-domain Traceability Information As mentioned earlier, we
cannot just rely on the available information as it normally does not cover
inter-domain information. Usually, the relationships between domains are
defined informally or incompletely which results in inconsistencies and
redundancies among domains. Specifying and recording the inter-domain relations are of
the essential needs to accumulate the traceability information.</p>
      <p>Separation of Concern (SoC) People are interested in their own domain
and usually prefer to work with familiar tools or techniques; the existing tools,
models, and techniques for a specific domain which are specialised for that
domain. Therefore, it is not reasonable to require all stakeholders to work with the
traceability model directly.</p>
      <p>
        Tool Support Tool support for a traceability framework is essential to
maximise the return on investment in building a TIM. However, practical guidance
on how to define and implement a TIM, and use it in practice, is still a poorly
understood issue [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]; the e↵ ort needed for specifying and managing a TIM and
the tools which let the user implement it are the main concerns of supporting
traceability.
3
      </p>
      <p>Multi-Domain Traceability
This section introduces our approach to support multi-domain traceability. It
defines a traceability framework, and discusses how a model-driven approach to
traceability can help to e↵ ectively support the approach. Our approach
constructs a modelling language to describe the traceability information model
(TIM). We identify and specify the relationships between TIM and existing
project information sources. Traceability information is captured and
instantiated in a single traceability model (TM) that conforms to the TIM and is used
to perform traceability analyses. Fig. 2 illustrates the proposed approach.
3.1</p>
      <p>
        Traceability Information Model
The core element of any traceability framework is a TIM, which identifies the
information required to support traceability goals, such as which artefacts should
be traced, the level of detail of the traces, and how traceability links should be
classified regarding their usage, context or semantics [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. So, the first step to
define a traceability framework is to define a suitable TIM that supports project
traceability goals.
      </p>
      <p>
        In our approach, the TIM is described as a modelling language, and is
thereafter used to generate traceability models. Fig. 1 shows an example TIM
described as a UML class diagram.
Once the TIM has been defined, traceability information is collected and recorded
in a traceability model. In our approach, the traceability model is built on top of
the other models, generated automatically (by a query), not containing any
information that cannot be regenerated automatically. We consider the TM as a view
similar to ’view’ in database context in which view is defined as a dependent
object over some tables and theoretically generated on-demand. A single TM
provides a coherent view of the traceability information; using a diverse set of
traceability information sources (usually represented in heterogeneous formats)
is one of the main problems in working with trace links [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. The TM unifies the
way in which the traceability information can be used to perform traceability
analyses.
      </p>
      <p>We propose the following steps and activities to build the traceability model:
Step 1: Identify the available information. Based on the TIM, available
information sources are gathered to find out how much of the required information
is provided and available, in which ways, and how it can be used. As a result,
the available information (models, trace link types both within and between
domains) and missing information (models, trace link types, . . . ) is identified.</p>
      <p>Step 2: Add the missing information. Based on the results of step 1, we
complete the information sources to provide the missing information. The missing
information can be divided into two parts: information limited to one domain
and that which relates to multiple domains, such as inter-domain trace link
types. We elaborate on this in more detail.</p>
      <p>Step 2.1: Add the missing information from one domain. To complete the
missing information in one domain, the following options are available:</p>
      <p>Metamodel
MMX-1
Domain'X'</p>
    </sec>
    <sec id="sec-2">
      <title>Traceability Information Model (TIM)</title>
      <p>!
!</p>
    </sec>
    <sec id="sec-3">
      <title>PartialTIM YZ1-1</title>
    </sec>
    <sec id="sec-4">
      <title>PartialTIM YZ1-1</title>
      <p>Metamodel
MMY-1
Domain Y</p>
      <p>Metamodel
MMZ-1
Domain Z
– complete/extend existing metamodels in each domain by adding missing
objects, trace link types, and validation rules, and then update or regenerate
the models.
– define new metamodels and create new models within one domain, whenever
required.</p>
      <p>Step 2.2: Add the inter-domain missing information. After completing the
required information for each domain, the inter-domain information are
considered. One of the main missing information would be the trace link types defined
between domains which can not be easily captured and recorded. The available
trace link types are usually limited to one domain. To represent the inter-domain
traces, we propose building a traceability model between pairs of domains,
wherever required, to provide the missing trace links. To do this, we need to define a
traceability information model for each required traceability model. Each
traceability information model – a partial TIM – is a submodel of the main TIM.
Fig. 3 shows the relationship between partial TIMs and the main TIM.</p>
      <p>
        Step 3: Define the mapping between TIM and the information sources. Once
all the source models for the traceability information are available, we define the
mapping between these models and the TIM. The mapping explicitly specifies
how each concept (object and trace link type) in the TIM is related to concepts in
the source models. The mapping is used to collect information and generate the
traceability model. The mapping is also used to interpret the result of traceability
analyses, performed on TM, in terms of source models in di↵ erent domains. The
mapping is similar to a Correspondence Model (CM) in model composition [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
A CM is a model that explicitly describes the relationships between elements of
di↵ erent models, but is constructed specifically for model comparison or merging
processes.
      </p>
      <p>Step 4: Generate the traceability information. Finally, based on the mapping,
the traceability model is generated (as depicted in Fig. 4) The traceability model
is created so as to minimise redundancy and inconsistency; it captures the
min*l
e
v
e
L
*l
e
d
o
m
a
t
e
M
*l
e
v
e
L
*l
e
d
o
M</p>
      <sec id="sec-4-1">
        <title>Metamodels* (MMs,*PTIMs)*</title>
      </sec>
      <sec id="sec-4-2">
        <title>Source*Models* (Ms,*TMs)* M1* TM12*</title>
        <p>M2*
Mapping'</p>
      </sec>
      <sec id="sec-4-3">
        <title>Traceability*Information*Model* (TIM)*</title>
        <p>*
t
up *
n
I</p>
      </sec>
      <sec id="sec-4-4">
        <title>Automatic*Model*</title>
        <p>Transformation*
! Target*Model*
!*l
e
d
o
*tyM *)
i M
l
iab (T
e
c
a
r</p>
        <p>T
!Model*Enhancement*</p>
        <p>!
imum information needed. For example, it may just contains reference to the
source elements in the source models instead of redefining these elements.</p>
        <p>As mentioned before, the required traceability information could be
represented in various formats (e.g. plain text, XML files) with di↵ erent underlying
structures and metamodels. To support analyses and an overall MDE approach
to developing tools, we need to provide a MDE view of the non-model
information (wherever it is possible and reasonable) as a prerequisite of building the
TM; this can be challenging. However, we focus on those models that are
available and that information which can be automatically transformed to models:
there are several types of model in di↵ erent domains (e.g., requirements
models, safety analysis models) that provide substantial traceability information.
Our approach does not limit the types of model that can be considered in the
traceability framework.
3.3</p>
        <p>Traceability Analysis
Traceability information is captured and recorded to support traceability goals.
Usually, traceability goals are explained in very abstract terms. For example,
they can be expressed ‘traceability of designs against requirements’ or ‘track the
allocation of requirements to system components’. To be able to support the
goals, we need to define concrete traceability analyses which can be applied on
the traceability information to determine whether traceability goals are satisfied.
In this way, each traceability goal may result in one or more traceability analyses
which are defined in terms of traceability and the TIM.</p>
        <p>We can use generic query languages (e.g. SQL) and model management
languages to express the traceability analyses, which require knowledge of the
underlying structures in which the traceability information is stored. As an
alternative, we suggest defining a task-specific query language to express traceability
analyses precisely. A task-specific query language – bound to the TIM – would
hide the underlying complexity and diversity of the underlying information
representation.
3.4</p>
        <p>Implementation
Typically, an implementation of a TIM will be in the form of a traceability
metamodel, which will be used to create traceability models. It is these TMs
that model the trace links between concepts and artefacts in a project.</p>
        <p>
          In our approach, the TIM is defined as a modelling language; this can be
done with any metamodelling technology. Model management tools can then
be used to query and manipulate traceability models. For example, the Ecore
metamodelling language [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] and Epsilon [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] can be used to describe the
traceability metamodel and work with models, respectively. We implemented a basic
TIM (for a safety case study) using Ecore, and used Epsilon (specifically EOL,
ETL, EVL) to build a TM, query the traceability model, execute constraints on
models, and generate analysis reports.
3.5
        </p>
        <p>Discussion
The model-driven approach to TIM definition and implementation enables us to
work with arbitrary engineering models and e↵ ectively use them. The approach
uses the domain-specific traceability information, extract the required
information from them regarding the TIM, and generate a TM for the project. The TM
is a view built automatically through model management operations over the
available models in di↵ erent domains. Throughout the process to generate the
TM, missing traceability information, mainly inter-domain traces, is identified
and added to the existing information.</p>
        <p>The TIM and TM will allow the traceability users to ignore the underlying
information complexity, data structures, and information representation format
of artefacts, instead allowing them to focus on achieving traceability goals. The
proposed approach also supports separation of concerns: di↵ erent artefacts from
di↵ erent domains that are being traced do not need to be combined (possibly
artificially) in one overall description, and can be managed separately while
traceability information is defined.</p>
        <p>One of the main concerns with traceability implementations and tools is
managing change, for example, changes in the TIM. The traceability framework that
we have developed is also subject to change and evolution. Based on an analysis
of the artefacts involved in the traceability framework, and the types of change
we can encounter in MDE, we focus on the following changes to the traceability
framework: change in TIM, change in domain metamodels, change in domain
models. Change in the TIM is the most expensive change as it requires updating
most of the involved artefacts (e.g. models, metamodels, and mapping). Change
in the metamodels in each domain results in change in the intermediate
models and the mapping. Finally for the change in domain models, the traceability
model is regenerated automatically based on the mapping and new models.
4</p>
        <sec id="sec-4-4-1">
          <title>Related Work</title>
          <p>
            There are challenges associated with defining a TIM, such as finding the
appropriate level of granularity; as such, TIMs are often considered to be project
specific. Researchers agree on the value of a project-level definition of a TIM
as it facilitates a consistent and ready-to-analyse set of traceability relations for
a project [
            <xref ref-type="bibr" rid="ref4">4</xref>
            ]. As discussed in [
            <xref ref-type="bibr" rid="ref8">8</xref>
            ], project characteristics are critical in finding
the necessary and su cient amount of required information which should be
recorded to support the traceability goals.
          </p>
          <p>
            [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ] highlights the importance of a project-specific TIM and suggests a
UMLbased approach to define, implement, and use it. [
            <xref ref-type="bibr" rid="ref2">2</xref>
            ] proposes a usage-centred
traceability process which uses UML class diagrams to define traceability
strategies for a project. [
            <xref ref-type="bibr" rid="ref10 ref11 ref12 ref2">2, 10–12</xref>
            ] each focus on traceability in the safety domain and
propose traceability metamodels and queries for that domain.
          </p>
          <p>
            Another strand of traceability research is on reducing the e↵ ort associated
with managing traceability. Egyed et al. [
            <xref ref-type="bibr" rid="ref8">8</xref>
            ] introduce value-based requirements
traceability to balance cost and benefits related to capturing and maintaining
traceability. [
            <xref ref-type="bibr" rid="ref13">13</xref>
            ] proposes dynamic requirements traceability to minimize the
need for creating and maintaining explicit links and reduce the e↵ ort required to
perform manual trace. In this context, some studies take di↵ erent approaches,
such as improving tools in order to decrease the cost of providing traceability. [
            <xref ref-type="bibr" rid="ref14">14</xref>
            ]
provides a tool-based approach for agile requirements capture and traceability.
5
          </p>
        </sec>
        <sec id="sec-4-4-2">
          <title>Conclusion and Future Work</title>
          <p>This paper introduced multi-domain traceability and highlighted its
fundamental concerns. Traceability is multi-domain as it is often required to capture the
artefacts and trace links either within one or across many domains. We
presented a model-driven approach to constructing and managing a framework to
support traceability activities. We showed how to define a TIM and express it
as a traceability metamodel, to be used later to capture and record traceability
information.</p>
          <p>We observed that there are several available information sources (mainly
models) which provide a considerable amount of required traceability
information. A traceability model is generated as a view over all the other project
models, providing a coherent view of traceability, and unifying the way in which
information is used (e.g. traceability analyses). The mapping between the TM
and the other models is specified and used to generate the traceability model.</p>
          <p>
            We identified that change is an important concern and we need to provide
more detailed and precise support. Existing model migration and co-evolution
techniques could be helpful to cope with change e↵ ectively. It may also be fruitful
to create TIMs using the traceability metamodelling language approach in [
            <xref ref-type="bibr" rid="ref15">15</xref>
            ].
          </p>
          <p>Improved tool support for TIMs and TMs is needed. Currently, the TIM can
be implemented as a metamodel in an arbitrary technology, and then existing
model management languages can be used. But, as discussed in Section 3.4,
providing traceability-specific tools and technical support would improve the
traceability framework. A Traceability Query Language (TQL) to describe the
traceability analyses, a DSL to specify the mapping between the main TIM
and the other metamodels, and automatic generation of transformation rules
based on the mapping are examples of potential improved support. We plan to
work on this next while rolling out detailed case studies in domains that require
traceability (particularly safety, health informatics, and security).</p>
        </sec>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. Ma¨der,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Gotel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            ,
            <surname>Philippow</surname>
          </string-name>
          ,
          <string-name>
            <surname>I.</surname>
          </string-name>
          :
          <article-title>Motivation Matters in the Traceability Trenches</article-title>
          .
          <source>In: Proc. RE'09</source>
          . (
          <year>2009</year>
          )
          <fpage>143</fpage>
          -
          <lpage>148</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Cleland-Huang</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heimdahl</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hayes</surname>
            ,
            <given-names>J.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lutz</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maeder</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Trace Queries for Safety Requirements in High Assurance Systems</article-title>
          .
          <source>In: Proc. REFSQ'12</source>
          . (
          <year>2012</year>
          )
          <fpage>179</fpage>
          -
          <lpage>193</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Ramesh</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jarke</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Toward Reference Models for Requirements Traceability</article-title>
          .
          <source>IEEE Transactions on Software Engineering</source>
          <volume>27</volume>
          (
          <year>2001</year>
          )
          <fpage>58</fpage>
          -
          <lpage>93</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4. Ma¨der,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Cleland-Huang</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.:</surname>
          </string-name>
          <article-title>A Visual Traceability Modeling Language</article-title>
          .
          <source>In: Proc. MoDELS'10</source>
          . (
          <year>2010</year>
          )
          <fpage>226</fpage>
          -
          <lpage>240</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. B´ezivin, J.,
          <string-name>
            <surname>Bouzitouna</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fabro</surname>
            ,
            <given-names>M.D.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gervais</surname>
            ,
            <given-names>M.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jouault</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kolovos</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kurtev</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paige</surname>
            ,
            <given-names>R.F.</given-names>
          </string-name>
          :
          <article-title>A canonical scheme for model composition</article-title>
          .
          <source>In: Proc. ECMDA-FA'06</source>
          . (
          <year>2006</year>
          )
          <fpage>346</fpage>
          -
          <lpage>360</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Steinberg</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Budinsky</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paternostro</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Merks</surname>
          </string-name>
          , E.: EMF:
          <article-title>Eclipse Modeling Framework. 2. edn</article-title>
          . Addison-Wesley, Boston, MA (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Kolovos</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rose</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paige</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <source>The Epsilon Book</source>
          . (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Egyed</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grunbacher</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heindl</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , Bi✏ ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          :
          <article-title>Value-Based Requirements Traceability: Lessons Learned</article-title>
          .
          <source>In: Proc. RE'07</source>
          . (
          <year>2007</year>
          )
          <fpage>240</fpage>
          -
          <lpage>257</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9. Ma¨der,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Gotel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            ,
            <surname>Philippow</surname>
          </string-name>
          ,
          <string-name>
            <surname>I.</surname>
          </string-name>
          :
          <article-title>Getting Back to Basics: Promoting the Use of a Traceability Information Model in Practice</article-title>
          .
          <source>In: Proc. TEFSE'09</source>
          , IEEE Computer Society (
          <year>2009</year>
          )
          <fpage>21</fpage>
          -
          <lpage>25</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Peraldi-Frati</surname>
            ,
            <given-names>M.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Albinet</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Requirement Traceability in Safety Critical Systems</article-title>
          .
          <source>In: Proc. CARS'10</source>
          ,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2010</year>
          )
          <fpage>11</fpage>
          -
          <lpage>14</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Sanchez</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alonso</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rosique</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alvarez</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pastor</surname>
          </string-name>
          , J.:
          <article-title>Introducing Safety Requirements Traceability Support in Model-Driven Development of Robotic Applications</article-title>
          .
          <source>IEEE Transactions on Computers</source>
          <volume>60</volume>
          (
          <issue>8</issue>
          ) (
          <year>2011</year>
          )
          <fpage>1059</fpage>
          -
          <lpage>1071</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Katta</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stlhane</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>A Conceptual Model of Traceability for Safety Systems</article-title>
          .
          <source>Technical report, Laboratory of Algorithmics, Complexity and Logic</source>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Cleland-Huang</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Settimi</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Duan</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zou</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          :
          <article-title>Utilizing Supporting Evidence to Improve Dynamic Requirements Traceability</article-title>
          .
          <source>In: Proc. RE'05</source>
          , IEEE Computer Society (
          <year>2005</year>
          )
          <fpage>135</fpage>
          -
          <lpage>144</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Lee</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guadagno</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>FLUID: Echo Agile Requirements Authoring and Traceability</article-title>
          .
          <source>In: Proc. MWSEC'03</source>
          . (
          <year>2003</year>
          )
          <fpage>50</fpage>
          -
          <lpage>61</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Matragkas</surname>
          </string-name>
          , N.:
          <article-title>Establishing and Maintaining Semantically Rich Traceability: A Metamodelling Approach</article-title>
          .
          <source>PhD thesis</source>
          , University of York (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>