<!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>Generating model with uncertainty by means of JTL</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Gianni Rosa Universita` degli Studi dell'Aquila I-67100 L'Aquila</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>-In Model-Driven Engineering, the potential advantages of using bidirectional transformations are largely recognized. Despite its crucial function, in certain cases bidirectionality has somewhat limited success because of the ambivalence concerning non-bijectivity. In fact, consistently propagating changes from one side to the other is typically non univocal as more than one correct solution is admitted. This gives place to a form of uncertainty which means that, rather than having a single model, we actually have a set of possible models but we do not know what is the right one. In this paper, we discuss how dealing with multiple solutions is important and requires specialized tools and support. In particular, handling a set of models explicitly is generally non-viable. Thus, we extended the JTL semantics to generate a model with uncertainty which is semantically equivalent to the set of models it represents. The approach is implemented and a metamodel-independent technique is proposed.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. PROBLEM AND MOTIVATION</title>
      <p>
        In Model-Driven Engineering [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] (MDE) bidirectionality in
transformations has been always regarded as a key
mechanism [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. Its employment comprises mapping models to
other models to focus on particular features of a system,
simulate/validate a given application, and primarily keeping a
set of interrelated models synchronized or in a consistent state.
Despite its relevance, bidirectionality has rarely produced
anticipated benefits as demonstrated by the lack of a
language comparable to what ATL1 represents for unidirectional
transformations. Probably the main reason why bidirectional
techniques had limited success can be found to some extent
in the ambivalence concerning non-bijectivity. For instance,
while MDE requirements demand enough expressiveness to
write non-bijective transformations [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], the QVT standard is
somewhat uncertain in asserting whether the language permits
such transformations [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]. In particular, when reversing a
noninjective bidirectional mapping more than one admissible
solution can be found. This gives place to a form of uncertainty (as
known in [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]): rather than having a single model, we actually
have a set of possible models and we are not sure which is
the right 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 non-viable because the designer does not detain
enough information beforehand for establishing a general
solution. Thus, harnessing declarative approaches capable of
dealing with the intrinsic uncertainty of non-bijective
bidirectional transformations in a rigorous and precise way can be
key to success. Recently, few declarative approaches [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ],
[
        <xref ref-type="bibr" rid="ref16">16</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="ref3">3</xref>
        ] (JTL) is a model transformation
language specifically tailored to support bidirectionality and
change propagation. The problem of managing a set of models
explicitly is impractical as its size might be quite large,
designers need to be supported with suitable mechanism and
tools in order to avoid the effect of having multiple design
alternatives.
      </p>
      <p>The solution proposed in this paper, is an extension of
the JTL semantics and of its engine capable of generating a
uniform characterization of the solution in terms of models
with uncertainty instead of a set of models, such that a)
the approach is metamodel-independent, in sense that starting
from an arbitrary base metamodel can automatically generate
the corresponding uncertainty metamodel; b) the resulting
model conforms to the uncertainty metamodel; and c) each
model with uncertainty has to be considered semantically
equivalent to the set of its concretizations, i.e. the models
obtainable from the uncertainty model by resolving the point
of uncertainties.</p>
      <p>
        By way of example, consider the Collapse/Expand State
Diagrams round-trip benchmark [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. The forward
transformation !T translates the hierarchical state machine in Fig. 1(a)
into the flatten version in Fig. 1(b). !T is clearly non-injective
because different hierarchical machines can be translated into
the same model. Let us suppose now that the designer wants
to manually modify the target model by means of the changes
highlighted in bold and with thicker lines in Fig. 1(c). More
in details, consists of the following modifications:
      </p>
      <p>At this point, the original source model and the revised target
model are not consistent any longer. Therefore, the backward
transformation T 1 can be used to restore the consistency
by propagating the changes in . Not surprisingly, there is
not a unique way of updating the source model. In fact, the
added transitions in the target may be mapped to either of
the nested states as well as to the container state itself, as
illustrated in Fig. 1(d), where the dotted edges represent the
alternative transitions. Despite the changes on the target model
are relatively simple, their impact on the source model is
typically exponential. In fact, the overall number of admissible
models in this case is
jprintj
jcompletedj
= 4 4</p>
      <p>jcritical errorj
3 = 48
where jnamej is the number of alternative model elements
called name. It is worth noting that the models in Fig. 1(d) are
represented by means of the dotted notation, which is informal:
in this case a bidirectional transformation implemented in
JTL would generate a collection of 48 distinguished models.
Clearly, whenever the implementor is unable to disambiguate
the transformation by making it deterministic, the decision
must be left to the modeler rather than to the language
internals.</p>
      <p>It is not difficult to demonstrate that for a specific instance,
if n is the number of uncertainty points and m the number of
alternative model elements for each of them, then the result
consists of mn different alternative solutions. Hence, it is
of crucial relevance that modelers are adequately assisted in
dealing with the combinatorial explosion of design alternatives
as described in the sequel.</p>
      <p>The paper is organized as follows. Section II describes
related work about this topic, Section III presents the proposed
approach to represent uncertainty by means of JTL, Section IV
proposes a new semantic for the JTL engine able to generate
and manage models with uncertainty. Finally, Section V draws
some conclusion and future work.</p>
    </sec>
    <sec id="sec-2">
      <title>II. RELATED WORK</title>
      <p>
        Uncertainty is ubiquitous within contexts such as requirements
engineering [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], software processes [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] and adaptive
systems [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. Uncertainty management has been studied in many
works, often with the intention to express and represent it
in models. In [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], the notion of partial model is introduced
in order to let the designer specify uncertain information by
means of a base model enriched with annotations and
firstorder logic. Model transformation techniques typically operate
under the assumption that models do not contain uncertainty.
      </p>
      <p>
        Nevertheless, the work in [
        <xref ref-type="bibr" rid="ref11">11</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. In [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] a formal approach called MAVO is proposed
and applied to design models in order to express and allow
automated reasoning in presence of uncertainty.
      </p>
      <p>
        Concerning the multiplicity of solutions in bidirectional
transformations, most of the existing languages are
deterministic, i.e., they produce one model at a time. However, in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]
the authors propose PROGRES, a bidirectional transformation
solution based on Triple Graph Grammars (TGGs) which is
able to recognize ambiguous mappings and in case resolve
them by interactively asking the user, who need to be an
expert in these techniques. In [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] the QVT-R bidirectional
transformation language is discussed. In particular, the author
observes that the formal semantics of QVT-R is ambiguous
and it is not possibile to conclude that QVT-R supports
nonbijective transformations. An attempt in making bidirectional
transformation deterministic by means of intentional updates is
represented by the BiFluX language [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ], however the problem
that a transformation cannot be tested for non-determinism at
static-time reduces its effectiveness. Recently some interesting
solutions based on lenses have been proposed: [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] illustrates a
technique to support bidirectional transformations relying no
more on mapping between models but across manipulations
(or differences) operable on them. However, the management
of non-bijective problems is not clearly addressed. Although
researchers are actively working on bidirectional
transformations in several communities [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], a lot effort must be made to
make such kind of transformations ripe for the industrial
environment [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Finally, the ability to deduce and generate all 20 get_uncertainty_set(t1,t2), getID(ID,t1), getUMM(UMM,t1),
the possible solutions of an uncertain transformation has been 21 getUMC(UMC,t1).
achieved by few approaches, including JTL [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. In [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] 22 edge(UMM,IDe,URef,ID,IDt)
:the authors propose a bidirectional transformation approach 23 get_uncertainty_set(t1,t2), getID(ID,t1), getUMM(UMM,t1),
getRefID(IDe,ID),
in which the QVT-R semantics is implemented by means of 24 getChildID(IDt,ID), getURef(URef,t1).
Alloy. Different generated alternatives may be obtained from Listing 1. A fragment of the adapted JTL engine
the execution of a model transformation and reduced by adding
extra OCL constraints or by limiting the upper-bound search
criteria. While in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] similar results are obtained by using
a variety of integer linear programming. These approaches
introduced over the last few years on one hand demonstrate
that there is a need for an in-depth discussion about the nature
of bidirectionality; and on the other hand, shown how mature
techniques and semantics are available for dealing with an
intrinsically difficult problem.
      </p>
      <p>With reference to the scenario described in Sect. I, the model
with uncertainty corresponding to the admissible 48 solutions,
is shown in Fig. 2. In particular, the alternative transitions
are collected in the uncertainty point (UTransition) print,
completed, new operation which contains the transitions
targeting each one of the nested states within Active as well
as to the composite state itself.</p>
    </sec>
    <sec id="sec-3">
      <title>III. APPROACH AND UNIQUENESS</title>
      <p>The main challenge to address in order to let JTL generate
the model with uncertainty is to detect those model elements
which are shared throughout the solution space, i.e., the certain
part of the solution. Referring to Fig. 1(d), it consists of all
elements in the model but the dotted edges. This is obtained by
logically connecting those elements in the source model which
originated the same target elements. Since the JTL engine is
a logic program written in ASP, it can derive how models are
related by means of a deductive process. In this respect, the
existing traceability management offers enough information to
understand how the models can be factorized by identifying
those elements which are connected among them. In particular,
tracing information stores relevant details about the linkage
between source and target model elements at execution-time
(including the applied transformation rules).</p>
      <p>An excerpt of the implemented mechanism is given in
Listing 1. In particular, it contains (part) of the ASP encoding
of the transitions print present in the modified simple machine
in Fig. 1.(c) (line 1) and in the hierarchical state machine in
Fig. 1.(d) (lines 3-6); the corresponding trace links are given
in lines 8-11. During the execution of the transformation, the
engine is able to deduce both the concretization models and/or
the model with uncertainty. Any point of uncertainty is derived
by calculating the uncertainty set among model elements (lines
15-24).
1 node(SM, p, transition).
2
3 node(HSM, p1, transition).
4 node(HSM, p2, transition).
5 node(HSM, p3, transition).
6 node(HSM, p4, transition).
7
8 trace_link(tl1,s1,t1,r1).
9 trace_link(tl2,s1,t2,r2).
10 trace_link(tl1,s1,t3,r3).
11 trace_link(tl2,s1,t4,r4).
12
13 getID(p,s1). getID(p1,t1). getID(p2,t2). getID(p3,t3).</p>
      <p>getID(p4,t4).
14
15 get_uncertainty_set(t1,t2)
:16 trace_link(tl1,s1,t1), trace_link(tl2,s2,t2),
17 equals_id(s1,s2), equals_id(t1,t2).
18
19 node(UMM,ID,UMC)
:</p>
      <p>Due to the metamodel structure (Fig.4), models with
uncertainty may over-approximate the sets of transformation
candidates. For instance, the scenario in Fig. 1 suggests
that only one print transition can exist in the final model.
However, the generated model with uncertainty admits also
models with multiple print transitions giving place to more
concretizations than those expected. Therefore, in order to
avoid multiple print transitions, an operation of refining with
a constraint on the model is needed in order to reduce the
concretizations to cases with one print transition only. The
constraints are directly generated by the JTL engine, which
possesses all the information in the trace links between models
source and target.</p>
    </sec>
    <sec id="sec-4">
      <title>IV. RESULTS</title>
      <p>
        It is worth noting how uncertainty is becoming increasingly
important in today’s software based systems. Rather than
ignoring uncertainty, it should be considered as a first-class
concern in the design, implementation, and deployment of
those systems [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Typically, it occurs when the designer
does not have complete, consistent and accurate information
required to take a decision during any stage of software
development. Introducing uncertainty in modeling processes means
that, rather than having a single model, designer actually have
a set of possible models and she is not sure which is the correct
one [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. In bidirectional transformations, uncertainty becomes
manifest only after the transformation is executed but clearly
originates from the inability of providing intentional updates
at design-time. The idea of representing a set of solutions
with a single model with uncertainty is the starting point for
extending a language like JTL.
      </p>
      <p>
        In order to reduce the burden of managing a collection
of models, a metamodel-independent approach to uncertainty
representation based on preliminary work in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] is shown
below.
      </p>
      <p>The uncertainty metamodel U (M ) is obtained by extending
a base metamodel M with specific connectives to represent
the multiple outcomes of a transformation. These connectives
denote the uncertainty points where alternative model
elements are attached. Moreover, such points of uncertainty are
traceable in order to ease the traversal of the solution space
and to permit the identification of specific concretizations,
i.e., instances. Let us consider the metamodel HSM of the
hierarchical state machines given in Fig. 3. The uncertainty
metamodel U (HSM) in Fig. 4 is automatically obtained by
extending the base metamodel as follows:
1) the abstract metaclass TracedClass with attributes
trace and ref is added,
2) for each metaclass c in HSM, such that it is non-abstract
and does not specialize other metaclasses:
2.1) a direct sub-metaclass uc of c is added,
2.2) c is generalized by TracedClass,
3) each metaclass uc is composed with c, enabling the
representation of a point of uncertainty and its alternatives,
finally
4) the cardinality of attributes and references are relaxed and
made optional in order to permit to express uncertainty
also over them.</p>
      <p>In particular, the metaclasses UStateMachine, UState and
UTransition in U (HSM) are derived from StateMachine,
State and Transition in HSM, which are in turn
generalized by TracedClass. The purpose of TracedClass is
to maintain information about the relationships between the
uncertainty points and the correspondent own alternatives in
the concretization models.</p>
      <p>The above metamodel permits to represent with a single
model a set of state machines. For instance, in Fig. 1(d) a set of
hierarchical machines are given. Most of the model elements
(all the nodes and part of the transitions) are shared among
them, they represent the certain part of the models. Whilst, the
dotted alternative transitions denoted by print, completed,
and critical error correspond to three different
uncertainty points of type UTransition, each connected to the
related alternative Transition elements.</p>
      <p>The main advantage of the approach is that the uncertainty
represented by a set of alternative models is leveraged to a
first-class status. A complete set of models can therefore be
manipulated as whole, for instance with an automated
transformation, without iterating over each individual in the set. The
above discussion captures the fact that non-injective mappings
when reversed can produce multiple results. However, as
discussed in the previous section managing a multitude of
models is impractical. What is needed is a construction capable
of representing a set of models generated by a transformation
in an intensional way. Hence, the revised JTL engine is able
to distinguish among two different behaviors:
– extensional, generate all the models satisfying the relation
defined in the bidirectional transformation;
– intensional (or with uncertainty), generate a model with
uncertainty which is semantically equivalent to the
models of the extensional case, i.e., the corresponding set of
models can be generated from it.</p>
      <p>However, one important issue arising from this scenario
is that models with uncertainty may be over-approximations
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 extensional solution space. Therefore,
besides the models with uncertainty it is important to generate
also those constraints which limit the solution to the admissible
concretization only.</p>
    </sec>
    <sec id="sec-5">
      <title>V. 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. One of the prevalent factors within software
engineering is the problem of non-determinism in bidirectional
transformations. When modellers 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. The lack of
information affects models, for instance ambiguous mapping
may cause the generation of multiple solution models each
one representing a different design decision.</p>
      <p>Therefore, the proposed approach is based on the refinement
of the JTL engine, which permits the generation of models
with uncertainty in order to leverage the solution space to a
first-class concern. The approach has been implemented and
can be used for any Ecore artifact.</p>
    </sec>
    <sec id="sec-6">
      <title>ACKNOWLEDGMENT</title>
      <p>This research was supported by the EU through the
ModelBased Social Learning for Public Administrations (Learn Pad)
FP7 STREP project (619583)2.</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>Software and System Modeling</source>
          ,
          <volume>6</volume>
          (
          <issue>3</issue>
          ):
          <fpage>287</fpage>
          -
          <lpage>315</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <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>Journal of Object Technology</source>
          ,
          <volume>12</volume>
          (
          <issue>1</issue>
          ):1:
          <fpage>1</fpage>
          -
          <lpage>43</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <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 Procs. of SLE</source>
          <year>2010</year>
          , LNCS
          <volume>6563</volume>
          , pages
          <fpage>183</fpage>
          -
          <lpage>202</lpage>
          . Springer,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <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 notes, state of the art, and outlook</article-title>
          .
          <source>In Procs. of ICMT2009</source>
          , volume
          <volume>5563</volume>
          <source>of LNCS</source>
          , pages
          <fpage>260</fpage>
          -
          <lpage>283</lpage>
          . Springer,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <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="ref6">
        <mixed-citation>
          [6]
          <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="ref7">
        <mixed-citation>
          [7]
          <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="ref8">
        <mixed-citation>
          [8]
          <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 multi-viewpoint system using asp</article-title>
          .
          <source>In Procs of EDOCW</source>
          , pages
          <fpage>433</fpage>
          -
          <lpage>440</lpage>
          , Washington, DC, USA,
          <year>2008</year>
          . IEEE Computer Society.
        </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>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="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>M.</given-names>
            <surname>Famelis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Salay</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <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="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>M.</given-names>
            <surname>Famelis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Salay</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. D.</given-names>
            <surname>Sandro</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <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="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>D.</given-names>
            <surname>Garlan</surname>
          </string-name>
          .
          <article-title>Software engineering in an uncertain world</article-title>
          .
          <source>In Proceedings of the FSE/SDP workshop on Future of software engineering research</source>
          , pages
          <fpage>125</fpage>
          -
          <lpage>128</lpage>
          . ACM,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>J.</given-names>
            <surname>Hutchinson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Rouncefield</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Whittle</surname>
          </string-name>
          .
          <article-title>Model-driven engineering practices in industry</article-title>
          .
          <source>In Software Engineering (ICSE)</source>
          ,
          <year>2011</year>
          33rd International Conference on, pages
          <fpage>633</fpage>
          -
          <lpage>642</lpage>
          . IEEE,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>D.</given-names>
            <surname>Hutchison</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Kanade</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Kittler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Kleinberg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Mattern</surname>
          </string-name>
          , J. Mitchell,
          <string-name>
            <given-names>M.</given-names>
            <surname>Naor</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Nierstrasz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. P.</given-names>
            <surname>Rangan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Steffen</surname>
          </string-name>
          , et al.
          <article-title>Bidirectional transformations: A cross-discipline perspective, grace meeting notes, state of the art, and outlook</article-title>
          .
          <source>In Theory and Practice of Model Transformations</source>
          , Second International Conference, ICMT 2009, Zurich, Switzerland, June 29-30,
          <year>2009</year>
          . Proceedings, volume
          <volume>5563</volume>
          . Springer,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>H.</given-names>
            <surname>Ibrahim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. H.</given-names>
            <surname>Far</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Eberlein</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y.</given-names>
            <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="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>N.</given-names>
            <surname>Macedo</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Cunha</surname>
          </string-name>
          .
          <article-title>Implementing qvt-r bidirectional model transformations using alloy</article-title>
          . In V. Cortellessa and
          <string-name>
            <given-names>D.</given-names>
            <surname>Varro</surname>
          </string-name>
          ´, editors,
          <source>FASE</source>
          , volume
          <volume>7793</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>297</fpage>
          -
          <lpage>311</lpage>
          . Springer,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>R.</given-names>
            <surname>Salay</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Chechik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Horkoff</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A. D.</given-names>
            <surname>Sandro</surname>
          </string-name>
          .
          <article-title>Managing requirements uncertainty with partial models</article-title>
          .
          <source>Requir</source>
          . Eng.,
          <volume>18</volume>
          (
          <issue>2</issue>
          ):
          <fpage>107</fpage>
          -
          <lpage>128</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>R.</given-names>
            <surname>Salay</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Famelis</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Chechik</surname>
          </string-name>
          .
          <article-title>Language independent refinement using partial modeling</article-title>
          .
          <source>In FASE</source>
          , pages
          <fpage>224</fpage>
          -
          <lpage>239</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <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 Computer Society,
          <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>P.</given-names>
            <surname>Stevens</surname>
          </string-name>
          .
          <article-title>Bidirectional model transformations in QVT: semantic issues and open questions</article-title>
          .
          <source>Software and Systems Modeling</source>
          ,
          <volume>8</volume>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <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 id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>T.</given-names>
            <surname>Zan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Pacheco</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Z.</given-names>
            <surname>Hu</surname>
          </string-name>
          .
          <article-title>Writing bidirectional model transformations as intentional updates</article-title>
          .
          <source>In ICSE Companion</source>
          , pages
          <fpage>488</fpage>
          -
          <lpage>491</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>