<!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>Representing Uncertainty in Bidirectional Transformations</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Romina Eramo</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alfonso Pierantonio</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gianni Rosa</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>DISIM University of L'Aquila</institution>
          ,
          <addr-line>Via Vetoio, 67100</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In Model-Driven Engineering, the potential advantages of using bidirectional transformations are largely recognized. The non-deterministic nature of bidirectionality represents a key aspect: i.e, consistently propagating changes from one side to the other is typically non univocal and more than one correct solutions are admitted. In this paper, the problem of uncertainty in bidirectional transformations is discussed. In particular, we illustrate how represent a family of cohesive models, generated as output of a bidirectional transformation, by means of models with uncertainty.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        In Model-Driven Engineering (MDE) [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], the potential advantages of using
bidirectional transformations in various scenarios are largely recognized. As for instance,
assuring the overall consistency of a set of interrelated models which requires the
capability of propagating changes back and forth the transformation chain [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. Despite
its relevance, bidirectionality has rarely produced anticipated benefits as demonstrated
by the lack of a leading language comparable, for instance, to ATL for unidirectional
transformations due to the ambivalence concerning non-bijectivity that give place to
non-determinism. For instance, while MDE requirements demand enough
expressiveness to write non-bijective transformations [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ], the QVT standard is somewhat
uncertain in asserting whether the language permits such transformations [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ]. In particular,
when reversing a non-injective bidirectional mapping more than one admissible
solution might be found. Thus, rather than having a single model, we actually have a set of
possible models and we are not sure which is the desired one. On the other hand, while
a transformation can always be disambiguated at design-time by fixing those details
that leave the solution open to multiple alternatives, in many cases this is impractical
because the designer does not detain enough information beforehand for establishing a
general solution. Recently, few declarative approaches [
        <xref ref-type="bibr" rid="ref17 ref3 ref4">4, 17, 3</xref>
        ] to bidirectionality have
been proposed. They are able to cope with the non-bijectivity by generating all the
admissible solutions of a transformation at once. Among them, the Janus Transformation
Language [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] (JTL) is a model transformation language specifically tailored to support
bidirectionality and change propagation. Unfortunately, managing a set of models
explicitly is challenging and poses severe issues as its size might be quite large. The main
problem of these approaches is related to the difficulty to manage a number of models.
      </p>
      <p>
        A similar problem is present in the management of uncertainty [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Typically it
occurs when the designer has not complete, consistent and accurate information required
to make a decision during software development. In particular, the designer may add
ambiguity during the writing of model transformation. For instance, she may be unsure
about some correspondences among source and target elements and, as a consequence,
the transformation may generate multiple solutions each one representing a different
design decision. Furthermore, often she can understand it only at execution time, when
a multitude of models are obtained.
      </p>
      <p>
        Providing a representation of the uncertainty generated as outcome of a model
transformation process represents a first step to support designers. We propose a
metamodelindependent approach to represent a family of cohesive models deriving from a
bidirectional transformation by means of models with uncertainty. This paper is related to
previous work [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] which introduced the uncertainty due to non-deterministic bidirectional
transformations and outlined the challenges aiming to give a support to the problem.
      </p>
      <p>The paper is organized as follows. Section 2 introduces the problem by means of a
running example based on JTL. Section 3 discusses uncertainty and the need of a tool
support for manage it. Section 4 presents the proposed approach to represent
uncertainty. Finally, Sect. 5 describes related work and Sect. 6 draws some conclusion and
future work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>A motivating example</title>
      <p>
        It is more the rule than the exception that uncertainty is part of almost any aspects
of software development [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]. This is also valid for model transformation design and
implementation. In particular, in this section we describe how lack of information at
design-time can lead to non-deterministic transformations which generates uncertainty
in the solution because some mapping between elements in models may be ambiguous.
      </p>
      <p>
        To better understand the problem and the difficulties it poses, we firstly introduce
a well-known application scenario and secondly provide an implementation with JTL
highlighting its intrinsic non-determinism.
Scenario. Let us consider a typical round-trip problem based on the Collapse/Expand
State Diagrams benchmark [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. In particular, starting from a hierarchical state diagram
(involving some nesting) as the one reported in Fig. 1(a), the bidirectional
transformation yields a flat state machine as provided in Fig. 1(b). A fundamental requirement of
the transformation prescribes that manual modifications on the target model must be
back propagated to the source model. For instance, suppose that the designer modifies
the flattened machine in Fig. 1(b) to produce the model in Fig. 1(c) by:
– adding the new state Printing,
– adding the transition print that associates state Active to the latter, and finally
– modifying the source of the transition done from the state Active to the state
      </p>
      <p>Printing.</p>
      <p>The expected transformation is clearly non-injective (as different hierarchical machines
can be flattened to the same model). In addition, such a model refinement gives place
to an interesting situation, i.e., more than one model is admissible (see dotted edges in
Fig. 1(d)).</p>
      <p>
        Implementation. The HSM2SM bidirectional transformation, which relates
hierarchical and flat state machines, has been implemented by means of JTL: a constraint-based
model transformation language specifically tailored to support bidirectionality. It adopts
a QVT-R1 like syntax and allows a declarative specification of relationships between
MOF models. The semantics is given in terms of Answer Set Programming (ASP) [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ],
which is a form of declarative programming oriented towards difficult (primarily
NPhard) search problems and based on the stable model (answer set) semantics of logic
programming. Then, the ASP solver2 finds and generates, in a single execution, all the
possible models which are consistent with the transformation rules by a deductive
process. The JTL environment has been implemented as a set of plug-ins for the Eclipse
framework and mainly exploits EMF3.
1 transformation hsm2sm(source : HSM, target : SM) {
2 ...
3 top relation Transition2Transition {
4 enforce domain source sourceTrans: HSM::Transition{
5 owningStateMachine = sourceSM: HSM::StateMachine { },
6 };
7 enforce domain target targetTrans: SM::Transition{
8 owningStateMachine = targetSM: SM::StateMachine { },
9 };
10 when {...}
11 where {...}
12 }
13 relation TransitionSource2TransitionSource {
14 enforce domain source sourceTrans: HSM::Transition {
15 source = sourceState : HSM::State { }
16 };
17 enforce domain target targetTrans: SM::Transition {
18 source = targetState : SM::State { }
19 };
20 when {
21 State2State(sourceState, targetState) and
22 sourceState.owningCompositeState.oclIsUndefined();
23 }
24 }
25 relation TransitionSourceComposite2TransitionSource {
26 enforce domain source sourceTrans: HSM::Transition {
27 source = sourceState : HSM::CompositeState { }
28 };
29 enforce domain target targetTrans: SM::Transition {
30 source = targetState : SM::State { }
31 };
32 when { CompositeState2State(sourceState, targetState); }
33 } ...
      </p>
      <p>Listing 1.1. A fragment of the HSM2SM transformation in JTL
1 http://www.omg.org/spec/QVT/1.1/
2 http://www.dlvsystem.com/
3 http://www.eclipse.org/modeling/emf/
A fragment of the HSM2SM transformation is illustrated in List. 1.1. It consists of a
number of relations defined by the two involved domains. In particular, the following
relations are reported:
– Transition2Transition which relates transitions of the hierarchical metamodel and
transitions of the flat metamodel,
– TransitionSource2TransitionSource which relates source states of transitions of the
hierarchical metamodel and the corresponding source states of transitions of the flat
metamodel, and finally
– TransitionSourceComposite2TransitionSource which relates source composite states
of transitions of the hierarchical metamodel and correspondent source states of
transitions of the flat metamodel4.</p>
      <p>The forward application of the transformation is illustrated in Fig. 2, where the
model HSMm on the left-hand side is mapped to SMm in the right-hand side. As
aforementioned the transformation is non-injective. The back propagation of the changes
4 The interested reader can access the full implementation at http://jtl.di.univaq.it/
showed in Fig. 1(c) therefore gives place to the following situation: the newly added
transition print can be equally mapped to each of the nested states within Active
as well as to the container state itself, as in Fig. 1(d). In particular, the modified
target model SMm’ in Fig. 3(a) is mapped back to the source models HSMm01; :::; HSMm0
4
in Fig. 3(b). For example, as visible in the property of the print transition, HSMm0
4
represents the case in which the transition target goes to the composite state Active.</p>
      <p>
        Such non-determinism can still be resolved by accommodating in the
transformation the prescription that any new edges in a target model should be mapped to an edge
in corresponding source model, such that it always refers to the same kind of state, e.g.,
the container state. This would definitely make the transformation deterministic.
However, when the solution cannot be singled out in such a general way, the decision must
be left to the modeler in later stages. The potential information erosion have a negative
impact on software cost and quality [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. Thus, designers dealing with model
uncertainty need to be supported with suitable mechanism and tools in order to avoid effect
of having multiple design alternatives.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Uncertainty in modeling</title>
      <p>
        In software engineering decisions have to be made at different stages. Despite the
nature of software means making these decisions with absolute confidence, uncertainty
appears everywhere [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]. Typically, it occurs when the designer does not have
complete, consistent and accurate information required to make a decision during software
development. Introducing uncertainty in modeling processes means that, rather than
having a single model, we actually have a set of possible models and we are not sure
which is the correct one [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Thus, handling uncertainty requires the modeler to use
this set whenever an individual model would be used. In addition, managing a set of
models explicitly is impractical as its size might be quite large. On the other hand,
if uncertainty is ignored and one particular possible model is prematurely chosen, we
risk having incorrect information in the model. Recently, an approach [
        <xref ref-type="bibr" rid="ref12 ref14">12, 14</xref>
        ] has been
proposed to cope with different aspects of this problem. In particular, the concept of
partial model has been given in terms of graph theory to capture uncertainty in models.
In essence, by means of first-order logic annotations points of uncertainty can be
introduced in the model, each denoting a possible concretization, i.e., a model where the
uncertainty is resolved.
      </p>
      <p>
        Non-bijective model transformations are strictly related to uncertainty, that is
introduced during the transformation writing but it is often evident only after the execution,
when more than one models may be generated. Especially when the set of generated
models is large, designers need to be supported by suitable mechanisms and tools able
to manage uncertainty. For this reasons, our aim is to provide the designer a tool for
represent the different models into a new one that contains all generated alternatives which
abstracts from the calculation method and permits to harness the potential offered by
generic modeling platforms such as Eclipse/EMF ([
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]]). Furthermore, it represents the
starting point for extending a language like JTL semantics and its transformation
engine towards an uncertainty-aware solution, capable of dealing with the intrinsic
nondeterminism of non-bijective transformation in terms of uncertain or partial models.
      </p>
    </sec>
    <sec id="sec-4">
      <title>A metamodel-independent approach to uncertainty</title>
      <p>
        Uncertainty as it is known in literature (e.g., [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]) does not have a characterization in
terms of metamodels. It is mainly based on annotations which can be processed by
tools which are outside, for instance, the EMF ecosystem. In this section, we introduce
a metamodel-independent approach to uncertainty representation, i.e., starting from a
base metamodel M we are interested to understand what are the characteristics of the
corresponding metamodel with uncertainty U (M ) and how constructively define it.
      </p>
      <p>Since, it has to be used in modeling environment and must be processed by means of
automated transformation, in according to our view, we identified a number of natural
properties that representation technique should have, as described below
– model-based, a set of models representing different alternatives must be represented
with a model with uncertainty enabling a range of operations, including analysis or
manipulations during the decision process;
– minimality, a model with uncertainty is a concise representation of all the
alternative solutions; it should not contain any other information besides what needed for
representing both the common elements and alternative elements, i.e. alternative
designed choices grouped by a point of uncertainty;
– metamodel-independence, the metamodel must be agnostic of the base metamodel,
i.e., it must be defined in a parametric way such that the definition procedure can
be applied in an automated way to any metamodel;
– interoperability, each model containing uncertainty must be applicable an
unfolding operation, such that whenever applied to it returns all the correspondent
concretizations models or the specific concretization selected by the designer.
Starting from these requirements, an automated procedure U : Ecore ! Ecore is
proposed. The transformation is written in ATL and takes a metamodel M and returns the
corresponding metamodel with uncertainty U (M ) as described in the rest of the section.
4.1 The uncertainty metamodel
The metamodel with uncertainty is obtained by extending the base metamodel with
given connectives to represent the multiple outcomes of a transformation (as showed
in Sect. 2). These connectives denote points of uncertainty where different model
element are attached. Moreover, such points of uncertainty are traceable in order to ease
the traversal of the whole solution space and permit the identification of specific
concretizations.</p>
      <p>As an example, let us consider HSM, the metamodel of the hierarchical state
machines given in Fig. 4. Then the corresponding metamodel with uncertainty U (HSM)
illustrated in Fig. 5 can be automatically obtained as follows:
– the abstract metaclass TracedClass with attributes trace and ref is s added to</p>
      <p>U (HSM);
– for each metaclass c in HSM, such that it is non-abstract and does not specialize
other metaclasses, i) a corresponding metaclass uc is created in U (HSM) such that
uc specializes c, and ii) c is generalized by TracedClass;
– each metaclass uc is composed with c, enabling the representation of a point of
uncertainty and its alternatives;
– the cardinality of attributes and references derived from HSM are relaxed and made
optional in U (HSM) in order to permit to express uncertainty also over them.</p>
      <p>In particular, the metaclasses UStateMachine, UState and UTransition in U (HSM)
derive from StateMachine, State and Transition in HSM, whereas the latter ones
are generalized by TracedClass. The scope of this abstract class is to maintain
information about the relationships between the points of uncertainty and the correspondent
own alternatives in the concretization models.</p>
      <p>As said, the above procedure is implemented as an endogenous model
transformation in ATL. For the sake of brevity, only an excerpt of the transformation is presented
in Listing 1.25 containing solely those rules which build the specific constructions of the
uncertainty metamodel. More in detail, the rule EClass2UEClass (lines 4-20) a)
propagates base metaclasses (and their associations) which are not abstract and do not have
non-abstract ancestors (lines 5-6) and b) for each of them generates a corresponding
uncertainty metaclass (lines 11-14), as in Fig. 5 where the metaclass UState is
generated and composed with State. Moreover, the target pattern (lines 7-20) is composed
of a set of elements, each of them specifies a target type from the target metamodel and
a set of bindings. In particular, the element t (lines 7-10) copies the metaclass s in the
target metamodel; the element u of the target pattern (lines 11-14) generates uncertainty
metaclass as specialization of the matched source class s; and finally, the reference r
is created as a structural feature of the element u in order to refer alternative elements
contained in u.
1 module MM2UMM;
2 create OUT : UMM from IN : MM;</p>
      <p>5 The MM2UMM transformation implementation is available at http://jtl.di.univaq.it/</p>
      <p>To better understand how a point of uncertainty is realized, please consider the
alternative solutions in the right-hand side of Fig. 3 and how they are denoted by the
corresponding point of uncertainty illustrated in Fig. 5. In particular, the alternative
transitions are collected in a point of uncertainty (UTransition) which contains the
transitions print targeting each one of the nested states within Active as well as to
the composite state itself.</p>
      <p>It is important to notice that models with uncertainty may be an over-approximation
of the sets of transformation candidates. This is due to the ”combinatorial” nature of
these models since each point of uncertainty collects the different alternatives.
Consequently, it can happen that certain combinations produce concretizations which are
not part of the solution space. For instance, in the scenario in Fig. 1, probably only
one print transition can exist in the final model. However, the generated model with
uncertainty admits models with multiple print transitions giving place to more
concretizations than those expected. Therefore, besides the models with uncertainty it is
important to generate also those constraints which limit the solution to the admissible
concretization, in our case, in order to avoid multiple print transitions, the model with
uncertainty in Fig. 5 is augmented with a constraint that reduces the concretizations
to cases with one print transition only. According to the uncertainty metamodel
described in Sect. 4, each metaclass provide an attribute ref to maintain the reference to
the corresponding concretization(s).
5</p>
    </sec>
    <sec id="sec-5">
      <title>Related work</title>
      <p>
        Uncertainty is one of the factors prevalent within contexts as requirements engineering
[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], software processes [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] and adaptive systems [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. Uncertainty management has
been studied in many works, often with the aim to express and represent it in models. In
[
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] partial models are introduced to allow designers to specify uncertain information
by means of a base model enriched with annotations and first order logic. Model
transformation techniques typically operate under the assumption that models do not contain
uncertainty. Nevertheless, the work in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] proposes a technique for adapting existing
model transformations in order to deal with models containing uncertainty. The main is
a lifting operation which permits to adapt unidirectional transformations for being used
over models with uncertainty preserving their original behavior.
      </p>
      <p>
        As discussed in this paper, modelers may need to encode ambiguities in their model
transformation and obtain multiple design alternatives in order to choose among them.
In contrast with this requirement, most existing bidirectional model transformation
languages deal with non-determinism by requiring designers to write non-ambiguous
mappings in order to obtain a deterministic result [
        <xref ref-type="bibr" rid="ref1 ref23 ref6">1, 23, 6</xref>
        ] . The ability to deduce and
generate all the possible solutions of an uncertain transformation has been achieved by
few approaches, including JTL [
        <xref ref-type="bibr" rid="ref10 ref8">8, 10</xref>
        ]. In such case, may be useful to manage
nondeterminism during the design process in order to detect ambiguities and support
designers in solving non-determinism in their specification as faced in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
6
      </p>
    </sec>
    <sec id="sec-6">
      <title>Conclusion</title>
      <p>Bidirectional model transformations represent at the same time an intrinsically difficult
problem and a crucial mechanism for keeping consistent and synchronized a number
of related models. In this paper, we tackle the problem of non-determinism in
bidirectional transformations focusing on the concept of uncertainty, which represent one of
the prevalent factors within software engineering. When modelers are not able to fix
a design decision they may encode ambiguities in their model transformation
specification, e.g. not providing additional constraints that would make the transformation
deterministic. In this work we have made an attempt to help designers to give an
uniform characterization of the solution in terms of models with uncertainty as already
known in literature.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>S. M.</given-names>
            <surname>Becker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Herold</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Lohmann</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Westfechtel</surname>
          </string-name>
          .
          <article-title>A graph-based algorithm for consistency maintenance in incremental and interactive integration tools</article-title>
          .
          <source>SOSYM</source>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. J. Be´zivin,
          <string-name>
            <given-names>F.</given-names>
            <surname>Jouault</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Rosenthal</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Valduriez</surname>
          </string-name>
          .
          <article-title>Modeling in the Large and Modeling in the Small</article-title>
          .
          <source>In Procs of European MDA Workshops</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>G.</given-names>
            <surname>Callow</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Kalawsky</surname>
          </string-name>
          .
          <string-name>
            <given-names>A Satisficing</given-names>
            <surname>Bi-Directional Model Transformation</surname>
          </string-name>
          <article-title>Engine using Mixed Integer Linear Programming</article-title>
          .
          <source>JOT</source>
          ,
          <volume>12</volume>
          (
          <issue>1</issue>
          ):1:
          <fpage>1</fpage>
          -
          <lpage>43</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <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>
          .
          <article-title>JTL: a bidirectional and change propagating transformation language</article-title>
          .
          <source>In SLE10</source>
          , pages
          <fpage>183</fpage>
          -
          <lpage>202</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>K.</given-names>
            <surname>Czarnecki</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. N.</given-names>
            <surname>Foster</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Hu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>La</surname>
          </string-name>
          <article-title>¨mmel, A. Schu¨rr, and</article-title>
          <string-name>
            <given-names>J. F.</given-names>
            <surname>Terwilliger</surname>
          </string-name>
          .
          <article-title>Bidirectional Transformations: A Cross-Discipline Perspective - GRACE meeting</article-title>
          .
          <source>In Procs. of ICMT2009.</source>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Z.</given-names>
            <surname>Diskin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Xiong</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Czarnecki. From</surname>
          </string-name>
          state
          <article-title>- to delta-based bidirectional model transformations</article-title>
          . pages
          <fpage>61</fpage>
          -
          <lpage>76</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>C.</given-names>
            <surname>Ebert</surname>
          </string-name>
          and
          <string-name>
            <given-names>J. D.</given-names>
            <surname>Man</surname>
          </string-name>
          .
          <article-title>Requirements uncertainty: influencing factors and concrete improvements</article-title>
          .
          <source>In Procs. of ICSE</source>
          , pages
          <fpage>553</fpage>
          -
          <lpage>560</lpage>
          . ACM Press,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>R.</given-names>
            <surname>Eramo</surname>
          </string-name>
          , I. Malavolta,
          <string-name>
            <given-names>H.</given-names>
            <surname>Muccini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Pelliccione</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Pierantonio</surname>
          </string-name>
          .
          <article-title>A model-driven approach to automate the propagation of changes among Architecture Description Languages</article-title>
          .
          <source>SOSYM</source>
          ,
          <volume>1</volume>
          (
          <issue>25</issue>
          ):
          <fpage>1619</fpage>
          -
          <lpage>1366</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>R.</given-names>
            <surname>Eramo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Marinelli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Pierantonio</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Rosa. Towards Analyzing</surname>
          </string-name>
          Non-Determinism in Bidirectional Transformations.
          <source>In Procs. of AMT</source>
          <year>2014</year>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>R.</given-names>
            <surname>Eramo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Pierantonio</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>
          .
          <article-title>Change management in multiviewpoint system using asp</article-title>
          .
          <source>In EDOCW08</source>
          , pages
          <fpage>433</fpage>
          -
          <lpage>440</lpage>
          . IEEE Computer Society,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>R.</given-names>
            <surname>Eramo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Pierantonio</surname>
          </string-name>
          , and
          <string-name>
            <surname>G. Rosa.</surname>
          </string-name>
          <article-title>Uncertainty in bidirectional transformations</article-title>
          .
          <source>In Procs. of MiSE</source>
          <year>2014</year>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>M. Famelis</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Salay</surname>
            , and
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Chechik</surname>
          </string-name>
          .
          <article-title>Partial models: Towards modeling and reasoning with uncertainty</article-title>
          .
          <source>In ICSE</source>
          , pages
          <fpage>573</fpage>
          -
          <lpage>583</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>M. Famelis</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Salay</surname>
            ,
            <given-names>A. D.</given-names>
          </string-name>
          <string-name>
            <surname>Sandro</surname>
            , and
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Chechik</surname>
          </string-name>
          .
          <article-title>Transformation of models containing uncertainty</article-title>
          .
          <source>In MoDELS</source>
          , pages
          <fpage>673</fpage>
          -
          <lpage>689</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>M.</given-names>
            <surname>Famelis</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Santosa</surname>
          </string-name>
          .
          <article-title>Mav-vis: A notation for model uncertainty</article-title>
          .
          <source>In MiSE</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>M.</given-names>
            <surname>Gelfond</surname>
          </string-name>
          and
          <string-name>
            <given-names>V.</given-names>
            <surname>Lifschitz</surname>
          </string-name>
          .
          <article-title>The Stable Model Semantics for Logic Programming</article-title>
          .
          <source>In Procs of ICLP</source>
          , pages
          <fpage>1070</fpage>
          -
          <lpage>1080</lpage>
          , Cambridge, Massachusetts,
          <year>1988</year>
          . The MIT Press.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16. H.
          <string-name>
            <surname>Ibrahim</surname>
            ,
            <given-names>B. H.</given-names>
          </string-name>
          <string-name>
            <surname>Far</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Eberlein</surname>
            , and
            <given-names>Y.</given-names>
          </string-name>
          <string-name>
            <surname>Daradkeh</surname>
          </string-name>
          .
          <article-title>Uncertainty management in software engineering: Past, present, and future</article-title>
          .
          <source>In CCECE</source>
          , pages
          <fpage>7</fpage>
          -
          <lpage>12</lpage>
          . IEEE,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>N.</given-names>
            <surname>Macedo</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Cunha. Implementing QVT-R Bidirectional Model</surname>
          </string-name>
          <article-title>Transformations Using Alloy</article-title>
          .
          <source>In FASE</source>
          , pages
          <fpage>297</fpage>
          -
          <lpage>311</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <given-names>P.</given-names>
            <surname>Sawyer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Bencomo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Whittle</surname>
          </string-name>
          , E. Letier,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Finkelstein</surname>
          </string-name>
          .
          <article-title>Requirements-aware systems: A research agenda for re for self-adaptive systems</article-title>
          .
          <source>In RE</source>
          , pages
          <fpage>95</fpage>
          -
          <lpage>103</lpage>
          . IEEE,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19. B. Scha¨tz, F. Ho¨lzl, and
          <string-name>
            <given-names>T.</given-names>
            <surname>Lundkvist</surname>
          </string-name>
          .
          <article-title>Design-space exploration through constraint-based model-transformation</article-title>
          .
          <source>In ECBS</source>
          , pages
          <fpage>173</fpage>
          -
          <lpage>182</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <given-names>D.</given-names>
            <surname>Schmidt</surname>
          </string-name>
          . Guest Editor's Introduction:
          <string-name>
            <surname>Model-Driven Engineering</surname>
          </string-name>
          . Computer,
          <volume>39</volume>
          (
          <issue>2</issue>
          ):
          <fpage>25</fpage>
          -
          <lpage>31</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <given-names>S.</given-names>
            <surname>Sendall</surname>
          </string-name>
          and
          <string-name>
            <given-names>W.</given-names>
            <surname>Kozaczynski</surname>
          </string-name>
          . Model Transformation:
          <article-title>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="ref22">
        <mixed-citation>
          22.
          <string-name>
            <given-names>A.</given-names>
            <surname>Sillitti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ceschi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Russo</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Succi</surname>
          </string-name>
          .
          <article-title>Managing uncertainty in requirements: A survey in documentation-driven and agile companies</article-title>
          .
          <source>In IEEE METRICS, page 17. IEEE Computer Society</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <given-names>P.</given-names>
            <surname>Stevens</surname>
          </string-name>
          .
          <article-title>Bidirectional model transformations in QVT: semantic issues and open questions</article-title>
          .
          <source>SOSYM</source>
          ,
          <volume>8</volume>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <given-names>S.</given-names>
            <surname>Witkop</surname>
          </string-name>
          .
          <article-title>MDA users' requirement for QVT transformations</article-title>
          .
          <source>In OMG doc 05-02-04</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>