<!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>Transformation Reuse: What is the Intent?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Graph</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Rick Salay Department of Computer Science, University of Toronto</institution>
          ,
          <addr-line>Toronto, Ontario</addr-line>
          ,
          <country country="CA">Canada</country>
          <addr-line>M5S 3G4</addr-line>
          ,
          <institution>Steen Zschaler Department of Informatics, King's College London</institution>
          ,
          <addr-line>London, UK, WC2R 2LS</addr-line>
          ,
          <institution>Marsha Chechik Department of Computer Science, University of Toronto</institution>
          ,
          <addr-line>Toronto, Ontario</addr-line>
          ,
          <country country="CA">Canada</country>
          <addr-line>M5S 3G4</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>The ability to reuse transformations across a range of related metamodels is highly desired for many model-driven approaches. For example, it would be useful to be able to reuse standard transformations like state-machine attening across models instantiating dierent metamodels of hierarchical state-machines, instead of having to reimplement the same fundamental algorithm just because of small syntactic (or semantic) variations. Typing typically captures the question of identifying models for which a given transformation can be successfully applied. Type compatibility between meta-models (or the related notion of sub-typing), is intended to ensure that a transformation dened over one type can be successfully executed over any model instantiating a compatible meta-model. However, compatibility mechanisms have not explicitly addressed the question of what it makes for a transformation to be successfully applied. In this paper, we argue that answering this question is central to a meaningful notion of transformation reuse and must take into account the intent of a transformation and seek to preserve it in reuse. We describe how current denitions of type compatibility fail to satisfy this criterion and propose a research agenda for addressing it.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Model transformations are complex artifacts that require careful engineering. To reduce development eort and
increase reliability, transformation reuse is an important tool for transformation developers. Consequently, there
has been a good bit of research focus on supporting transformation reuse [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        A substantial amount of work has focused on notions of model typing. Specic notions of type compatibility
such as subtyping [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] or type matching [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] have been proposed to determine if a given model M2 of type T2 (an
instance of a meta-model M M2) can be provided as an input to a given transformation F accepting models of
type T1 (instances of a meta-model M M1). In each case, type compatibility is dened by a number of syntactical
constraints at the meta-model level. For example, typically, for every meta-class c1 in M M1 there must be a
corresponding meta-class c2 in M M2 such that all attributes and associations of c1 have a corresponding match
in c2.
      </p>
      <p>Interestingly, there are small variations between the specic constraint sets proposed, but it is not clear which
of the variations works better for a given situation. We believe this is in no small part due to a lack of clarity of
what it means to successfully reuse a model transformation. Clearly, transformation reuse requires preservation
of at least some properties of the original transformation F , yet the existing literature does not discuss the goal
of transformation reuse at all.</p>
      <p>
        In this paper, we explore the meaning of successful transformation reuse and how such a denition would
inuence the requirements on our notion of type compatibility. After a brief overview of some of the key existing
work on transformation reuse and model typing in Sect. 2, in Sect. 3, we rst show through an example what
problems are caused if a clear notion of successful transformation reuse is missing. We then provide, in Sect. 4,
a tentative denition based on a notion of transformation intent [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and explore its implications. We describe
one way of constructing valid type-compatibility relations in Sect. 5. It turns out that a completely formal and
(potentially) automatable treatment is non-trivial and will require substantial further research. In Sect. 6, we
outline the principal shape of any such solution and discuss key research challenges on the way.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Existing approaches</title>
      <p>Typing has been an important aspect of model-driven engineering (MDE) from the very start. Models are
typed by meta-models which dene the set of modelling concepts available as well as their relationships and
valid combinations. More specic notions of typing have initially been introduced in relation to transformation
composition, in particular, to external composition or chaining where transformation signatures were used to
decide whether two given transformations could be composed safely, as we discuss below.</p>
      <p>
        Initial work on external composition [
        <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
        ] dened transformation signatures by two sets of metamodels: one
typing the models that the transformation consumed and another typing the models produced by the
transformation. Later research [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] found that this information is not always sucient information for safely composing
transformations. In particular, endogenous transformations transform between models of the same metamodel,
but may well address only particular elements within this metamodel. Information about the metamodel thus
becomes useless when composing a set of endogenous transformations. In addition, some endogenous
transformations may be intended to be used with a xpoint semantics (invoking them until no more changes occur),
which makes composing them even more complex. It was concluded in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] that the metamodel needs to be
augmented with the particular subset of model elements that are used or aected by the transformation. In parallel
to this work, [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] also identied a need to include information about the technological space [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] of models (e.g.,
MOF or XML) into the transformation signature. Alternatively, some of this information has been encapsulated
by wrapping models as components themselves, providing interfaces for accessing and manipulating the model
independently of its technical representation [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>Typing of models has also been studied in relation to transformation reuse . Here, sub-typing or type matching
are used to determine if a given model M1 (an instance of a meta-model M M1) can be provided as an input to
a given transformation T (typed over a meta-model M M2). Two notable approaches have been studied in this
area: model (sub-)typing and model concepts.</p>
      <p>
        In his thesis and in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], Steel introduces the notion of model typing to specify generic types for model
transformations. In this work, a model type is just another meta-model, without any distinguishing properties.
Steel then provides a set of type-checking rules dening a ‘matching’ relationship [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] between meta-models. If
a meta-model M M1 matches a meta-model M M2, Steel allows instances of M M1 to be passed as parameters to
transformations expecting instances of M M2. The matches relationship is dened through a number of syntactic
rules over meta-models.
      </p>
      <p>
        At a later stage, [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] identied some problems with Steel’s matching rules, proposing a slightly more restrictive
set of rules instead as well as dening a number of variants of the strict matching relationship, called isomorphic
model subtyping : non-isomorphic sub-typing allows the denition of an explicit model adaptation function to
translate instances of M M1 into instances of M M2. Of particular interest are bi-directional model adaptations.
The paper further distinguishes (on a separate dimension) total and partial sub-typing, where partial sub-typing
establishes a sub-typing relationship between two meta-models only for the context of specic transformations
which are to be applied to the models. This allows matching with a generalized model type that is constructed
by keeping only those elements that are explicitly required for the execution of a model-management operation
or for access to a particular feature. Partial sub-typing is realized by providing an eective model type which is
a sub-set of the elements of a given model type and, thus, a super-type of that type. The denition of partial
sub-typing is somewhat vague in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. In particular, no conditions are given constraining what can or cannot be
generalized in an eective model type. Sen et al. [
        <xref ref-type="bibr" rid="ref12 ref13">12, 13</xref>
        ] present an algorithm for deriving eective model types
through static analysis of a model transformation’s code. However, it is not clear what level of transformation
reuse is supported by partial sub-typing base on their algorithm.
      </p>
      <p>
        De Lara et al. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] and Rose et al. [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] have proposed an alternative to model typing, which they call model
concepts, consisting of the following:
1. Explicit binding model. In model typing [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], mapping a meta-model to a model type is automatic and
based on name identity. Model concepts require an explicit binding model to express which elements in
a meta-model match which elements in a model concept. This is similar to the notions of non-isomorphic
sub-typing and adaptation transformations from [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], but provides a more constructive description of the
rules governing such an adaptation.
2. Usage decorations / OCL constraints. [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] allows elements in model concepts to be decorated as either
‘create’ or ‘delete’ to indicate that a model-management operation will create or delete instances of this
model element. Usage decorations imply constraints on valid bindings to ensure that multiplicity constraints
are not violated. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] does not propose usage decorations, but instead allows model concepts to be annotated
with arbitrary OCL constraints. It remains somewhat unclear whether these constraints could be used to
address the same problem.
      </p>
      <p>
        These ideas are usually discussed only for the input models of a model-management operation, but Cuadrado
et al. [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] also briey discuss an extension to input and output models. Cuadrado et al. [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] present a simple
component model for chaining-based reuse of model transformations based on the notion of model concepts.
      </p>
      <p>
        In previous work [
        <xref ref-type="bibr" rid="ref18">17</xref>
        ], one of the authors has argued that typing of model transformations should explicitly
include the syntactic constraints that a transformation expects to hold rather than providing a xed meta-model.
      </p>
      <p>
        Kuehne [
        <xref ref-type="bibr" rid="ref19 ref20">18, 19</xref>
        ] gives a theoretical discussion of sub-typinglike relationships between meta-models. Most
importantly, he notes that the validity of such relationships is often relative to context and introduces two
notions to describe such contexts: (i) observers (called referees in [
        <xref ref-type="bibr" rid="ref20">19</xref>
        ]) which provide syntactic rules, and
(ii) contexts which dene more general semantic conditions. The exact construction, in particular, of contexts,
is left somewhat open by this work.
      </p>
      <p>To summarize, multiple model type compatibility relations have been proposed, diering in the degree of
automation (model sub-typing uses automated type inference, while concepts require explicit bindings to be
provided) and in the specic constraints they impose to distinguish compatible types from incompatible ones.
However, no attempts have been made to understand whether any of the approaches are valid and which ones
are better than others.
3</p>
    </sec>
    <sec id="sec-3">
      <title>The validity of type compatibility</title>
      <p>In this section, we attempt to develop criteria for checking the validity of a type compatibility relation by studying
its impact on transformation reuse. We begin by assuming that the purpose of a type compatibility relation is
reuse, i.e., types T1 and T2 are type compatible i all transformations designed for T1 are reusable for T2. We
formalize this below:</p>
      <sec id="sec-3-1">
        <title>Denition 1 (Type compatibility relation)</title>
        <p>over T consists of a pair hRS ; FS i, where</p>
        <sec id="sec-3-1-1">
          <title>Given a set of model types T , a type compatibility relation S</title>
          <p>RS
T</p>
        </sec>
        <sec id="sec-3-1-2">
          <title>T is the relation that identies compatible types;</title>
          <p>FS = f (T2;T1)jT1; T2 2 T and RS (T2; T1)g is a family of higher order transformations where for every
transformation F : T1 ! T 0, we get transformation (T2;T1)(F ) : T2 ! T 0.</p>
        </sec>
        <sec id="sec-3-1-3">
          <title>If RS (T2; T1), we say that type T2 is compatible with type T1. We write</title>
          <p>(T2;T1) as
when the context is clear.</p>
          <p>In this denition, the higher order transformations provide the reuse mechanism that comes with type
compatibility. In this paper, we assume only aects the source model type of a transformation and leave the
more general case where it can aect both source and target types for future work. Note that in order to reuse
any transformation F : T1 ! T 0 for models typed over T2, we must rst transform it because transformations
* transitions</p>
          <p>nodes *
out</p>
          <p>Transition
* label : String</p>
          <p>Node
name : String 1</p>
          <p>src
in
*
1</p>
          <p>tgt</p>
          <p>
            Example 1. Assume that the model type LGraph of labelled graphs is given as compatible with type LTS of
labeled transition systems by some compatibility relation S. The two types can be seen in Fig. 1. These types
are deemed compatible by the current state-of-the-art approaches:
1. Model Sub-typing [
            <xref ref-type="bibr" rid="ref2">2</xref>
            ]. There is no isomorphic sub-typing relationship between these two model types in
either direction. However, a simple bi-directional renaming model adapter can be provided (mapping LTS to
Graph, State to Node, Transition to Edge, and label to name, respectively). As a result, a non-isomorphic
sub-typing relationship could be established in either direction.
2. Model concepts [
            <xref ref-type="bibr" rid="ref3">3</xref>
            ]. Concepts are bound by providing a morphism between the meta-model M M2 and
the concept M M1. Given that LTS and LGraph are structurally identical, such a morphism can easily be
established and is identical to the model adapter provided for the model sub-typing case.
          </p>
          <p>Since S gives us the reuse transformation , we can convert any transformation F : LTS ! T 0 into (F ) :
LGraph ! T 0.</p>
          <p>Assume that we are given the LTS transformation camelCase that changes all transition labels to camel
case (i.e., every word starts with capital letter). Aiming to apply this transformation to labeled graphs, we get
(camelCase) : LGraph ! LTS. Yet this is not what we wanted: camelCase was an endogeneous transformation
that manipulates LTSs while (camelCase) is an exogeneous transformation that converts labeled graphs into
LTSs! Thus, clearly applying to a transformation should preserve its endogeneous/exogeneous character . We
formalize this observation as a rule:
Rule 1 (Character preservation) Let types T1; T2 2 T where RS (T2; T1) holds be given. RS is character
preserving i for any transformation f : T1 ! T 0
(exo) If T 0 6= T1 then (f ) has type T2 ! T 0.
(endo1)If T 0 = T1 then (f ) has type T2 ! T2.</p>
          <p>(endo2) If T 0 = T2 then (f ) is undened.</p>
          <p>By adjusting the denition of to conform to Rule 1, the problem with camelCase is xed since we now get
(camelCase) : LGraph ! LGraph as the result of transformation reuse.</p>
          <p>Example 2. Now consider a transformation minimize : LTS ! LTS that maps an LTS to one that is
behaviourally equivalent to it but has a minimum number of states. Reusing this transformation as (minimize) :
LGraph ! LGraph for labelled graphs yields a problem. While minimize has a well-dened intent for LTSs
to minimize size while maintaining behavioural equivalence this intent is not preserved by (minimize).
In fact, there is no corresponding transformation for LGraph that has this intent because labeled graphs have
no semantics! Although we can technically reuse minimize, the resulting transformation is meaningless. So,
clearly, applying to a transformation should preserve its intent.</p>
          <p>We explore the implications of this observation in the next section.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Preservation of transformation intent</title>
      <p>
        In this section, we explore what it means to preserve transformation intent. In previous work [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], we cataloged
some general transformation intents such as Refactoring, Translation, Analysis, etc. that seemed to recur in
MDE practice and characterized each intent using a set of mandatory properties . That is, every transformation
with a given intent must satisfy the corresponding mandatory properties. Since these properties must be applied
to many dierent transformations, they can be abstract and require concretization to be checkable for a specic
transformation. In the current paper, our objective is not to dene general intents but instead to capture the
intent of a particular transformation that we wish to reuse. Thus, we approach intent from a dierent perspective,
but as we shall see, we reach similar conclusions.
4.1
      </p>
      <p>Intent as transformation properties
A given transformation F can be characterized by a set of properties a specication it satises that captures
its important characteristics. Given such properties, a natural way to determine what makes a transformation
F -like is that it satises the properties that characterize F . Thus, in order to support transformation reuse,
we require our higher order transformation to preserve such characterizing properties. We formalize this rule
as follows:
Rule 2 (Intent preservation (rst attempt)) A type compatibility relation S is valid i for all T2; T1 2 T ,
if RS (T2; T1) then for all transformations f : T1 ! T 0 characterized by some property Pf , the condition Pf ( (f ))
holds.</p>
      <p>Unfortunately, this rule has a problem. A characterizing property like Pf is typically too specic to a given
type T1 and thus cannot be checked for transformations on other types. We illustrate this using a more detailed
analysis of transformation properties.</p>
      <p>Although some holistic properties such as injectivity or surjectivity may in part characterize a transformation,
most transformation-specic characteristics focus on the input / output behaviour. Assume that we are interested
in transformations of the form f : T1 ! T 0. The general form of a characterizing I/O property is</p>
      <p>P (f ) := 8x : T1 C(x; f (x));
where predicate C expresses a constraint that must hold between the input and output models.</p>
      <p>For example, the transformation minimize discussed above, is characterized by the property
PLmTiSn(f ) := 8x : LTS BisimLTS(x; f (x)) ^ (8x0 : LTS BisimLTS(x0; f (x)) ) jx0j
jf (x)j))
which checks that f (x) is behaviourally equivalent to x using an LTS bisimilarity relation and then ensures that
there is no other LTS behaviourally equivalent to x that is smaller than f (x).</p>
      <p>It is clear that PLmTiSn(minimize) holds, but when we attempt to check PLmTiSn( (minimize)), we run into a
problem. Since this property is quantied over models of type LTS, it cannot be directly applied to a transformation
over models of type LGraph. To make it work we need to translate PLmTiSn to some property PLmGirnaph that represents
the same intent for labeled graphs. However, as we observed above, no such property exists.</p>
      <p>Now assume that our compatibility relation also says that state machine models ( SM) are compatible with
LTSs using higher-order transformation (SM;LTS). In this case, the transformation minimize can be meaningfully
reused for state machines but we must make sure that (SM;LTS) produces a transformation with the correct intent.
We can dene the characterizing property that represents the intent of minimize for state machines as follows:
PSmMin(f ) := 8x : SM BisimSM(x; f (x)) ^ (8x0 : SM BisimSM(x0; f (x)) ) jx0j
jf (x)j))
Thus, for (SM;LTS) to preserve intent in this instance, we require that PSmMin( (SM;LTS)(minimize)) holds.
4.2</p>
      <p>
        Intent as families of properties
The above discussion showed that specic characterizing properties are not sucient to dene preservation of
intent. Instead, we need something more general: a family of properties that realize the given intent for each
type of a model. In [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], we suggested that such a family can be characterized using a parameterized property that
can be concretized by lling in the parameters. For example, we might characterize the model minimization
intent as the parameterized property
      </p>
      <p>PhmTiin(f ) := 8x : T BisimT (x; f (x)) ^ (8x0 : T BisimT (x0; f (x)) ) jx0j</p>
      <p>Note that this rule only requires PIT2 ( (f )) to hold when PIT2 exists to take into account cases such as PhmTiin
that does not exist for T = LGraph. This can be interpreted either as saying that the value of (f ) is irrelevant
when PIT2 does not exist, or that (f ) is undened when it does not exist (i.e., is partial). In general, the
latter interpretation seems more informative but may be harder to achieve in practice. That is, if is a partial
transformation then an undened output can be used to indicate when a transformation cannot be reused.
5</p>
      <p>
        Towards an approach for dening a valid compatibility relation
As discussed in Sect. 3, one way to dene [
        <xref ref-type="bibr" rid="ref22">20</xref>
        ] is to assume that the compatibility relation between T2 and
T1 induces a transformation get(T2;T1) : T2 ! T1 (or just get when the context is clear) that converts a model
of type T2 into a corresponding model of type T1. The use of conversion (and coercion) functions is a standard
technique of type theories [
        <xref ref-type="bibr" rid="ref23">21</xref>
        ] used in programming and we adopt them for model type compatibility. Given
this conversion transformation, we can dene (f )(x) := f (get(x)) for the exogenous case.
      </p>
      <p>
        To address the endogenous case (endo1), we dene a bidirectional transformation [
        <xref ref-type="bibr" rid="ref24">22</xref>
        ] for conversion between
T1 and T2. Following the lenses approach to bidirectional transformations [
        <xref ref-type="bibr" rid="ref25">23</xref>
        ], we dene this as a pair of
transformation hget; puti, where get is as dened as above and put has the type T1 T2 ! T2. Bidirectional
transformations are a generalized approach to the view-update problem a T2 model is rst viewed as a
T1 model using get, then this T1 mode is updated manually or by a transformation and nally put reects this
update back in the original T2 model which it takes as one of its inputs. Thus, for the endogenous case, we dene
(f )(x) := put(x; f (get(x))).
      </p>
      <p>We now give the denition for a compatibility relation based on conversion transformations.
Denition 2 (Conversion-based type compatibility relation) A compatibility relation hRS ; FS i is
conversion based if it provides a family of bidirectional conversion transformations fhget(T2;T1) : T2 ! T1; put(T2;T1) :
T1 T2 ! T2ijT1; T2 2 T and RS (T2; T1)g, and for (T2;T1) 2 FS and transformation f : T1 ! T 0, the following
hold:
(T2;T1)(f )(x) = put(x; f (get(x))), if T 0 = T1;
(T2;T1)(f )(x) is undened, if T 0 = T2; and
(T2;T1)(f )(x) = f (get(x)), otherwise.</p>
      <p>For example, assume that we have a conversion-based compatibility relation Sbi that is limited to bijective
conversion transformations and we dene the bidirectional transformation between LGraph and LTS as follows:
get : LGraph ! LTS converts a labeled graph into an LTS by changing nodes into states, edges into
transitions and names into labels.
put : LGraph LTS ! LGraph converts an LTS into a labeled graph by changing states into nodes,
transitions into edges and labels into names.</p>
      <p>Note that put ignores its rst input argument (i.e., the original labeled graph) since both it and
bijective transformations and thus the original model is not needed to construct the update.</p>
      <p>At this point, we can ask whether dened as in Defn. 2 preserves the intent of particular LTS transformations.
We have seen that the transformation minimize has no corresponding transformation for labeled graphs, so the
action of on this transformation is irrelevant. Unfortunately, cannot tell us that this is not a case of good
reuse by being undened on this input since the conversion transformations get and put are total, and so
total as well. This points to one weakness of Sbi the conversion transformations will be total for any pair of
types dened as compatible by Sbi because they are restricted to being bijective and so we cannot rely on the
partiality of to indicate when a transformation cannot be reused.</p>
      <p>Now consider the transformation camelCase. It can be characterized by the following parameterized property:
get are simple
is</p>
      <p>PhcTc i(f ) := 8x : T CamelizehT i(x; f (x))
where CamelizehT i(x; y) holds when model x is isomorphic to model y and for each pair he; e0i of elements
mapped by the isomorphism, the attribute of e0 representing its name (if one exists) is the camel case version
of the corresponding attribute of e. It is easy to see that PcLcTS(camelCase) holds, as we have described it and
that PcLcGraph( (camelCase)) also holds. Thus, the intent of camelCase is preserved for this instance, but is it
preserved for any pair of compatible types in Sbi?</p>
      <p>The characteristic of the transformations get and put that allow this preservation is the fact that they are
bijective but also that named elements are always mapped to named elements, i.e., the meta-attribute of an
element being named is preserved by the conversion transformations. Thus, Sbi as currently dened is not
guaranteed to preserve the intent of camelCase. However, it can be xed to do so by adding the constraint that
conversion transformations must preserve named elements.</p>
      <p>In the above example, the intent of the conversion transformations in the xed Sbi is characterized by the
property of being bijective and preserving named elements. In the general case, since is formed as the
composition of conversion transformations with the reused transformation, the problem of coming up with a good
conversion-based compatibility relation can be expressed in terms of the composition of transformation intents.
That is, we want to determine the intents of get and put so that when we compose these with a transformation f
as in Defn. 2, the intent of the result is the same as the intent of f . It should be clear that we can achieve this in
specic cases, e.g., we can determine the required intent of get and put to guarantee the intent preservation for
camelCase. It is less clear whether we can ensure the preservation of intent for a broad class of transformations.
We leave this investigation to future work.
6</p>
    </sec>
    <sec id="sec-5">
      <title>Research Agenda</title>
      <p>From our analysis in the previous sections, we have seen that intent preservation should be the driving factor
behind deciding whether a type compatibility relationship is valid. It would thus be highly benecial to provide
a simple and easily checkable (ideally, automatically) criterion of whether two model types are type-compatible
to each other. Below, we explore what is required to accomplish this.</p>
      <p>In Sect. 5, we have discussed how could be realized as a conversion transformation composed with the
transformation to be reused. We have briey discussed that for this to work, we would need to reason about
the composition of transformation intents. How to perform such a reasoning remains a research challenge. Two
things will need to be understood to this end:
1. We require a precise technique for describing transformation intents. In Sect. 4.2, we made a rst attempt at
describing transformation intent as a family of properties specied by a parameterized formula. It remains
to be understood how to correctly instantiate such a a parameterized formula, e.g., what are the constraints
for instantiating BisimT ? How can these constraints be eectively expressed and veried?
2. We require a calculus for deriving transformation intents from the composition of other transformation
intents as induced by the composition of the transformations themselves. Such a calculus can then be
employed for implementing the reasoning employed in Sect. 5.</p>
      <p>
        There is another issue here as well: It seems likely that no type-compatibility relation S could preserve
every intent of every transformation T1 ! T 0. Moreover, there will be weaker type-compatibility relations that
only preserve a certain subset of transformation intents, but allow more types to be considered compatible.
Consequently, we argue with Kuehne [
        <xref ref-type="bibr" rid="ref20">19</xref>
        ] that type-compatibility needs to be considered as a contextual notion
type compatibility with respect to a class of intents (perhaps written as SI for a given class I of transformation
intents). For example, we may consider LGraph and LTS compatible for intents that only consider the syntactical
structure of a model, but not for intents that refer to a model’s semantics. If this is the case, then a substantial
amount of research is required to
1. Identify suitable classes of intents;
      </p>
      <sec id="sec-5-1">
        <title>2. Identify suitable type-compatibility relations to go with each class of intents;</title>
        <p>3. Understand whether there are classes of transformation intents for which no suitable type-compatibility
relation exists; and
4. Understand the relationships between these intent classes. For example, is there a lattice of increasingly
more constrained notions of type compatibility that provide increasing assurances while decreasing exibility
of reuse? If so, where is the sweet spot in this tradeo?
Note that, in particular, the goal cannot be to require transformation reusers to provide a full proof at the point
of reuse that the type-compatibility relation they chose maintains the specic intent of the transformation to be
reused. Instead, they should be able to identify the class of transformation intent and reuse a type-compatibility
relation for which it has been previously proved that it maintains intents of that class. In this way, the hard
work of proving validity of type-compatibility relations can be reused.
7</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Conclusion</title>
      <p>
        In this paper, we aimed to assess the validity of the current proposals for model type compatibility relations [
        <xref ref-type="bibr" rid="ref18 ref2 ref3">3,
2, 17</xref>
        ] and the essence of dierences between them. In so doing, we have understood that current approaches
miss a key ingredient, namely, the intent of the transformations to be reused . While transformation intent has
been studied in other contexts [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], we have explored the potential impact of intent on transformation reuse
and our notion of type compatibility. Although we have added some more clarity to the discussion, the main
contribution of the paper is the identication of a new research agenda: we believe there is a need to explore
formal representations of transformation intent, as well as the precise relationship between transformation intent
and reuse-oriented type-compatibility relations. We invite workshop participants to join us in working on this
research agenda.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>A.</given-names>
            <surname>Kusel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Schnbck</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Wimmer</surname>
          </string-name>
          , G. Kappel,
          <string-name>
            <given-names>W.</given-names>
            <surname>Retschitzegger</surname>
          </string-name>
          , and
          <string-name>
            <given-names>W.</given-names>
            <surname>Schwinger</surname>
          </string-name>
          ,
          <article-title>Reuse in model-to-model transformation languages: are we there yet? SoSyM</article-title>
          , vol.
          <volume>14</volume>
          , no.
          <issue>2</issue>
          , pp.
          <fpage>537572</fpage>
          , May
          <year>2015</year>
          . [Online]. Available: http://dx.doi.org/10.1007/s10270-013-0343-7
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>C.</given-names>
            <surname>Guy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Combemale</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Derrien</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. R.</given-names>
            <surname>Steel</surname>
          </string-name>
          , and J.
          <string-name>
            <surname>-M. JØzØquel</surname>
          </string-name>
          , On model subtyping,
          <source>in Proc. 8th European Conf. on Modelling Foundations and Applications (ECMFA'12)</source>
          <article-title>, ser</article-title>
          . LNCS,
          <string-name>
            <given-names>A.</given-names>
            <surname>Vallecillo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.-P.</given-names>
            <surname>Tolvanen</surname>
          </string-name>
          , E. Kindler,
          <string-name>
            <given-names>H.</given-names>
            <surname>Strrle</surname>
          </string-name>
          , and D. Kolovos, Eds., vol.
          <volume>7349</volume>
          . Springer,
          <year>2012</year>
          , pp.
          <fpage>400415</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>J. de Lara</surname>
          </string-name>
          and E. Guerra,
          <article-title>From types to type requirements: Genericity for model-driven engineering</article-title>
          ,
          <source>SoSyM</source>
          , vol.
          <volume>12</volume>
          , no.
          <issue>3</issue>
          , pp.
          <fpage>453474</fpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>L.</given-names>
            <surname>Loecio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Amrani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Dingel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Lambers</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Salay</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G. M.</given-names>
            <surname>Selim</surname>
          </string-name>
          , E. Syriani, and
          <string-name>
            <given-names>M.</given-names>
            <surname>Wimmer</surname>
          </string-name>
          ,
          <article-title>Model transformation intents and their properties</article-title>
          ,
          <source>Software &amp; Systems Modeling</source>
          , pp.
          <fpage>138</fpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>R.</given-names>
            <surname>Marvie</surname>
          </string-name>
          ,
          <article-title>A transformation composition framework for model driven engineering</article-title>
          , University of Lille 1,
          <string-name>
            <surname>Tech. Rep.</surname>
          </string-name>
          ,
          <year>2004</year>
          ,
          <source>lIFL technical report 2004-n10.</source>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>A.</given-names>
            <surname>Vignaga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Jouault</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. C.</given-names>
            <surname>Bastarrica</surname>
          </string-name>
          , and H. BruneliŁre, Typing in model management,
          <source>in Proc. 2nd Int'l Conf. on Theory and Practice of Model Transformations (ICMT'09)</source>
          , ser. Lecture Notes in Computer Science, R. Paige, Ed., vol.
          <volume>5563</volume>
          . Springer-Verlag,
          <year>2009</year>
          , pp.
          <fpage>197212</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>R.</given-names>
            <surname>Chenouard</surname>
          </string-name>
          and
          <string-name>
            <given-names>F.</given-names>
            <surname>Jouault</surname>
          </string-name>
          ,
          <article-title>Automatically discovering hidden transformation chaining constraints</article-title>
          ,
          <source>in Proc. Int'l Conf. on Model Driven Engineering Languages and Systems (MoDELS'09)</source>
          <article-title>, ser</article-title>
          . LNCS,
          <string-name>
            <given-names>A.</given-names>
            <surname>Schrr</surname>
          </string-name>
          and
          <string-name>
            <given-names>B.</given-names>
            <surname>Selic</surname>
          </string-name>
          , Eds., vol.
          <volume>5795</volume>
          . Springer,
          <year>2009</year>
          , pp.
          <fpage>92106</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>B.</given-names>
            <surname>Vanhoo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Ayed</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. V.</given-names>
            <surname>Baelen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Joosen</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Berbers</surname>
          </string-name>
          ,
          <article-title>UniTI: A unied transformation infrastructure</article-title>
          ,
          <source>in Proc. 10th Int'l Conf. Model Driven Engineering Languages and Systems (MoDELS'07)</source>
          , ser. Lecture Notes in Computer Science, G. Engels,
          <string-name>
            <given-names>B.</given-names>
            <surname>Opdyke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. C.</given-names>
            <surname>Schmidt</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Weil</surname>
          </string-name>
          , Eds., vol.
          <volume>4735</volume>
          . Springer,
          <year>2007</year>
          , pp.
          <fpage>3145</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>I.</given-names>
            <surname>Kurtev</surname>
          </string-name>
          , J. BØzivin, and
          <string-name>
            <given-names>M.</given-names>
            <surname>Aksit</surname>
          </string-name>
          ,
          <article-title>Technological spaces: An initial appraisal</article-title>
          , in CoopIS, DOA'2002
          <string-name>
            <given-names>Federated</given-names>
            <surname>Conferences</surname>
          </string-name>
          , Industrial track ,
          <year>2002</year>
          . [Online]. Available: http://www.sciences.univ-nantes.fr/lina/ atl/www/papers/PositionPaperKurtev.pdf
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>J.</given-names>
            <surname>Steel</surname>
          </string-name>
          and
          <string-name>
            <surname>J.-M. JØzØquel</surname>
          </string-name>
          , On model typing,
          <source>SoSyM</source>
          , vol.
          <volume>6</volume>
          , no.
          <issue>4</issue>
          , pp.
          <fpage>401413</fpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>K. B. Bruce</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Petersen</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Fiech</surname>
          </string-name>
          ,
          <article-title>Subtyping is not a good match for object-oriented languages</article-title>
          ,
          <source>in Proc. 11th European Conf. on Object-Oriented Programming (ECOOP'97)</source>
          <article-title>, ser</article-title>
          . LNCS, M. Ak‡it and S. Matsuoka, Eds., vol.
          <volume>1241</volume>
          . Springer,
          <year>1997</year>
          , pp.
          <fpage>104127</fpage>
          . [Online]. Available: http://dx.doi.org/10.1007/BFb0053376
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>S.</given-names>
            <surname>Sen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Moha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Baudry</surname>
          </string-name>
          , and J.
          <string-name>
            <surname>-M. JØzØquel</surname>
          </string-name>
          ,
          <article-title>Meta-model pruning</article-title>
          ,
          <source>in Proc. Int'l Conf. on Model Driven Engineering Languages and Systems (MoDELS'09)</source>
          <article-title>, ser</article-title>
          . LNCS,
          <string-name>
            <given-names>A.</given-names>
            <surname>Schrr</surname>
          </string-name>
          and
          <string-name>
            <given-names>B.</given-names>
            <surname>Selic</surname>
          </string-name>
          , Eds., vol.
          <volume>5795</volume>
          . Springer,
          <year>2009</year>
          . [Online]. Available: http://www.irisa.fr/triskell/publis/2009/Sen09b.pdf
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>S.</given-names>
            <surname>Sen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Moha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>MahØ</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Barais</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Baudry</surname>
          </string-name>
          , and J.
          <string-name>
            <surname>-M. JØzØquel</surname>
          </string-name>
          , Reusable model transformations,
          <source>SoSyM</source>
          , vol.
          <volume>11</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>115</fpage>
          ,
          <year>2010</year>
          . [Online]. Available: http://dx.doi.org/10.1007/s10270-010-0181-9
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>L.</given-names>
            <surname>Rose</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Guerra</surname>
          </string-name>
          , J. de Lara,
          <string-name>
            <given-names>A.</given-names>
            <surname>Etien</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Kolovos</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Paige</surname>
          </string-name>
          ,
          <article-title>Genericity for model management operations</article-title>
          ,
          <source>SoSyM</source>
          ,
          <year>2011</year>
          , published
          <article-title>on-line rst</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>J. S.</given-names>
            <surname>Cuadrado</surname>
          </string-name>
          , E. Guerra, and J. de Lara,
          <article-title>Flexible model-to-model transformation templates: An application to ATL</article-title>
          ,
          <source>Journal of Object Technology</source>
          , vol.
          <volume>11</volume>
          , no.
          <issue>2</issue>
          , pp.
          <volume>4</volume>
          :
          <issue>128</issue>
          ,
          <year>2012</year>
          . [Online]. Available: http://dx.doi.org/10.5381/jot.
          <year>2012</year>
          .
          <volume>11</volume>
          .2.a4
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16] ,
          <article-title>A component model for model transformations</article-title>
          ,
          <volume>10421060</volume>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          <string-name>
            <given-names>IEEE</given-names>
            <surname>Trans. Software Eng</surname>
          </string-name>
          . , vol.
          <volume>40</volume>
          , no.
          <issue>11</issue>
          , pp.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>S.</given-names>
            <surname>Zschaler</surname>
          </string-name>
          ,
          <article-title>Towards constraint-based model types: A generalised formal foundation for model genericity</article-title>
          ,
          <source>in Proc. 2nd Workshop on View-Based, Aspect-Oriented and Orthographic Software Modelling (VAO'14)</source>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Atkinson</surname>
          </string-name>
          , E. Burger,
          <string-name>
            <given-names>T.</given-names>
            <surname>Goldschmidt</surname>
          </string-name>
          , and R. Reussner, Eds.,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>T.</given-names>
            <surname>Khne</surname>
          </string-name>
          ,
          <article-title>An observer-based notion of model inheritance</article-title>
          ,
          <source>in Proc. Int'l Conf. on Model Driven Engineering Languages and Systems (MoDELS'10)</source>
          <article-title>, ser</article-title>
          . LNCS,
          <string-name>
            <given-names>D.</given-names>
            <surname>Petriu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Rouquette</surname>
          </string-name>
          , and . Haugen, Eds., vol.
          <volume>6394</volume>
          . Springer,
          <year>2010</year>
          , pp.
          <fpage>3145</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [19] ,
          <article-title>On model compatibility with referees and contexts</article-title>
          ,
          <volume>475488</volume>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          <source>Software &amp; Systems Modeling</source>
          , vol.
          <volume>12</volume>
          , no.
          <issue>3</issue>
          , pp.
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [20]
          <string-name>
            <surname>J. de Lara</surname>
          </string-name>
          and E. Guerra,
          <article-title>Towards the exible reuse of model transformations: A formal approach based on graph transformation</article-title>
          ,
          <source>Journal of Logical and Algebraic Methods in Programming</source>
          , vol.
          <volume>83</volume>
          , no.
          <issue>56</issue>
          , pp.
          <fpage>427458</fpage>
          ,
          <year>2014</year>
          ,
          <source>24th Nordic Workshop on Programming Theory (NWPT</source>
          <year>2012</year>
          ). [Online]. Available: http://dx.doi.org/10.1016/j.jlamp.
          <year>2014</year>
          .
          <volume>08</volume>
          .005
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Luo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Soloviev</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Xuea</surname>
          </string-name>
          ,
          <article-title>Coercive subtyping: Theory and implementation</article-title>
          ,
          <source>Information and Computation</source>
          , vol.
          <volume>223</volume>
          , pp.
          <year>1842</year>
          ,
          <year>2013</year>
          . [Online]. Available: http://dx.doi.org/10.1016/j.ic.
          <year>2012</year>
          .
          <volume>10</volume>
          .020
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Hu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Schrr</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Stevens</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J. F.</given-names>
            <surname>Terwilliger</surname>
          </string-name>
          ,
          <article-title>Bidirectional transformation" bx"(dagstuhl seminar 11031)</article-title>
          .
          <source>Dagstuhl Reports</source>
          , vol.
          <volume>1</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>4267</fpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>J. N.</given-names>
            <surname>Foster</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. B.</given-names>
            <surname>Greenwald</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. T.</given-names>
            <surname>Moore</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. C.</given-names>
            <surname>Pierce</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Schmitt</surname>
          </string-name>
          ,
          <article-title>Combinators for bi-directional tree transformations: a linguistic approach to the view update problem</article-title>
          ,
          <source>ACM SIGPLAN Notices</source>
          , vol.
          <volume>40</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>233246</fpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>A.</given-names>
            <surname>Schrr</surname>
          </string-name>
          and
          <string-name>
            <given-names>B.</given-names>
            <surname>Selic</surname>
          </string-name>
          , Eds.,
          <source>Proc. Int'l Conf. on Model Driven Engineering Languages and Systems (MoDELS'09)</source>
          <article-title>, ser</article-title>
          .
          <source>LNCS</source>
          , vol.
          <volume>5795</volume>
          . Springer,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>