<!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>The Conformance Relation Challenge: Building Flexible Modelling Frameworks</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Nicolas Hili</string-name>
          <email>hili@cs.queensu.ca</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jean-Sebastien Sottet</string-name>
          <email>jean-sebastien.sottet@list.lu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Luxembourg Institute of Science and Technology</institution>
          ,
          <addr-line>5 avenue des Hauts Fourneaux, Esch/Alzette</addr-line>
          ,
          <country country="LU">Luxembourg</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>School of Computing, Queen's University</institution>
          ,
          <addr-line>Kingston, Ontario</addr-line>
          ,
          <country country="CA">Canada</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>-Recent works in Model-Driven Engineering (MDE) to answer the relevant questions about when and what we advocate the need for more flexibility in modelling environments need to relax. Such questions are left out in existing flexible by relaxing the conformance relation between a model and its modelling tools, so the attention is drawn to the graphical tmheetacrmeaotdieoln. Mofotshteocfotnhcerceuterrseynnttawxo,rlkeasvoinngfleoxuitbiimlitpyoorntalyntfoccounssiodn- aspect and collaborative features. It requires building a view erations about the development of the abstract syntax. Different on the different dimensions that flexibility could comprise. approaches to relaxing the conformance relation between a model This paper is structured as follows: Past efforts for introand a metamodel exist, but no one has so far endeavoured to ducing flexibility into modeling frameworks are detailed in build a unified vision of the different dimensions that flexibility Section II; Section III is an attempt of defining a view of cvoieuwldocfoflmepxirbisilei.tyThinisMpaDpEe,r fioscaunsinatgteomnptthteocdoenfifonremsuanchcearuelnaitfiioend flexibility focusing on the conformance relation problem; With problem. respect to these dimensions, we have compared some existing approaches relaxing the conformance with the two reference I. INTRODUCTION implementations [6], [7] in Section V; Section VI concludes the paper.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The development of Domain Specific Modeling Languages
(DSMLs) traditionally follows a top-down approach where
both abstract and concrete syntaxes are respectively formulated II. BACKGROUND
and sketched, before user models can be created [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. However, A. Approaches to Relaxing the Model Conformance Relation
in some contexts (early insights, problem discovery, evolution, Traditionally, Model-Driven Engineering (MDE) is
promotetc.), such rigid approaches are no longer tenable. In order to ing the use of models that conform to a given and well
give enough freedom to the modeler, models should no longer defined metamodel. The conformance relation then has to be
be limited to a predefined structure. strictly enforced in order to exploit the models correctly [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
      <p>
        Recent works are promoting the need of bringing flexibility However, in certain situations e.g., early exploratory, the strict
into modelling frameworks and tools. However, the semantics conformance relation is not always desired and has to be
of “flexibility” remain fuzzy, and flexible tools address it in a relaxed.
variety of forms and degrees. It goes beyond pure tooling con- Several solutions have been proposed to relax the
concerns and affects different aspects of the modelling language: formance relation. The approaches of [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] propose to
syntaxes, semantics, pragmatics, and usage. For instance, decouple the metamodel and model conception/creation and
concrete syntax flexibility is of importance but it is widely evolution. More precisely, in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] the authors decouple the
addressed. We believe the conformance relaxation is a complex two functions of a metamodel regarding a model: it has a
issue and largely undervalued compared to existing work in templating function (for instantiation) and its typing function.
the literature focusing on features such as collaboration or In [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], the objective is to allow the model to evolve without
sketching diagramming whiteboards, for instance see [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]–[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. considering the problem of conformance. It uses an
interThus, we focus in this article on the conformance relation mediary representation called GIMM [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], which is a generic
problem, based on our previous works [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. representation (domain agnostic) in which every model can be
      </p>
      <p>
        To our knowledge, no one has so far built such a unified expressed. Then, metamodel could be updated to ensure that
view, leaving users and developers who want to choose, conformance is correct.
compare, or evaluate flexible modelling tools that fit their The way of relaxing the conformance relation is explored
needs. This paper presents a preliminary attempt to structure in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. The relaxed models are expressed in a graphical
such a view of flexibility. We hope that this view can be used language where constraints can solely be specified by the
as a guideline for users, developers, and toolsmiths who want graphical tool. In this work, the authors proposed a solution
to choose or build flexible modelling tools and frameworks. to tighten the conformance relation: identifying inconsistencies
      </p>
      <p>
        Relaxing the conformance relation is not enough and has to and applying repairing algorithms.
be balanced with the need of enforcing validation when the In [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], the authors addressed the notion of flexibility
modelling language is stabilized. Therefore, it is important through type polymorphism. They allow a model to be
conform to multiple types, or metamodels. It allows the models
to be reused in different contexts, e.g., different interfacing
DSLs, by modelling different tools.
      </p>
      <p>
        Other approaches address specific issues such as model
evolution or problem discovery. Approaches for model/metamodel
co-evolution [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]–[
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] help to withstand metamodel evolution
and to automatically or semi-automatically adapt models.
      </p>
      <p>These techniques usually rely on the identification of some
transformation patterns: creation of new concepts, deletion of
existing concepts, addition to some attributes, etc.</p>
      <p>
        Bottom-up metamodeling [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] is another approach which
consists in inferring what the metamodel should be, regarding
a set of existing models. It allows for the creation of a model
independent of the metamodel definition. By analogy, we
can compare this approach with NoSQL databases for which
schemas do not have to be defined.
      </p>
    </sec>
    <sec id="sec-2">
      <title>B. Emerging Frameworks and Technologies for Flexibility</title>
      <p>Some recent research efforts have brought flexibility into
modelling frameworks, either by relying on and extending
existing modelling languages (such as Ecore), or by using new
technologies and languages.</p>
      <p>
        Among them, some endeavoured to bring capabilities of
Eclipse Modeling Framework (EMF) [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] into web-based
environments. Some attempts are direct ports of EMF into
Javascript [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] using the EMF prototypes. Other interesting
frameworks include Ecore.js [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ], which is developed in
JavaScript and available through NodeJS, and EMF-Rest [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ],
[
        <xref ref-type="bibr" rid="ref21">21</xref>
        ], which intends to bring EMF capabilities through a REST
API.
      </p>
      <p>
        The muddle approach [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ], based on Epsilon [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], proposes
to use an intermediate representation (called Muddle) of Ecore
models in order to work on some uncertainty. It allows
working with models (e.g., using model to model transformation)
that partially conform to a given metamodel.
      </p>
      <p>
        Due to its lightweight notation, JavaScript Object Notation
(JSON) is used in MDE over XML for defining models
and metamodels. Moddle [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] is a language for designing
models using JavaScript and JSON. It was developed for
BPMN.io [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ]. Metamodels are defined dynamically, however,
models cannot be created without defining the metamodel first.
Besides, models cannot be validated and Moddle provides a
limited model coverage.
      </p>
      <p>
        MoDiGen [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ] uses JSON to address scalability.
Metamodels and models are defined using JSON. However, no
implementation appears to exist as no programming language
is mentioned. Besides, there is no mention about how models
are concretely “instantiated” from the metamodel definition in
JSON.
      </p>
      <sec id="sec-2-1">
        <title>III. DIMENSIONS OF FLEXIBILITY</title>
        <p>
          In our previous work [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ], we addressed the flexibility
according to two orthogonal and complementary dimensions
(see Fig. 1). To these dimensions we add the semantic
dimension related to the “ontological level” of information described
in the metamodel.
        </p>
        <p>The first dimension (Time/Phase of flexibility) is the process
view on model flexibility. It is related to the maturity and
alignment of the models/metamodels during the modelling
process. In early phases of the development, modelers are
exploring the problem scope and nature. Thus, free modelling
is favored as a way of prototyping, using sketching tools
for example, in order to increase productivity. This allows
for defining models even before any metamodel is available
up to the traditional MDE phase (where a model is said to
conform to the metamodel). In late phases of the development
process, production, strict modelling should be encouraged, as
metamodels are stabilised and the focus should be put on a
strict definition of the models conforming to the metamodels.
The intermediate point of the axis represents phases where
the progressive consolidation of models/metamodels triggers
possible problems that require a convergence of the definitions.
We have defined a reference implementation of this dimension
in Fleximeta1.</p>
        <p>The second dimension (Conformance/Granularity Level) is
the structural/object view on model flexibility. It is related to
the tuning of flexibility regarding model elements. For the first
point of the axis, the model element could have no reference
metamodel (no conformance check, no type). The model is
then fully flexible. For the second point, the model is still
flexible but is related to a metamodel element (i.e., a first
kind of typing). he third point (partially flexible) encompasses
all the constraints releases on conformance relation: it can
be set on specific elements (such as a reference cardinality,
attribute value type, etc.). The last point (full conformance)
is the classical definition of conformance. This dimension has
for reference implementation the JSMF framework2.</p>
        <p>
          The third dimension deals with the gradient of the
specificity of semantics. During the elaboration of a language
the semantics (semantic mapping, semantic domain) may not
be clearly defined first (fuzzy language semantic as defined
in [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ]). Indeed, it should be the result of discussions amongst
the language stakeholders. The level of granularity of the
semantic domain could also be more or less precise like in
ontologies [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ]. The four levels of semantics go from agnostic
models (i.e., core level ontologies) to application (or problem)
specific models. The intermediary levels depict the domain
specificity (e.g., a metamodel for modelling wireframes in
user interface design) or multi-domain (e.g., a metamodel
for covering the engineering of user interfaces). The level of
knowledge genericity (e.g., domain agnostic) expressed in the
metamodels, allows for a certain flexibility: the conformance
relation is thus relaxed by a broader domain coverage.
        </p>
        <p>
          The related work covers one or more graduations of the
dimensions. For example, GIMM [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] relies on a higher level
of semantic genericity when it is needed to be less strict (i.e.,
tolerant modelling phase). A comparison of tools dealing with
the abstract syntax flexibility is proposed in the next section.
1available at: https://github.com/nicolas-hili/FlexiMeta [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]
2source and documentation available at: https://js-mf.github.io/ [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]
Conformance
Ganularity level
        </p>
        <p>Full
conformance
Partially flexible metamodel</p>
        <p>Full flexible metamodel</p>
        <p>No metamodel
No conformance checking</p>
        <p>Exploration</p>
        <p>Domain-agnostic</p>
        <p>Multi-domains</p>
        <p>Domain-specific</p>
        <p>Application-specific</p>
      </sec>
      <sec id="sec-2-2">
        <title>Specificity of Semantics</title>
        <p>Consolidation
Production</p>
      </sec>
      <sec id="sec-2-3">
        <title>Time/Phase</title>
        <p>of flexibility
dimensions
logical implication</p>
      </sec>
      <sec id="sec-2-4">
        <title>IV. REFERENCE IMPLEMENTATIONS</title>
        <p>
          In this section we describe the two reference tools [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]
that drive this initiative. FlexiMeta and JSMF illustrate the
time/phase of flexibility and the conformance granularity axis
respectively.
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>A. FlexiMeta</title>
      <p>FlexiMeta34 is a modelling framework that promotes
creativity over a strict model conformance. It is intended to
address the problem of co-conception of models and metamodels
in an arbitrary order, i.e., without assuming one is created
before the other. To do so, it distinguishes several phases over
time, corresponding to the different levels of definition of a
metamodel with which a model can comply. For each phase,
a right balance between flexibility and validation is found in
order to bridge the gap between creativity and strict model
conformance. The three phases are:</p>
      <p>
        Exploratory Phase: The main focus during the
exploratory phase is to encourage creativity. It allows designers
to shape models and notations as they like, without being
3FlexiMeta is available at: https://github.com/nicolas-hili/FlexiMeta [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]
4An online demo is available at: http://fleximeta.net/demo-simpson
concerned by what the abstract syntax should be. This phase
favors fast prototyping and in this sense, is close to the
philosophy of Agile methods. No validation is possible during this
phase as the abstract syntax has not been defined yet. At most,
metamodels can be inferred from the exploratory phase and
give some suggestions to the designers. Therefore, metamodel
inference techniques can be complementary at the exploratory
phase to assist in the migration to the consolidation phase.
      </p>
      <p>Consolidation Phase: The consolidation phase is an
intermediary phase during which metamodels are built. It
is intended to remain until the metamodels reach a stable
state. During this phase, partial validation of models created
during the exploratory phase is possible, but is unobtrusive, as
metamodels are not stable yet. Tolerant validation is intended
to warn designers about possible incoherence and digressions
between the models and the metamodel. This phase is the
most important one and could be considered as the
meet-inthe-middle which aims at filling the gap between creativity and
model conformance. During this phase, both models and
metamodels may evolve. This phase terminates when metamodels
are stable and models conform to them. Model and metamodel
co-evolution techniques can be used as a complement to help
designers align both models and metamodels.</p>
    </sec>
    <sec id="sec-4">
      <title>Finalisation Phase: The finalisation phase is the produc</title>
      <p>tion phase. It does not permit creativity any longer but instead,
ensures a full validation of the produced models. through a
strict model conformance. Every model created during this
phase should comply with the constraint rules defined by the
abstract syntax.</p>
      <p>The different phases of FlexiMeta are balancing flexibility
and validation (through model conformance) over time. While
the nominal scenario is a top-down process (from exploration
to finalisation), some situations, such as model and metamodel
migration, may require to go backwards the process.</p>
      <p>The architecture of FlexiMeta has been roughly inspired
by the work promoting the use of dynamic programming
languages over strict type checking. It is written in JavaScript
and relies on JSON for model persistence. The choice of these
two languages with respect to some design considerations
on flexibility and persistence. JavaScript is well suited as it
provides dynamic typing constructs through the concept of
prototype, and JSON is schema-less which supports model
persistence even if no user-defined metamodel has been yet
defined.</p>
      <p>FlexiMeta seeks the best trade-off between the two
disciplines. Therefore, JavaScript and the prototype concept are
convenient to use in early phases of the development where
creativity is encouraged over type safety checking, while
during the phase of maturation and alignment of models /
metamodels, increasing the typing ability of the language
(through code generation / generation of assertions) is vital
to increase the quality of the modelling framework.</p>
    </sec>
    <sec id="sec-5">
      <title>B. JSMF</title>
      <p>
        The JavaScript Modelling Framework (JSMF)5 is a
flexible framework for implementing web-based MDE. JSMF is
made to support all the modelling continuum as defined in
Natural Modelling [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ]. Notably, it is able to support the
early stage of natural modelling using raw models (i.e., where
there is no metamodel or no conformance checking) and it
should permit to support structured/formal models as well
(where conformance has to be enforced). Between these two
situations, JSMF allows for defining which elements have to
be checked regarding the conformance relations (e.g., entire
model, attribute types, multiplicity, etc.). This is made possible
by the separation of models and metamodels life-cycle with
an external conformance checking.
      </p>
      <p>
        1) Flexibility: Like any other MDE frameworks, in JSMF,
a model element has to conform to its metamodel by default.
Like in EMF, a model can be created from a metamodel
definition enforcing the model elements to conform to its
source metamodel (full conformance of Fig. 1). Flexibility can
be set with a very coarse grain at the metamodel level. The
entire metamodel can be flexible (i.e., there is no conformance
checking) or only some specific classes can be set flexible
whilst for the other classes, the model elements should remain
conform to them. he flexibilty definition can change all along
5JSMF is available at: https://js-mf.github.io/ [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]
the modelling life-cycle. In JSMF we define the flexibility at
finer grain:
      </p>
      <p>Optional/mandatory attributes: By default in
JSMF, attributes are optional but they can be set
as mandatory thanks to an option in the attribute
definition.</p>
      <p>Attribute types: Types can be checked or not. The
same applies to type-imposed constraints (e.g., a
Number between 0 and 20).</p>
      <p>References multiplicity: The multiplicity can be
checked or not. Not checking the multiplicity means
setting 0..* to it.</p>
      <p>Reference targeted types: Targeted types can be
loosely defined using JSMFAny alike in the EMF
framework. However, we allow not to (completely)
check the type. There is a slight difference between
using JSMFAny and not checking type. For the
latter, the declared type can be a hint for further
conformance checking.</p>
      <p>Reference opposite: The opposite relation can be
checked or not (including the opposite multiplicity).</p>
    </sec>
    <sec id="sec-6">
      <title>2) Specific functions: discovery and recovery: During the</title>
      <p>
        modelling life-cycle, one can go back and forth between
full flexibility and full conformance (see modelling
continuum [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ]: between free/natural modelling and strict modelling.
Going to a more flexible model is quite easy relaxing the
conformance checking (i.e., using the JSMF functions
presented before). Going to a less flexible model, to reach full
conformance (see Fig. 1), it requires to reconcile metamodel
and model definitions. This reconciliation can be made in two
ways. First, the metamodel is the right specification
consequently, the models have to be updated: recovery. Second,
the model is the right specification (e.g., it is an archetypal
example), then the metamodel has to be updated: discovery.
Obviously, this can occur on a (meta)model element or at a
global (meta)model level.
      </p>
      <p>
        The recovery is implemented in JSMF using a refresh
function which is applied to each model element regarding current
metamodel elements. Recovery in JSMF could be a support for
the consolidation phase (e.g., correcting the attributes present
in model which are not conform to). To go further, recovery
could encompass a (semantic) name proximity computation
(such as in [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ]) to keep the value during the recovery phase:
lastName -&gt; familyName.
      </p>
      <p>The discovery is based on the notion of providing
metamodel definition from (archetypal) examples. One can decide
that a model element is an archetypal representation of a class,
thus updating the metamodel accordingly. Such approach
could be used at the end of the consolidation phase: stabilizing.
Currently, it works only with one metamodel element but in
a future version, it should be possible to reconcile different
archetypal models used in the definition one metamodel
element.
V. COMPARATIVE EVALUATION USING THE DIMENSIONS</p>
      <p>
        We made this preliminary tool selection from authors in the
MDE community who addresses flexibility in tools. We have
selected tools and approaches that mainly address the
relaxation of the conformance relation: GIMM [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ], Muddle [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ],
Agility in MDE [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], and Modelverse [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ]. The comparison
with our two reference implementations is presented in table I.
      </p>
      <p>The GIMM approach is a pragmatic way to ensure
flexibility: it removes all the conformance issues by transforming a
specific metamodel into a generic entity-relation metamodel to
which any model element could conform to. As such, it does
neither redefine the degree of conformance which has still to
be strictly ensured, but it could be applied for free or strict
modelling.</p>
      <p>The Muddle approach is considered here beyond its
relation to concrete syntax. As for the abstract syntax,
Muddle allows for working with some uncertainty – i.e.,
exploration/consolidation modelling phases – with to some extent
full or partial flexibility. Beyond the full flexibilty supported
here by graphical tool, conformance is still present, in a form
that make it possible to use Muddle as input for Epsilon’s
model to model transformations. Full conformance is achieved
by targeting EMF models whilst no conformance is given by
the graphical representation in GraphML.</p>
      <p>
        The Agile approach described in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] focuses on the
omission of information provided in the models. Flexibility
manifests in the partially free concrete syntax the approach
supports (see [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] for more examples). The conformance is
then partially defined by the authors as a transformation for
relaxing/tightening the conformance relation.
      </p>
      <p>
        The approach of Modelverse is trying to get rid of
hardcoded conformance relations allowing language designers
to program their own conformance checking. It allows
developer to provide a very strict conformance checking or
rather flexible one. However, it enforces to have a minimal
kind of a conformance. Without neglecting the other linguistic
dimensions such concrete syntax, semantics, it focuses on the
abstract syntax: it proposes, such as in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], to separate the
typing relation from the instantiation one.
      </p>
      <p>
        Compared to the above approaches and tools, FlexiMeta
promotes creativity over a strict model conformance. It goes
from no conformance where no metamodel has been defined,
to a full conformance during the finalisation phase. In between,
a tolerant validation mechanism is used for assisting the user
in the alignment of models/metamodels. While the nominal
scenario is a top-down process from exploration to production,
some situations, such as model and metamodel migration,
may require to go backwards in the process. However, it
does not support the gradual definition of the metamodel.
Metamodels are currently defined outside FlexiMeta using
EMF and integrated with FlexiMeta via code generation using
Acceleo [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>JSMF proposes a gradual definition of metamodels and
conformance check. Compared to the other approach, it allows
for a finer tuning and controlling of flexibilty. It goes from
no conformance or even no pre-defined metamodel (i.e., using
raw JavaScript objects) to a full conformance check (explicitly
calling a checking function). As in many modelling situations,
models are both partially well defined and partially require
some flexibility (e.g., a model is still under design). JSMF
allows fine tuning of conformance checking (i.e., attribute,
reference type, multiplicity, etc.). In addition JSMF covers
some specific processes to control the flexibility: recovery and
discovery as described in Section IV.</p>
      <sec id="sec-6-1">
        <title>VI. CONCLUSION</title>
        <p>This paper is an attempt to give a unified view of
flexibility in MDE. It focuses on the conformance flexibility
(related to the abstract syntax) in terms of two orthogonal and
complementary dimensions. These dimensions are intended to
introduce a gradual definition of the conformance related to
the gradient of specificity of semantics, and aim at answering
the relevant questions about how (data-related) and when
(process-related) the conformance between a model and a
metamodel has to be enforced. Thus, this view goes beyond
the simple vision which consists in seeing the conformance
relation either entirely relaxed or entirely enforced. We have
used the two dimensions for comparing existing approaches
and tools related to the relaxation of the conformance relation.
It helped us to detect some shortages in existing work in terms
of flexibility. In the future, we hope that this view will be used
as a guideline to assist researchers, tool users, and practitioners
in their search of the best flexible tool or framework that fits
their needs.</p>
        <p>While we believe that all aspects of DSMLs where
flexibility is required have to be considered, yet it appeared to us
that flexibility in the abstract syntax via the relaxation of the
conformance relation is the most challenging problem and
undervalued compared to other aspects of modelling languages.
Especially, advocating flexibility via the use of free-form
graphical modelling environments, hybrid textual/graphical
notations, and collaborative tool support appears to be a hot
topic that has largely been covered in many flexible tools and
approaches. Thus, we have limited the scope of this paper to
the abstract syntax only. Nevertheless, we plan to extend this
work to establish a unified view encompassing all the different
aspects modelling languages comprise.</p>
      </sec>
      <sec id="sec-6-2">
        <title>ACKNOWLEDGMENT</title>
        <p>The authors would like to thank Hans Vangheluwe, adjunct
professor in School of Computer Science at McGill University.
Han’s comments during the past edition of FlexMDE’16 raised
an interesting discussion that led to the identification of the
dimensions presented in this paper. In addition, the authors
would like to thank the reviewers of this paper for their
insightful comments and suggestions.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>J.</given-names>
            <surname>Sánchez-Cuadrado</surname>
          </string-name>
          , J. De Lara, and E. Guerra, “
          <article-title>Bottom-up metamodelling: An interactive approach</article-title>
          ,” in
          <source>International Conference on Model Driven Engineering Languages and Systems</source>
          . Springer,
          <year>2012</year>
          , pp.
          <fpage>3</fpage>
          -
          <lpage>19</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>N.</given-names>
            <surname>Mangano</surname>
          </string-name>
          and
          <string-name>
            <surname>A. van der Hoek</surname>
          </string-name>
          , “
          <article-title>A Tool for Distributed Software Design Collaboration,”</article-title>
          <source>in Proceedings of the ACM 2012 conference on Computer Supported Cooperative Work Companion. ACM</source>
          ,
          <year>2012</year>
          , pp.
          <fpage>45</fpage>
          -
          <lpage>46</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>D.</given-names>
            <surname>Wüest</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Seyff</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Glinz</surname>
          </string-name>
          , “FLEXISKETCH TEAM:
          <article-title>Collaborative Sketching and Notation Creation on the Fly,” in Software Engineering (ICSE</article-title>
          ),
          <source>2015 IEEE/ACM 37th IEEE International Conference on, vol. 2</source>
          . IEEE,
          <year>2015</year>
          , pp.
          <fpage>685</fpage>
          -
          <lpage>688</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>R.</given-names>
            <surname>Jolak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Vesin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Isaksson</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M. R.</given-names>
            <surname>Chaudron</surname>
          </string-name>
          , “
          <article-title>Towards a New Generation of Software Design Environments: Supporting the Use of Informal and Formal Notations with OctoUML</article-title>
          ,” in Second International Workshop on Human Factors in Modeling (HuFaMo
          <year>2016</year>
          ).
          <source>CEUR-WS</source>
          ,
          <year>2016</year>
          , pp.
          <fpage>3</fpage>
          -
          <lpage>10</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>F. R.</given-names>
            <surname>Golra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Beugnard</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Dagnat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Guerin</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Guychard</surname>
          </string-name>
          , “
          <article-title>Using Free Modeling as an Agile Method for Developing Domain Specific Modeling Languages,”</article-title>
          <source>in Proceedings of the ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems. ACM</source>
          ,
          <year>2016</year>
          , pp.
          <fpage>24</fpage>
          -
          <lpage>34</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>J.-S.</given-names>
            <surname>Sottet</surname>
          </string-name>
          and
          <string-name>
            <given-names>N.</given-names>
            <surname>Biri</surname>
          </string-name>
          , “
          <article-title>JSMF: a Javascript Flexible Modelling Framework</article-title>
          ,”
          <source>in Proceedings of the 2nd Workshop on Flexible Model Driven Engineering</source>
          , vol.
          <volume>1694</volume>
          . CEUR Workshops Modeling,
          <year>2016</year>
          , pp.
          <fpage>42</fpage>
          -
          <lpage>51</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>N.</given-names>
            <surname>Hili</surname>
          </string-name>
          , “
          <article-title>A Metamodeling Framework for Promoting Flexibility and Creativity Over Strict Model Conformance,”</article-title>
          <source>in Proceedings of the 2nd Workshop on Flexible Model Driven Engineering</source>
          , vol.
          <volume>1694</volume>
          . CEUR Workshops Modeling,
          <year>2016</year>
          , pp.
          <fpage>2</fpage>
          -
          <lpage>11</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>J.</given-names>
            <surname>Bézivin</surname>
          </string-name>
          , “
          <article-title>On the unification power of models,”</article-title>
          <source>Software &amp; Systems Modeling</source>
          , vol.
          <volume>4</volume>
          , no.
          <issue>2</issue>
          , pp.
          <fpage>171</fpage>
          -
          <lpage>188</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>P.</given-names>
            <surname>Gómez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Sánchez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Florez</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Villalobos</surname>
          </string-name>
          , “
          <article-title>Co-creation of models and metamodels for enterprise architecture projects</article-title>
          ,”
          <source>in Proceedings of the 2012 Extreme Modeling Workshop</source>
          . ACM,
          <year>2012</year>
          , pp.
          <fpage>21</fpage>
          -
          <lpage>26</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>J. De Lara</surname>
            , E. Guerra, and
            <given-names>J. S.</given-names>
          </string-name>
          <string-name>
            <surname>Cuadrado</surname>
          </string-name>
          , “
          <article-title>A-posteriori typing for model-driven engineering</article-title>
          ,” in
          <source>Model Driven Engineering Languages and Systems (MODELS)</source>
          ,
          <source>2015 ACM/IEEE 18th International Conference on. IEEE</source>
          ,
          <year>2015</year>
          , pp.
          <fpage>156</fpage>
          -
          <lpage>165</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>R.</given-names>
            <surname>Salay</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Chechik</surname>
          </string-name>
          , “
          <article-title>Supporting agility in mde through modeling language relaxation</article-title>
          .” in XM@ MoDELS,
          <year>2013</year>
          , pp.
          <fpage>20</fpage>
          -
          <lpage>27</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>T.</given-names>
            <surname>Degueule</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Combemale</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Blouin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Barais</surname>
          </string-name>
          , and J.
          <string-name>
            <surname>-M. Jézéquel</surname>
          </string-name>
          , “
          <article-title>Safe model polymorphism for flexible modeling</article-title>
          ,”
          <source>Computer Languages, Systems &amp; Structures</source>
          , vol.
          <volume>49</volume>
          , pp.
          <fpage>176</fpage>
          -
          <lpage>195</lpage>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>G.</given-names>
            <surname>Wachsmuth</surname>
          </string-name>
          ,
          <source>ECOOP 2007 - Object-Oriented Programming: 21st European Conference</source>
          , Berlin, Germany,
          <source>July 30 - August 3</source>
          ,
          <year>2007</year>
          . Proceedings. Berlin, Heidelberg: Springer Berlin Heidelberg,
          <year>2007</year>
          , ch.
          <source>Metamodel Adaptation and Model Co-adaptation</source>
          , pp.
          <fpage>600</fpage>
          -
          <lpage>624</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>A.</given-names>
            <surname>Cicchetti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. D.</given-names>
            <surname>Ruscio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Eramo</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Pierantonio</surname>
          </string-name>
          , “
          <article-title>Automating co-evolution in model-driven engineering</article-title>
          ,” in Enterprise Distributed Object Computing Conference,
          <year>2008</year>
          . EDOC '
          <volume>08</volume>
          . 12th
          <string-name>
            <surname>International</surname>
            <given-names>IEEE</given-names>
          </string-name>
          ,
          <year>2008</year>
          , pp.
          <fpage>222</fpage>
          -
          <lpage>231</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>J.</given-names>
            <surname>Schoenboeck</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Kusel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Etzlstorfer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Kapsammer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Schwinger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Wimmer</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Wischenbart</surname>
          </string-name>
          , “
          <article-title>CARE - A Constraint-Based Approach for Re-Establishing Conformance-Relationships,” in Asia-Pacific Conference on Conceptual Modelling (APCCM 2014), ser</article-title>
          . CRPIT,
          <string-name>
            <given-names>G.</given-names>
            <surname>Grossmann and M. Saeki</surname>
          </string-name>
          , Eds., vol.
          <volume>154</volume>
          .
          <string-name>
            <surname>Auckland</surname>
          </string-name>
          , New Zealand: ACS,
          <year>2014</year>
          , pp.
          <fpage>19</fpage>
          -
          <lpage>28</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>J.</given-names>
            <surname>Sánchez-Cuadrado</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Lara</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E.</given-names>
            <surname>Guerra</surname>
          </string-name>
          ,
          <source>Model Driven Engineering Languages and Systems: 15th International Conference, MODELS</source>
          <year>2012</year>
          , Innsbruck, Austria,
          <source>September 30-October 5</source>
          ,
          <year>2012</year>
          . Proceedings. Berlin, Heidelberg: Springer Berlin Heidelberg,
          <year>2012</year>
          , ch. Bottom-Up
          <string-name>
            <surname>Meta-Modelling</surname>
          </string-name>
          :
          <article-title>An Interactive Approach</article-title>
          , pp.
          <fpage>3</fpage>
          -
          <lpage>19</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>D.</given-names>
            <surname>Steinberg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Budinsky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Paternostro</surname>
          </string-name>
          , and E. Merks, EMF: Eclipse Modeling Framework, 2nd ed.
          <source>Addison-Wesley</source>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>“JSMF: JavaScript Modeling Framework Github Page</surname>
          </string-name>
          ,” https://github. com/dslmeinte/jsmf, accessed:
          <fpage>2017</fpage>
          -04-29.
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <article-title>“Ecore (EMOF) implementation in JavaScript Github Page</article-title>
          ,” https: //github.com/emfjson/ecore.js, accessed:
          <fpage>2017</fpage>
          -04-29.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>B.</given-names>
            <surname>Costa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. F.</given-names>
            <surname>Pires</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. C.</given-names>
            <surname>Delicato</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Oquendo</surname>
          </string-name>
          , “
          <article-title>Towards a view-based process for designing and documenting restful service architectures,”</article-title>
          <source>in Proceedings of the 2015 European Conference on Software Architecture Workshops. ACM</source>
          ,
          <year>2015</year>
          , p.
          <fpage>50</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>H.</given-names>
            <surname>Ed-Douibi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. L. C.</given-names>
            <surname>Izquierdo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Gómez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Tisi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Cabot</surname>
          </string-name>
          , “
          <article-title>Emf-rest: Generation of restful apis from models</article-title>
          ,
          <source>” arXiv preprint arXiv:1504.03498</source>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>D. S.</given-names>
            <surname>Kolovos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. D.</given-names>
            <surname>Matragkas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. H.</given-names>
            <surname>Rodríguez</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R. F.</given-names>
            <surname>Paige</surname>
          </string-name>
          , “
          <article-title>Programmatic muddle management</article-title>
          .” in XM@ MoDELS,
          <year>2013</year>
          , pp.
          <fpage>2</fpage>
          -
          <lpage>10</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23] “Epsilon Family of Language,” https://www.eclipse.org/epsilon/, accessed:
          <fpage>2017</fpage>
          -04-29.
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24] “Moddle Github Page,” https://github.com/bpmn-io/moddle, accessed:
          <fpage>2017</fpage>
          -04-29.
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25] “
          <article-title>Web-based tooling for BPMN, DMN</article-title>
          and CMMN,” http://bpmn.io/, accessed:
          <fpage>2017</fpage>
          -04-29.
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>M.</given-names>
            <surname>Gerhart</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Bayer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. M.</given-names>
            <surname>Höfner</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Boger</surname>
          </string-name>
          , “
          <article-title>Approach to define highly scalable metamodels based on json</article-title>
          ,”
          <source>BigMDE</source>
          <year>2015</year>
          , p.
          <fpage>11</fpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>D.</given-names>
            <surname>Harel</surname>
          </string-name>
          and
          <string-name>
            <given-names>B.</given-names>
            <surname>Rumpe</surname>
          </string-name>
          , “
          <article-title>Meaningful modeling: what's the semantics of" semantics"</article-title>
          <source>?” Computer</source>
          , vol.
          <volume>37</volume>
          , no.
          <issue>10</issue>
          , pp.
          <fpage>64</fpage>
          -
          <lpage>72</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>N.</given-names>
            <surname>Guarino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Oberle</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Staab</surname>
          </string-name>
          , “
          <article-title>What is an ontology?” in Handbook on ontologies</article-title>
          . Springer,
          <year>2009</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>17</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Zarwin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Bjekovic</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.-M. Favre</surname>
            ,
            <given-names>J.-S.</given-names>
          </string-name>
          <string-name>
            <surname>Sottet</surname>
            , and
            <given-names>H. A.</given-names>
          </string-name>
          <string-name>
            <surname>Proper</surname>
          </string-name>
          , “
          <article-title>Natural modelling</article-title>
          .
          <source>” Journal of Object Technology</source>
          , vol.
          <volume>13</volume>
          , no.
          <issue>3</issue>
          , pp.
          <fpage>4</fpage>
          -
          <lpage>1</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>K.</given-names>
            <surname>Garcés</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Jouault</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Cointe</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Bézivin</surname>
          </string-name>
          , “
          <article-title>Managing model adaptation by precise detection of metamodel changes</article-title>
          ,
          <source>” in European Conference on Model Driven Architecture-Foundations and Applications</source>
          . Springer,
          <year>2009</year>
          , pp.
          <fpage>34</fpage>
          -
          <lpage>49</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>P.</given-names>
            <surname>Gomez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. E.</given-names>
            <surname>Sánchez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Florez</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Villalobos</surname>
          </string-name>
          , “
          <article-title>An approach to the co-creation of models and metamodels in enterprise architecture projects</article-title>
          .
          <source>” Journal of Object Technology</source>
          , vol.
          <volume>13</volume>
          , no.
          <issue>3</issue>
          , pp.
          <fpage>2</fpage>
          -
          <lpage>1</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Van Tendeloo</surname>
          </string-name>
          and
          <string-name>
            <given-names>H.</given-names>
            <surname>Vangheluwe</surname>
          </string-name>
          , “
          <article-title>Explicit type/instance relations</article-title>
          ,” McGill University, Tech. Rep.,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>