<!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 Approximate Model Transformations</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Javier Troya</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Manuel Wimmer</string-name>
          <email>wimmerg@big.tuwien.ac.at</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Loli Burguen˜ o</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Antonio Vallecillo</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Business Informatics Group, Vienna University of Technology</institution>
          ,
          <country country="AT">Austria</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>ETSI Informa ́tica, Universidad de Ma ́laga</institution>
          ,
          <country country="ES">Spain</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>As the size and complexity of models grow, there is a need to count on novel mechanisms and tools for transforming them. This is required, e.g., when model transformations need to provide target models without having access to the complete source models or in really short time-as it happens, e.g., with streaming models-or with very large models for which the transformation algorithms become too slow to be of practical use if the complete population of a model is investigated. In this paper we introduce Approximate Model Transformations, which aim at producing target models that are accurate enough to provide meaningful and useful results in an efficient way, but without having to be fully correct. So to speak, this kind of transformations treats accuracy for execution performance. In particular, we redefine the traditional OCL operators used to query models (e.g., allInstances, select, collect, etc.) by adopting sampling techniques and analyse the accuracy of approximate model transformations results.</p>
      </abstract>
      <kwd-group>
        <kwd>Model Transformation</kwd>
        <kwd>Approximation</kwd>
        <kwd>Performance</kwd>
        <kwd>Sampling</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Model transformations (MTs) are gaining acceptance as model-driven techniques are
becoming commonplace. While models capture the views on systems for particular
purposes and at given levels of abstraction, MTs are in charge of the manipulation,
analysis, synthesis, and refinement of the models [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. They do not only allow the
generation of implementations from high-level models, but also to generate other views that
can be properly analyzed or that provide users with the information they need, at the
right level of abstraction, e.g., a synopsis of a larger data set.
      </p>
      <p>
        So far the community has mainly focused on the correct implementation of a MT,
according to its specification [
        <xref ref-type="bibr" rid="ref4">4, 14–16, 30, 32</xref>
        ], although there is an emergent need
to consider other (non-functional) aspects such as performance, scalability, usability,
maintainability and so forth [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. In particular, the study of the performance of MTs
is gaining interest as very large models living in the cloud have to be transformed as
well [
        <xref ref-type="bibr" rid="ref8">8, 28, 29</xref>
        ]. The usual approach to improve performance has focused on the use of
incremental execution [
        <xref ref-type="bibr" rid="ref7">7, 22</xref>
        ] and parallelization techniques [
        <xref ref-type="bibr" rid="ref8">8, 28</xref>
        ].
      </p>
      <p>
        In this paper we explore a different path. Our aim is to weaken the need to produce
exact target models but approximate ones. Such approximate target models should be
accurate enough to provide meaningful and useful results to users, but alleviate the
need for the transformation to generate fully correct models—being able to produce
such target models in much shorter time. We call Approximate Model Transformations
(AMT) those model transformations that produce approximate target models staying
inside a given error bound. For this, we investigate the adoption of statistical sampling
techniques, such as they are employed in the database area [
        <xref ref-type="bibr" rid="ref1 ref10">1, 10, 19</xref>
        ] and in the general
field of approximate computing [34].
      </p>
      <p>
        This kind of MTs are needed in various circumstances. The most obvious situation
is when very large models have to be synthesized into much smaller models for
decision making, the synthesis process is not trivial, the decision should be made really
fast, and near-optimal solutions or just accurate results are enough (without having to
be fully correct). Another situation in which AMTs come also into play is when we
cannot fully guarantee the correctness of the source models. For example, when
dealing with infinite [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] or streaming models [11]: only a portion of them (e.g., the ones
inside the sliding window) is available at any given moment in time. This means that
some connections between model elements may be broken because not all the elements
involved in these connections are available at the same time. By eliminating the need
for the source model to be correct in this case (i.e., the portion we are considering is
just a fragment [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], which does not need to conform to the source metamodel), we
cannot guarantee that the transformation will produce a correct target model. As an
example, think, e.g., of several wireless sensor networks sending information that needs
to be semantically annotated, combined, and analyzed to make decisions about traffic
routes [27]. Here the transformation rules in charge of distilling the information need
to be somehow simplified in order to be fast—at the cost of sacrificing correctness.
      </p>
      <p>There are several issues involved in these kinds of MTs. First, we need to provide
a measure of the accuracy of the target model produced, what we do based on the
confidence level and relative error, to be able to decide how good the results given by
the approximate transformation are after analyzing them, and if they are good enough
for the user’s purposes. Second, we need to redefine in this context some of the
traditional operators used to traverse or query the models: allInstances(), select(), collect(),
etc. Third, we need to identify adequate methods for the design of approximate model
transformations that provide accurate-enough results. Finally, we need to be able to
identify specific scenarios where it makes sense to apply this kind of MTs.</p>
      <p>The structure of the paper is as follows. Section 2 sets the context by presenting a
motivating example used throughout the paper to illustrate our ideas. Section 3 presents
the concept of AMT and describes the ideas for our approach, which are applied in the
case study as presented in Section 4. Then, in Section 5 we discuss related work, and in
Section 6 we conclude the paper with an outlook on future work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Motivating Example</title>
      <p>
        Let us consider a real-world example of a Wireless Sensor Network (WSN) for
measuring different climatological conditions. The metamodel that we show in Fig. 1 has
been extracted from the data [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] obtained from a WSN deployed in the Elora George
Conservation Area, Ontario, Canada, and also out of some ideas gathered from [27].
The station deployed gathers 19 different kinds of data, from which we have selected 6
of them. Thus, as we can see in the metamodel, the EloraWSN is composed of
observations, of type Phenomenon. Each of them registers the day and time. The phenomena
are specialized into different types: Pressure, Temperature, Humidity, Wind, Rain and
Snow. Each of these specializations has an attribute that stores the value gathered from
the environment. WSNs are normally a clear example of streaming models, since data is
registered as time moves forward. Consequently, at any point in time, we cannot access
the data that is to come in some future instant.
      </p>
      <p>As explained in [27], to derive additional knowledge from semantically annotated
sensor data, it is beneficial to use a rule-based reasoning engine. In this way, when
a group of sensor nodes provides information regarding for instance temperature and
precipitation, then, using such rules, we can specify possible road conditions. One of
these rules could be the following: if the temperature is less than 1 degree Celsius and it
is raining, then the roads are potentially icy. Also, the probability of the risk for having
a fire or a storm could be obtained from the information about humidity, wind and
temperature. To be able to express this kind of information in a model-based manner,
we have created the metamodel shown in Fig. 2. It contains four different Consequences
that are to be predicted according to the observed phenomena—there could be many
more. Each consequence contains the day and time when it is predicted, as well as the
probability that such consequence actually occurs.</p>
      <p>In this context, we aim at reasoning over this kind of models not only considering
the sliding window, i.e., the current information gathered from sensors that we have,
but also taking into consideration that the information within such window can be
potentially large. Thus, we focus on obtaining approximate predictions using AMTs.</p>
    </sec>
    <sec id="sec-3">
      <title>Leveraging Sampling for AMTs</title>
      <p>In statistics, a sample is a subset of individuals from within a statistical population that
is known to be representative of the population as a whole. The process of using
samples for addressing a specific problem is called Sampling. There exist several different
sampling strategies. Which one to utilize depends on the context and the input data.
For instance, in Random Sampling, each individual in the population is given the same
probability to be in the sample. Systematic Sampling, in turn, involves a random start
and then proceeds with the selection of every kth individual from then onwards. There
are other techniques to be used when the population embraces a number of distinct
categories, such as Stratified Sampling or Cluster Sampling.</p>
      <p>A common issue when selecting the sample of a population is to decide its size
so that it can be representative. This is influenced by a number of factors, including
the purpose of the study, population size, the risk of selecting a “bad” sample, and the
tolerable sampling error. In [19], several strategies for determining the sample size are
presented when the data in the population follow a normal distribution.</p>
      <p>With the sampling concept in mind, our proposal aims to redefine the common
operators that current model transformation languages use to manage and operate with
collections, such as allInstances(), collect(), select(), ..., i.e., the collections operators
used by OCL. When transforming very large models, these operations become very
expensive, performance-wise, because they have to traverse the whole model and deal
with a large number of elements. If we reduce this number of elements, the
transformation will be faster.</p>
      <p>For this reason we introduce a set of new collection operators, each one
corresponding to an OCL collection operator. The new ones are suffixed by “Approx” and
incorporate additional arguments: one indicating the confidence level (CL) and another one
indicating the relative error (RE). For example, Temperature.allInstancesApprox(95, 10)
returns a set of instances of type Temperature whose size is determined by the formula
proposed in [19] according to the CL and RE specified.</p>
      <p>Fig. 3 illustrates this idea. In the upper part of the figure, there are ten elements of a
certain type. Realizing the Type.allInstances() operation would return all the elements.
However, with our new operator Type.allInstancesApprox(CL, RE) we obtain only a
subset of them. The lower part of the figure shows ten elements of a certain type that are
referenced by the first element in the upper part. A normal collect(Condition) operation,
where all the elements satisfy the condition, would select the ten elements (along with
their relationship to the object in the upper part). This means that all vertices and arcs are
selected. We apply now the same concept as before with the collectApprox(Condition,
CL, RE) operation, so that only a subset of the graph is actually retrieved.</p>
      <p>Similarly, when we have a model transformation rule (think for instance of ATL [21]),
declarative rules can also have now these arguments. In fact, matched rules in ATL
apply an implicit allInstances() operation in the matching part, since they obtain all
elements that satisfy this part (in the simplest case, where the matching part specifies only
one type with no filtering, i.e., all the instances of such type are transformed). Finally,
we also consider our approximate operators for the imperative part of transformation
languages. Indeed, when a loop like for (p in e.observations) is used (consider that e
is an element of type EloraWSN), then all phenomena are traversed. For this reason,
applying an approximate operator would avoid the complete traversal.</p>
      <p>The values to be chosen in the new arguments of these operations depend on how
accurate and fast we want our transformation to be. There is effectively a tradeoff
between these two metrics. Thus, the smaller the CL and the higher the RE, the smaller
the size of the sample population is and the faster the transformation computes, being
of course less accurate, and vice versa.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Implementation and Evaluation</title>
      <p>We now describe how we have implemented and evaluated our case study.
4.1</p>
      <sec id="sec-4-1">
        <title>Description and Setting</title>
        <p>
          For our experiment, we use data gathered from the WSN in Elora during 2013 [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. The
data we have obtained from the website consists of 8760 points in time (365 days 24
measurements per day). For each of these points, there is data gathered for each type.
We have increased the quantity of data, by extrapolating the original, in 26 points. Thus,
we have 6 different types of data (cf. Fig. 1), and for each data we have 560768 different
measurements through time, what results in 3364608 objects in our input model, whose
file has a size of 306 MB.
        </p>
        <p>Out of the four possible consequences that may happen in the output model (Fig. 2),
we want to focus now on calculating the risk of having a fire. Noble et al. [25] present
a formula for calculating it. More specifically, they describe the MacArthur FFDI
index, which is a weather-based index derived empirically in south-eastern Australia. It
indicates the probability of a fire starting, its rate of spread, intensity, and difficulty of
suppression. This formula uses data from temperature, humidity, wind and rain. We will
not go into what the values returned mean, since it is out of the scope of the paper, but
we want to compare the values calculated by the exact model transformation (EMT)
and an approximate model transformation (AMT).</p>
        <p>F F DI = 2 (0:987 log(D)
0:45 + 0:0338 T + 0:0234 V
0:0345</p>
        <p>H)e</p>
        <p>In the formula, D stands for Drought, T for Temperature, V for Wind and H for
Humidity. As for drought, it is calculated taking into account the data regarding rain.</p>
        <p>To be able to create a transformation where the huge amount of data we have in our
model is utilized, we want to calculate the probability for having fire risk every month.
This is, for obtaining the probability in a certain month, we will use the data gathered
in the previous month (by calculating the average value).</p>
        <p>For selecting the samples, we have decided to use Systematic Sampling. In this
technique, the sample is selected according to a random starting point and a fixed, periodic
interval. This interval, called the sampling interval, is calculated by dividing the
population size by the desired sample size. The reason for using this technique in this case
study, as well as the concrete method for calculating the sample size [19], is the way
data related to meteorological conditions evolve over time. For instance, if we approach
summer, it is very likely that the temperature after ten days is higher than today’s, and
the intermediate values would normally range between these two values. The data is,
consequently, normally distributed.</p>
      </sec>
      <sec id="sec-4-2">
        <title>4.2 Implementation and Results</title>
        <p>In both scenarios, the EMT and the AMT, we have to calculate the index 12 times –
since we are considering all the months of the year. In our EMT, we have around 46730
(560768 divided by 12) points in time for each month. In our AMT, we want to make
two experiments: calculate the index with a confidence level of 95% and a relative error
of 3%, and with a confidence level of 99% and a relative error of 3%. According to the
formula described in [19], the AMT only has to deal, each month, with 1043 and 1764
points in time in these situations, respectively.</p>
        <p>
          As a proof-of-concept of our approach, we have implemented our experiment in
Java/EMF. Thus, after obtaining the data from the Elora Station [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ], we have converted
it into a model conforming to the metamodel shown in Fig. 1 and generated the API for
the metamodel in Java. Then, once we have loaded the model into memory, we have
used the same implementation for obtaining the FFDI indexes for each month, where
in the EMT we traverse the whole population of phenomena and in the AMT we use
only the data returned by the systematic sampling, as explained above. Regarding the
output metamodel, we create an element of type FireRisk for each month, where day
and time indicate the month (first day of the year and time of the day of each month),
and probability stores the computed FFDI index.
        </p>
        <p>The results displayed in Table 1 show the differences between the three executions.
As it can be read, the difference between the FFDI indexes calculated by the exact
and the approximate model transformations are very similar. Furthermore, the gain in
performance is huge: the first AMT is 49 times faster than the EMT, while the second
AMT is 23 times faster. We have analyzed the results and calculated the relative error,
obtaining a value of 0:06287% in the first AMT, what makes sense since we have used a
confidence level of 95%. The second, and more accurate, AMT produces only an error
of 0:0285%, at the expense of spending more time in the execution.
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Related Work</title>
      <p>
        To the best of our knowledge, this paper is the first work which deals with the
development of AMTs for large models. In [
        <xref ref-type="bibr" rid="ref3">3, 24</xref>
        ], a model transformation intent catalog is
introduced which contains different transformation intents, where one of them is the
approximation intent. According to the definition given in [24], a transformation “m1
approximates another transformation m2 if m1 is equivalent to m2 up to a certain error
margin”. As an example the Fast Fourier Transformation is given which is an
approximation of the Fourier Transformation. This definition is in accordance with our idea of
AMT. As future work, studying which other kinds of transformation intents may benefit
from AMTs seems promising.
      </p>
      <p>A related research area is concerned with model transformation by-example [23,
31, 33], which may be interpreted as an approximation of output models for new input
models based on previously seen input/output model pairs. However, here the idea is
not trading accuracy for response time, but reducing the development efforts of model
transformations.</p>
      <p>
        Concerning the reduction of the number of input elements to be read from input
models to produce output models, two transformation strategies have been discussed
in the past. First, if an output model already exists from a previous transformation run
for a given input model, only the changes in the input model are propagated to the
output model. Second, if only a part of the output model is needed by a consumer, only
this part is produced while other elements are produced just-in-time. For the former
scenario, incremental transformations [
        <xref ref-type="bibr" rid="ref7">7, 20, 22, 26</xref>
        ] have been introduced, while for
the latter lazy transformations [29] have been proposed. In this paper, we proposed an
orthogonal approach which does not rely on previous transformation runs and is able to
produce an approximate answer independent of its consumption. However, combining
AMTs with other query optimization techniques such as incremental execution, e.g., to
store samples, seems a next logical step.
      </p>
      <p>
        The approximation of computations has a long tradition in the database area in
order to deal with very large data sets [
        <xref ref-type="bibr" rid="ref10">10, 13</xref>
        ]. Thus, several approximation techniques
have emerged in the last decades. One technique in this respect is online query
processing [17], which provides intermediate results already before the exact result is produced.
Other techniques such as histograms, samples, and wavelets, are based on precomputed
data synopses [13], i.e., synopses are constructed and stored for the complete data set
prior to query time and used at query time to answer the queries. Most related to AMTs
as presented in this paper are approximate queries based on sampling. For approximate
queries the user specifies in addition to the query a certain error bound or time constraint
for the query [
        <xref ref-type="bibr" rid="ref1">1, 18</xref>
        ]. Based on this meta-information, the database selects a sampling
strategy or a pre-cached sample if available to answer the query.
      </p>
      <p>
        To sum up, several approximation techniques are available for databases, but their
adoption to models is challenging because of the different meta-languages (graphs vs.
relations) and query languages (OCL vs. SQL) employed. Furthermore, approximate
queries are still intensively studied for databases to make them useable in different
scenarios as well as to support a wide range of different query types. Currently,
different techniques support different query types, but supporting approximate queries for
general and flexible queries is still limited [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. In order to deal with current scalability
challenges in MDE, it seems promising to further explore which kinds of approximation
techniques fit best for certain MDE scenarios.
6
      </p>
    </sec>
    <sec id="sec-6">
      <title>Conclusions and Future Work</title>
      <p>In this paper we have introduced Approximate Model Transformations, which aim at
producing target models that are accurate enough to provide meaningful and useful
results in an efficient way, but without having to be fully correct. We have explained its
basic notions and applied it successfully in a case study. AMTs provide a mechanism for
being able to balance performance and accuracy in the realm of model transformations
design and execution.</p>
      <p>Of course, this paper presents an exploratory study which requires deeper
investigations at all levels. In particular, we were interested in exploring the possibility of
defining AMTs, and our initial results show that there are enough reasons to keep working
on them. The work presented here does not pretend to be conclusive, or comprehensive,
but to open the path for the model transformation community to start working on it.</p>
      <p>The ideas presented in the paper may also be challenged, as potential threats may
impact the internal and external validity [12] of the results showed here. For example,
a potential threat to external validity is that the case study that has been utilized, even if
it is a real-world example, does not cover all cases. For instance, our input data follows
a normal distribution, so the function we have used for calculating the sample size [19],
as well as the sampling strategy used—systematic sampling, are optimal for this case
study. We need to study the situations in which the data come in different forms. As for
internal validity, the main threat can be due to the way our approach has been
implemented so far. We have used Java/EMF in our implementation. In fact, in this paper we
have simulated the behavior of the approximate operators in Java/EMF and therefore
the performance gains we have obtained may not be comparable as if the operators had
been implemented in a model transformation language and the data had been distributed
on different computing nodes.</p>
      <p>
        There are several open issues that we plan to address next. In the first place, we
would like to provide formal and precise specifications for our approximate operators,
and integrate them in the ATL language. This would consist of extending the syntax of
ATL so that these new operators are available, and also extending the ATL execution
engine by implementing these operators. Secondly, we would like to add a new
argument to the approximate operators, namely the time we want the operator to execute
(such an approach is presented in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] in the context of databases). The idea is to choose
between this new operator or the two we have defined in this work (confidence interval
and relative error) when calling a collection operator. Also, we need to study and
develop methods for the appropriate design of AMTs. Although this will normally require
a deep knowledge on the domain and the particular transformation scenarios, there is
already a fair amount of work about the design of approximate and randomized
algorithms [34] that could be applicable in this context. Last, but not least, in this work we
have dealt with the approximation of values, i.e., numerical values stored in elements’
attributes. However, we would also like to investigate how references can be
approximated. For instance, if one element is referencing one million of different elements,
how should we decide which ones to choose for the sample, and according to which
criteria?
Acknowledgements. This work is partially funded by the European Commission under
the ICT Policy Support Programme (grant no. 317859), by Research Project
TIN201123795 and by Universidad de Ma´laga (Campus de Excelenc´ıa Internacional Andaluc´ıa
Tech).
11. Cuadrado, J.S., de Lara, J.: Streaming Model Transformations: Scenarios, Challenges and
      </p>
      <p>Initial Solutions. In: Proc. of ICMT. pp. 1–16 (2013)
12. Easterbrook, S., Singer, J., Storey, M.A., Damian, D.: Selecting Empirical Methods for
Software Engineering Research. In: Guide to Advanced Empirical Software Engineering, pp.
285–311. Springer (2008)
13. Garofalakis, M.N., Gibbons, P.B.: Approximate Query Processing: Taming the TeraBytes.</p>
      <p>In: Proc. of VLDB (2001)
14. Gogolla, M., Vallecillo, A.: Tractable Model Transformation Testing. In: Proc. of ECMFA.</p>
      <p>pp. 221–235 (2011)
15. Guerra, E.: Specification-Driven Test Generation for Model Transformations. In: Proc. of</p>
      <p>ICMT. pp. 40–55 (2012)
16. Guerra, E., de Lara, J., Wimmer, M., Kappel, G., Kusel, A., Retschitzegger, W., Scho¨nbo¨ck,
J., Schwinger, W.: Automated verification of model transformations based on visual
contracts. Autom. Softw. Eng. 20(1), 5–46 (2013)
17. Hellerstein, J.M., Haas, P.J., Wang, H.J.: Online Aggregation. In: Proc. of SIGMOD. pp.</p>
      <p>171–182 (1997)
18. Hu, Y., Sundara, S., Srinivasan, J.: Supporting Time-Constrained SQL Queries in Oracle. In:</p>
      <p>Proc. of VLDB. pp. 1207–1218 (2007)
19. Israel, G.D.: Determining Sample Size, University of Florida, Institute of Food and
Agriculture Sciences (1992)
20. Johann, S., Egyed, A.: Instant and Incremental Transformation of Models. In: Proc. of ASE.</p>
      <p>pp. 362–365 (2004)
21. Jouault, F., Allilaire, F., Be´zivin, J., Kurtev, I.: ATL: A model transformation tool. Science
of Computer Programming 72(1-2), 31–39 (2008)
22. Jouault, F., Tisi, M.: Towards Incremental Execution of ATL Transformations. In: Proc. of</p>
      <p>ICMT. pp. 123–137 (2010)
23. Kessentini, M., Sahraoui, H.A., Boukadoum, M., Benomar, O.: Search-based model
transformation by example. SoSyM 11(2), 209–226 (2012)
24. Lu´cio, L., Amrani, M., Dingel, J., Lambers, L., Salay, R., Selim, G., Syriani, E., Wimmer,</p>
      <p>M.: Model Transformation Intents and Their Properties. SoSyM pp. 1–35 (2014)
25. Noble, I.R., Gill, A.M., Bary, G.A.V.: Mcarthur’s fire-danger meters expressed as equations.</p>
      <p>Australian Journal of Ecology 5(2), 201–203 (1980)
26. Razavi, A., Kontogiannis, K.: Partial evaluation of model transformations. In: Proc. of ICSE.</p>
      <p>pp. 562–572 (2012)
27. Sheth, A., Henson, C., Sahoo, S.S.: Semantic Sensor Web. IEEE Internet Computing 12(4),
78–83 (2008)
28. Tisi, M., Perez, S.M., Choura, H.: Parallel Execution of ATL Transformation Rules. In: Proc.</p>
      <p>of MoDELS 2013. pp. 656–672 (2013)
29. Tisi, M., Perez, S.M., Jouault, F., Cabot, J.: Lazy execution of model-to-model
transformations. In: Proc. of MoDELS. pp. 32–46 (2011)
30. Vallecillo, A., Gogolla, M., Burguen˜o, L., Wimmer, M., Hamann, L.: Formal Specification
and Testing of Model Transformations. In: Proc. of SFM. pp. 399–437 (2012)
31. Varro´, D.: Model Transformation by Example. In: Proc. of MoDELS. pp. 410–424 (2006)
32. Wimmer, M., Burguen˜o, L.: Testing M2T/T2M Transformations. In: Proc. of MoDELS. pp.</p>
      <p>203–219 (2013)
33. Wimmer, M., Strommer, M., Kargl, H., Kramler, G.: Towards Model Transformation
Generation By-Example. In: Proc. of HICSS (2007)
34. Zhu, Z.A., Misailovic, S., Kelner, J.A., Rinard, M.C.: Randomized accuracy-aware program
transformations for efficient approximate computations. In: Proc. of POPL. pp. 441–454
(2012)</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Agarwal</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mozafari</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Panda</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Milner</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Madden</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stoica</surname>
          </string-name>
          , I.:
          <article-title>BlinkDB: Queries with Bounded Errors and Bounded Response Times on Very Large Data</article-title>
          .
          <source>In: Proc. of EuroSys</source>
          . pp.
          <fpage>29</fpage>
          -
          <lpage>42</lpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. Agricultural Forest Metereology Group:
          <article-title>Weather Records for the Elora Research Station</article-title>
          , Elora, Ontario, Canada: Metereological data
          <year>2013</year>
          (
          <year>2014</year>
          ), http://http://dataverse.scholarsportal.info/dvn/dv/ugardr
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Amrani</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dingel</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lambers</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          , Lu´cio, L.,
          <string-name>
            <surname>Salay</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Selim</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Syriani</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wimmer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Towards a Model Transformation Intent Catalog</article-title>
          .
          <source>In: Proc. of AMT</source>
          . pp.
          <fpage>3</fpage>
          -
          <lpage>8</lpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Amrani</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , Lu´cio, L.,
          <string-name>
            <surname>Selim</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Combemale</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dingel</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vangheluwe</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Traon</surname>
            ,
            <given-names>Y.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cordy</surname>
            ,
            <given-names>J.R.:</given-names>
          </string-name>
          <article-title>A Tridimensional Approach for Studying the Formal Verification of Model Transformations</article-title>
          .
          <source>In: Proc. of VOLT</source>
          . pp.
          <fpage>921</fpage>
          -
          <lpage>928</lpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. van Amstel,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Bosems</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Kurtev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            ,
            <surname>Pires</surname>
          </string-name>
          ,
          <string-name>
            <surname>L.F.</surname>
          </string-name>
          :
          <article-title>Performance in Model Transformations: Experiments with ATL and QVT</article-title>
          .
          <source>In: Proc. of ICMT</source>
          . pp.
          <fpage>198</fpage>
          -
          <lpage>212</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Azanza</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Batory</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          , D´ıaz,
          <string-name>
            <given-names>O.</given-names>
            ,
            <surname>Trujillo</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          :
          <article-title>Domain-specific Composition of Model Deltas</article-title>
          .
          <source>In: Proc. of ICMT</source>
          . pp.
          <fpage>16</fpage>
          -
          <lpage>30</lpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Bergmann</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <article-title>Horva´th, A´</article-title>
          ., Ra´th,
          <string-name>
            <surname>I.</surname>
          </string-name>
          , Varro´,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Balogh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Balogh</surname>
          </string-name>
          ,
          <string-name>
            <surname>Z.</surname>
          </string-name>
          ,
          <string-name>
            <surname>O¨</surname>
          </string-name>
          <article-title>kro¨s, A.: Incremental Evaluation of Model Queries over EMF Models</article-title>
          .
          <source>In: Proc. of MoDELS</source>
          . pp.
          <fpage>76</fpage>
          -
          <lpage>90</lpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8. Burguen˜o,
          <string-name>
            <given-names>L.</given-names>
            ,
            <surname>Troya</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Wimmer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Vallecillo</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          :
          <article-title>On the Concurrent Execution of Model Transformations with Linda</article-title>
          .
          <source>In: Proc. of BigMDE</source>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Combemale</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thirioux</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Baudry</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Formally Defining and Iterating Infinite Models</article-title>
          .
          <source>In: Proc. of MoDELS</source>
          . pp.
          <fpage>119</fpage>
          -
          <lpage>133</lpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Cormode</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garofalakis</surname>
            ,
            <given-names>M.N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Haas</surname>
            ,
            <given-names>P.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jermaine</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Synopses for Massive Data: Samples, Histograms</article-title>
          , Wavelets, Sketches.
          <source>Foundations and Trends in Databases 4(1-3)</source>
          ,
          <fpage>1</fpage>
          -
          <lpage>294</lpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>