<!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>Research Questions for Validation and Verification in the Context of Model-Based Engineering</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Catherine Dubois</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Michalis Famelis</string-name>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Martin Gogolla</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Leonel Nobrega</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ileana Ober</string-name>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Martina Seidl</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Markus V¨olter</string-name>
          <xref ref-type="aff" rid="aff5">5</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Johannes Kepler University Linz</institution>
          ,
          <country country="AT">Austria</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Bremen</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>University of Madeira</institution>
          ,
          <addr-line>Funchal</addr-line>
          ,
          <country country="PT">Portugal</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>University of Toronto</institution>
          ,
          <country country="CA">Canada</country>
        </aff>
        <aff id="aff4">
          <label>4</label>
          <institution>University of Toulouse</institution>
          ,
          <country country="FR">France</country>
        </aff>
        <aff id="aff5">
          <label>5</label>
          <institution>Vo ̈lter Ingenieurbu ̈ro</institution>
          ,
          <addr-line>Heidenheim</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2013</year>
      </pub-date>
      <fpage>67</fpage>
      <lpage>76</lpage>
      <abstract>
        <p>In model-based engineering (MBE), the abstraction power of models is used to deal with the ever increasing complexity of modern software systems. As models play a central role in MBE-based development processes, for the adoption of MBE in practical projects it becomes indispensable to introduce rigorous methods for ensuring the correctness of the models. Consequently, much effort has been spent on developing and applying validation and verification (V&amp;V) techniques for models. However, there are still many open challenges. In this paper, we shortly review the status quo of V&amp;V techniques in MBE and derive a catalogue of open questions whose answers would contribute to successfully putting MBE into practice.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>This paper is based on the discussions of a working group (whose members are
mainly the authors of this paper) of the 2013 Dagstuhl seminar number 13182 on
Meta-Modeling Model-Based Engineering Tools. The working group addressed a
panel of important issues with validation and verification (V&amp;V) of models and
model transformations whose correctness is crucial for the successful realization
of model-based engineering (MBE) projects.</p>
      <p>Overall, models help to clarify and plan the development of software.
Furthermore, they allow the use of methods to ensure quality and discover errors
in conceptual designs. However, with the extensive use of models during the
software development process, there is the danger of introducing defects into
the models. For detecting or avoiding such defects, techniques of validation and
verification (V&amp;V) for models help.</p>
      <p>Besides models, model transformations (MTs) are at the heart of model-based
engineering. Different kinds of MTs underlie the engineering activities and their
associated tools. They can be used for example to refine models, to generate
code, etc. This variety of purposes of MTs emphasizes the need for effective and
dedicated V&amp;V techniques for animating, testing, and proving them.</p>
      <p>In a model-based development process, V&amp;V techniques help to better
understand models and to assess model properties which are stated implicitly in
the model. V&amp;V serves to inspect models and to explore modeling alternatives.
Model validation answers the question ‘Are we building the right product?’
whereas model verification answers ‘Are we building the product right?’, similar
as V&amp;V does for code. Validation is mainly an activity done by the developer
demonstrating model properties to the client, whereas in verification the
developer uncovers properties relevant within the development process. Verification
is closely related to testing and covers automatic and semi-automatic (static)
analysis techniques like theorem proving and model-checking.</p>
      <p>In this paper, we shortly review the status quo of V&amp;V techniques in MBE
and derive research questions whose answers will push the whole field forward.
The methodology behind this paper is as follows. First, we started to list
objectives, methods, tools, use cases and then highlighted difficulties, bottlenecks
and pitfalls. On this basis, we derived some key research questions. This paper
sums up these discussions and lists the different research questions.8</p>
      <p>
        The main conclusion of our analysis of the actual situation is that specific
V&amp;V methods for models and MTs are required. Although numerous tools exist
to verify and validate hardware and software, they do not apply straightforwardly
to models and MTs. In [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], E. M. Clarke, E. A. Emerson and J. Sifakis mentioned
abstraction techniques as one of the promising paths for the future advances in
the field of verification. The use of V&amp;V techniques in the context of MBE
follows the direction of abstraction. However V&amp;V for models is concerned by
a more complete abstraction mechanism that covers the entire system, whereas
in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], abstraction is considered mostly at mathematical level and targets formal
semantics.
      </p>
      <p>The rest of the paper is organized as follows: In Section 2, we reflect on
the situation and describe some challenges. Subsequently, the research questions
which emerged are listed in Section 3. We conclude in Section 4.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Status and Challenges</title>
      <p>In this section we describe the main observations regarding the state of theory
and practice that informed the discussions of our working group and list proposed
solutions found in the literature. The observations are organized thematically,
based on the main areas in which V&amp;V and MBE intersect.
2.1</p>
      <sec id="sec-2-1">
        <title>Gap Existing between Models and V&amp;V Formalisms</title>
        <p>In the context of model-based development, V&amp;V faces new challenges. The
origin of most of them stays in the gap existing between the (mostly high-level)
8 We are aware that for some of them proposals already exist. Because of lack of space,
we are not able to reference them all, and so we cannot reach exhaustiveness.
specification mechanisms, used at design time both for specifying the model and
the properties that are subject to V&amp;V, and the underlying V&amp;V engines that
use low-level formalisms.</p>
        <p>
          The gap between the two specification mechanisms can be (at least partially)
filled by using model transformations and traceability mechanisms [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ], which are
definitely needed in this context. Yet it is only part of the answer as behavioral
semantics often leads to non-bijective correspondences between design time and
runtime artifacts.
        </p>
        <p>
          The V&amp;V frameworks, which are typically using back-end tools using
specific formalisms need to be complemented with mechanisms allowing the user to
interact with the back-end tools through their own modeling languages. They
do offer the right environment to reason about the system under modeling. In
this context we can mention existing initiatives that go on this direction. In [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]
a high-level change-driven transformation language is proposed in order to
capture changes, even those that concern low level transformations (as it may be in
the case of some feedback (e.g. counter-examples) produced by V&amp;V tools.
Supporting the user during the error diagnosis phases can be done e.g. by allowing
customizable simulation trace visualization [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ].
        </p>
        <p>In the same spirit of hiding the technicalities related to the V&amp;V engine, we
can mention here the issue of (semi-)automatically managing the V&amp;V machine
configuration. Although not necessarily a research challenge, this is a typical
functionality required in order to improve the accessibility to V&amp;V tools.
2.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>Need to Refine Existing Methodologies</title>
        <p>V&amp;V tools have the potential of helping the user during model development,
by allowing early V&amp;V, similar to debugging facilities offered by programming
development environments. Most of the generic methodologies identify some
possible points where V&amp;V could be used. In a realistic setting, the model-based
development methodology should be refined in order to better identify which
V&amp;V activities are meaningful at the various phases of design, in order to take
full advantage of the existing V&amp;V engines. Such a methodology would most
likely vary depending on the nature of the project and on the application
domain, but one can expect that methodology definitions can be capitalized within
the same business domain.
2.3</p>
      </sec>
      <sec id="sec-2-3">
        <title>Importance of Snapshots</title>
        <p>In the context of V&amp;V, it is important to be able to clearly and completely
describe a dynamic model configuration (often called model snapshot, or global
state of the system) - in terms of existing objects, values of their respective
attributes, existing links, active states in the state machine (if any), content of the
input queue, etc. Such a snapshot could correspond to the state of the dynamic
model before an error or otherwise identified as meaningful. A particular case
of model snapshot is the one specifying the model instantiation, arising in the
context of describing the initial state of a model execution. Each commercial
tool that offers model simulation functionalities uses some (more or less
documented) mechanism for describing model instantiation, however this snapshot
description does not cover arbitrary snapshots.</p>
        <p>
          There are some approaches that tackle the idea of model snapshot, such as
for instance, the USE tool [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] which allows the user to generate/verify UML
model snapshots. Yet, no modelling tool uses such elaborate techniques.
2.4
        </p>
      </sec>
      <sec id="sec-2-4">
        <title>Properties</title>
        <p>V&amp;V focuses on verifying some properties with different objectives. Properties to
be verified differ according to the nature of models (e.g. static or dynamic) and to
the stage in the development process (e.g. specification or code generation time).
Furthermore there are also limitations and synergies depending on the applied
V&amp;V techniques (static analysis, testing, model checking, runtime verification,
formal proof). However there is no one-to-one association between properties
and techniques, the latter being for the most part complementary.</p>
        <p>More generally, we can distinguish structural properties (composition of
models, consistency, redundancy), behavioral properties (ensure liveness of a model
or safety properties) and also quantitative properties (such as Worst Case
Execution Time (WCET) or schedulability). Properties are related with models but
also to model transformations. Here the classification is different, it is discussed
in more detail in the next subsection. We can also distinguish between static and
dynamic properties and in both categories refine into language inherent, model
specific, generic or user-defined properties.</p>
        <p>
          We can find in the literature many approaches and tools to verify models.
However it is quite confusing and it is difficult to draw a classification allowing
the answer to the following question: What kind of property to verify on which
model at what stage with what kind of technique? Some partial answers exist,
e.g. using feature models [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] or ontologies [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ].
2.5
        </p>
      </sec>
      <sec id="sec-2-5">
        <title>Model Transformations</title>
        <p>Model transformations (MTs) are an integral part of model-based software
engineering. MTs are used for a broad variety of purposes, ranging from applications
as diverse as maintaining inter-model consistency to defining the translational
semantics of a domain-specific language. This ubiquity of model
transformations emphasizes the need for effective V&amp;V techniques, that focus specifically
on MTs. This is especially true in contexts of use where MTs are critical, such
as code generation. At the same time, V&amp;V for MTs differs from traditional
program verification, since MTs are defined at a higher level of abstraction than
programs, thus creating opportunities for more effective application of formal
techniques. These factors have generated considerable interest in the research
community, with special-interest events such as the VOLT workshop
(“Verification Of ModeL Transformations”) being organized since 2012.</p>
        <p>
          An important challenge in studying the verification of MTs is to understand
how verifying MTs is different from traditional program verification. There has
been some work mapping the challenges that are specific to MTs; for example,
[
          <xref ref-type="bibr" rid="ref4 ref5">4, 5</xref>
          ] discuss the challenges of testing MTs, whereas [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] focuses specifically on
bidirectional transformations.
        </p>
        <p>
          In the same vein, it is necessary to understand how to best reuse existing
verification tools, techniques and methods. For example, in [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ], the autors propose a
tri-dimensional approach that takes into account (a) the kind of transformation
involved, (b) the properties of interest, and (c) the available verification
techniques. The purpose is to identify what verification method is most appropriate
based on the transformation and desired properties. Similarly, [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] classifies
approaches for verifying transformations based on five criteria: (a) verification goal
(e.g. consistency, correctness), (b) representation of the domain, (c)
representation used for the verification task, (d) specification language used, and (e)
verification technique (theorem proving, static analysis, model checking).
        </p>
        <p>
          In general, the correctness of MTs is of paramount importance and is
generally the ultimate goal of verification of MTs. Correctness is tightly related
with specification. The Tracts methodology [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] proposes a generalization of
model transformation contract, based on the idea of duck typing MTs with OCL
constraints, while also supporting test-case generation. Another approach is to
reuse transformation primitives in order to build correct-by-construction
transformations, typically with a trade-off in expressive power, such as the case of
DSLTrans [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ].
        </p>
        <p>
          Finally, the identification of properties that are meaningful when verifying
MTs is also important. Confluence and termination have been studied
extensively for transformations based on graph rewriting [
          <xref ref-type="bibr" rid="ref14 ref9">9, 14</xref>
          ]. In [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ], a more
thorough categorization of properties is proposed, marking the distinction between
properties related to transformations themselves (e.g. determinism) and
properties related to the result of applying the transformation (e.g. conformance of
the output). For each of these major categories, several minor sub-categories are
identified.
2.6
        </p>
      </sec>
      <sec id="sec-2-6">
        <title>Informal vs. Formal vs. Incomplete Modeling</title>
        <p>Starting from informal use case sketches, which can be connected to formal model
elements by trace links, there is need during V&amp;V to concentrate on
particular model parts and to switch on or off particular model inherent elements (in
class diagrams, e.g., multiplicities, or aggregation and composition restrictions).
Furthermore we may desire to explicitly configure constraints by negating,
deactivating or activating them (in class diagrams, e.g., class invariants and operation
pre- and postconditions; in state charts, e.g., state invariants and transition
preand postconditions). Such configuration options must be offered with different
types of granularity: (a) all model elements may be relaxed, (b) only a manual
model element selection can be considered for relaxation, or (c) a semi-automatic
element selection for relaxation may be offered (such a semi-automatic selection
might depend on a user-determined, editable criteria catalogue). In the ultimate
vision one might consider sliders on the user interface of the modeling tool which
allows the developer to gradually go from a strict, formal model through various
intermediate levels to a totally relaxed and informal model. However, if formal
test cases and test scenarios are desired, then a minimal frame for test case
construction must be preserved. Such a minimal frame could consist, e.g., for class
diagrams of central classes and associations and for state charts of central states
and transitions, with all model elements in the minimal version without any
implicit or explicit constraints. Thus, there will be a tradeoff between switching off
or ignoring certain model elements (like constraints or classes) and the degree of
formality: if more model elements are switched off, the model will become more
informal and will accept more scenarios; however, this procedure only works to
a certain degree, because one can only formulate scenarios if at least a minimum
selection of formal model elements is present; for a completely informal model
no formal scenario can be formulated. Thus, ignoring certain model elements or
constraints and the degree of formality are closely linked.</p>
        <p>In order to handle incomplete and partial models wrt V&amp;V, these model
configuration options must be recorded along with the various V&amp;V test
scenarios, test cases and their results with respect to the configured model. Test
cases and test scenarios must be invoked repeatedly with different configuration
options and test results must be recorded in a systematic way. It must be
possible to query test results in order to retrieve the proper configuration settings.
The mechanisms for playing around with model relaxation can also be employed
to allow for model alternatives. Model relaxations and model alternatives will
span up a graph of model versions. These model versions must be connected to
a graph of proper model test cases and model scenarios.
2.7</p>
      </sec>
      <sec id="sec-2-7">
        <title>Comparison and Benchmarking</title>
        <p>
          In the V&amp;V research area, not only theoretical results are important, but also the
tools which implement novel approaches in order to benefit from these results.
Expressive benchmarks are necessary to evaluate the maturity of the tools as well
as compare the power of novel approaches to established techniques. At
dedicated workshops like the Comparison and Versioning of Software Models [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ] the
benchmarking issue has been a specially discussed topic which is one approach
to obtain commonly accepted benchmarks. Often community-organized
competitions and evaluations are a valuable source for the benchmarks which serve as
basis for evaluations in scientific publications illustrating the benefits of their
contributions. Examples of such events are the SAT solving competition [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] or
the Transformation Tool Contest (TTC) [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
        </p>
        <p>For the community the advantages of a centrally organized competition are
manifold. First of all, evaluations are performed in an environment equal to
all participants, thus allowing a fair comparison of the different tools. Second,
the benchmarks are not selected by the tool developers, but by some impartial
experts and covers the whole spectrum of interesting test cases. Third, a clear
documentation of the outcome is provided such that the experiments performed
in the context of a competition are repeatable. By this means the state-of-the-art
of a research field becomes publicly available, it becomes clear where progress has
been made and where more work has to be done. Ideally, new research questions
are derived from the results which might then be handed over to the community
in order to get solutions. These research questions may be documented in terms
of benchmarks which cannot be handled by current tools. Often, such
benchmarks are provided from industry and allow the researchers to show that a new
approach improved the state-of-the-art.</p>
        <p>To the best of our knowledge, recently there are no community-organized
evaluations and competitions for V&amp;V approaches in the field of MBE (TTC
goes in that direction), although such events would be extremely beneficial with
respect to the same arguments discussed above. Their absence is somehow
surprising as the research community is rather large playing a major role in all
leading modeling conferences. However, there are several reasons which might
explain why no V&amp;V competitions for MBE-approaches are organized at the
moment. In the following, we elaborate on three urgent problems, which have to
be overcome for structured V&amp;V research.</p>
        <p>(i) No common standards. Many approaches use their own metamodel in
order to focus on the language element relevant for their purposes as for example
UML is too large to be completely implemented.</p>
        <p>(ii) No community platform. In order to collect and document interesting
benchmarks which are required for organizing a successful competition, the
community needs a forum to gather relevant data as it is for example done with the
TPTP repository.</p>
        <p>(iii) Metrics for improvements. In automatic theorem proving the
improvements are mostly measured by runtime reduction or by compactness of proofs.
For V&amp;V approaches it is not so easy to measure progress in tools: the size of
encodings or the execution time could be compared as well as the size of the
error traces. However, MBE tools are also confronted with other requirements
like usability and this is much harder to evaluate.
2.8</p>
      </sec>
      <sec id="sec-2-8">
        <title>Domain-Specific Languages</title>
        <p>Most verification tools have quite specific, sometimes archaic and hard to use
input languages that are optimized for the semantic paradigm used by the tool.
These languages are often alien to standard developers and hence, verification
tools are often not used. On the other hand, developers could benefit from
easyto-use verification techniques; even in non safety-critical domains, verification
can be an additional means of quality assurance, even when it is not required by
industry standards. Development approaches based on domain-specific languages
(DSLs) are becoming more and more mainstream, through code generation this
approach leads to improved productivity. Models expressed with DSLs also have
the potential of simplifying analysis and verification, because of the higher degree
of domain semantics they express. There seems to be a potential to exploit the
two approaches synergistically: from the high-level models, we can automate the
generation of the input to the verification tools.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Research Questions</title>
      <p>In this section we list the research questions that emerged from the discussions of
our working group. The purpose of the list is to document the important issues
that, we believe, research in the intersection of MBE and V&amp;V must address.</p>
      <sec id="sec-3-1">
        <title>Gap Existing between Models and V&amp;V Formalisms: How do we express</title>
        <p>properties at the level of models in a way understandable to clients? How
do we formulate models and properties in a single language transparent to
clients? How do we report the V&amp;V results and diagnostics in an
appropriate form to clients? How do we bridge the gap between formally expressed
and verified properties on one side and client attention on the other side?
Can modeling language extensions help in making explicit the needs of V&amp;V
machines?
Need to Refine Existing Methodologies: How do we integrate V&amp;V in the
overall development and modeling process? On the technical level of tool
exchange? On the methodological level of using the right technique at the
right time for the right task? When are techniques like animation, execution,
symbolic evaluation, testing, simulation, proving or test case generation used
efficiently during development?For which model and model transformation
properties can they be employed?
Design-time vs. Runtime: How do we obtain during the V&amp;V phase an
initial model instantiation on the model runtime level which is determined by
the model design time description? How do we obtain large and
meaningful instantiations? How do we connect design time and runtime artifacts?
How do we deal with the scalability issue in the context of V&amp;V ? How do
we handle time and space concerns wrt design time and runtime artifacts?
How do we automatically or semi-automatically manage the V&amp;V machine
configuration?
Properties: How do we handle model and model transformation properties
relevant in V&amp;V like consistency, reachability, dependence, minimality,
conformance, safety, liveness, deadlock freeness, termination, confluence,
correctness? How do we search for such properties in models and model
transformations? What are the benefits and tradeoffs between expressing these
properties on more abstract modeling levels in contrast to expressing them
on more concrete levels? How do we find the right techniques for
uncovering static and dynamic model properties? Which techniques are appropriate
for uncovering static modeling language inherent properties, which for static
model-specific properties? Which techniques are appropriate for uncovering
dynamic generic properties, which for dynamic model-specific properties?
Which high-level features are needed in the property description language
in order to query and to determine modeling level concepts?
Model Transformation: What verification techniques are meaningful for
verifying model transformations? How do we analyse properties like confluence
and termination for transformations which are composed from
transformation units? How do we analyse correctness of model transformations wrt a
transformation contract? How do we infer a transformation contract from a
model transformation?</p>
      </sec>
      <sec id="sec-3-2">
        <title>Informal vs. Formal vs. Incomplete Modeling: How do we leverage infor</title>
        <p>mal assumptions found in sketches for exploratory V&amp;V? Are informal
sketches close enough to V&amp;V at all? What are appropriate relaxation
mechanisms for different degrees of formality? How do we handle incomplete or
partial models wrt V&amp;V? How do we deactivate and activate model units?
How do we handle the exploration of model properties and alternatives?
Comparison and Benchmarking: How do we compare existing V&amp;V tools
employed for modeling wrt functionality, coverage, scalability,
expressiveness, executing system (i.e., for models at runtime)? Which criteria are
appropriate for comparison? Can the broad and diverse spectrum of V&amp;V
machines (like B, Coq, HOL/Isabelle, SAT, SMT, CSP solvers, Relational
logic and enumerative techniques) be globally compared in a fair way at all?
Domain-Specific Languages: How can DSLs be defined so that they are close
to the domain concepts on the one hand, but still allow the generation of
meaningful input files for verification tools? How do we express the properties
to be verified at the domain level in a user-friendly way? Can the property
specifications be integrated with the same DSL and/or model used for
describing the to-be- verified system without creating self-fulfilling prophecies?
How can we lift the result of a verification (e.g. an example program
execution that demonstrates the failure) back to the domain level and express it
in terms of the DSL-level input? Can incremental language extensions help
with making programs expressed in general-purpose languages more
checkable? For example, the semantics of a specific extension construct may enable
the generation of very rich inputs to the verification tool, which otherwise
may have to be specified manually (program annotations or properties)?
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>On this paper we present some observations and list the research questions that
emerged from them. This list of research questions spans a wide area of themes
where MBE and V&amp;V intersect: specification and feedback and its impact on
stakeholder collaboration, development process, design-time vs runtime,
properties, model transformations, informal vs formal vs incomplete modeling,
comparison and benchmarking, and domain-specific languages.</p>
      <p>Our hope is that the set of observations and questions presented here will
spark further discussions and thus aid the community focus research on those
areas where the synergy of MBE and V&amp;V can yield the greatest benefits.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>El</given-names>
            <surname>Arbi</surname>
          </string-name>
          <string-name>
            <surname>Aboussoror</surname>
          </string-name>
          , Ileana Ober, and
          <string-name>
            <given-names>Iulian</given-names>
            <surname>Ober</surname>
          </string-name>
          . Seeing Errors:
          <article-title>Model Driven Simulation Trace Visualization</article-title>
          .
          <source>In Proc. of the Int. Conf. on Model Driven Engineering Languages and Systems (MODELS'12)</source>
          , volume
          <volume>7590</volume>
          <source>of LNCS</source>
          , pages
          <fpage>480</fpage>
          -
          <lpage>496</lpage>
          . Springer,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Moussa</given-names>
            <surname>Amrani</surname>
          </string-name>
          , Levi Lucio, Gehan Selim, Benoit Combemale, Ju¨rgen Dingel, Hans Vangheluwe, Yves Le Traon, and
          <string-name>
            <surname>James</surname>
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Cordy</surname>
          </string-name>
          .
          <article-title>A Tridimensional Approach for Studying the Formal Verification of Model Transformations</article-title>
          .
          <source>In Proc. of the IEEE Fifth Int. Conf. on Software Testing, Verification and Validation (ICST'12)</source>
          , pages
          <fpage>921</fpage>
          -
          <lpage>928</lpage>
          . IEEE Computer Society,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Bruno</given-names>
            <surname>Barroca</surname>
          </string-name>
          , Levi Lu´cio, Vasco Amaral, Roberto F´elix, and Vasco Sousa.
          <article-title>DSLTrans: A Turing Incomplete Transformation Language</article-title>
          .
          <source>In Software Language Engineering</source>
          , volume
          <volume>6563</volume>
          <source>of LNCS</source>
          , pages
          <fpage>296</fpage>
          -
          <lpage>305</lpage>
          . Springer,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Benoit</given-names>
            <surname>Baudry</surname>
          </string-name>
          ,
          <article-title>Trung Dinh-trong,</article-title>
          <string-name>
            <surname>J.-M. Mottu</surname>
          </string-name>
          , Devon Simmonds, Robert France, Sudipto Ghosh, Franck Fleurey, and Yves Le Traon.
          <article-title>Model transformation testing challenges</article-title>
          .
          <source>In Proc. of the IMDT workshop @ ECMDA06</source>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Benoit</given-names>
            <surname>Baudry</surname>
          </string-name>
          , Sudipto Ghosh, Franck Fleurey, Robert France, Yves Le Traon, and
          <string-name>
            <surname>Jean-Marie Mottu</surname>
          </string-name>
          .
          <article-title>Barriers to systematic model transformation testing</article-title>
          .
          <source>Commun. ACM</source>
          ,
          <volume>53</volume>
          (
          <issue>6</issue>
          ):
          <fpage>139</fpage>
          -
          <lpage>143</lpage>
          ,
          <year>June 2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Ga</surname>
          </string-name>
          <article-title>´bor Bergmann, Istva´n Ra´th, Gergely Varro´, and D´aniel Varro´. Change-driven model transformations - change (in) the rule to rule the change</article-title>
          .
          <source>Software and System Modeling</source>
          ,
          <volume>11</volume>
          (
          <issue>3</issue>
          ):
          <fpage>431</fpage>
          -
          <lpage>461</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Pieter</given-names>
            <surname>Van Grop Christian Krause</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Louis</given-names>
            <surname>Rose</surname>
          </string-name>
          . Transformation tool contest
          <year>2013</year>
          . http://planet-sl.
          <source>org/ttc2013.</source>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Edmund</surname>
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Clarke</surname>
            ,
            <given-names>E. Allen</given-names>
          </string-name>
          <string-name>
            <surname>Emerson</surname>
            , and
            <given-names>Joseph</given-names>
          </string-name>
          <string-name>
            <surname>Sifakis</surname>
          </string-name>
          .
          <article-title>Model checking: algorithmic verification and debugging</article-title>
          .
          <source>Commun. ACM</source>
          ,
          <volume>52</volume>
          (
          <issue>11</issue>
          ):
          <fpage>74</fpage>
          -
          <lpage>84</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>Hartmut</given-names>
            <surname>Ehrig</surname>
          </string-name>
          , Karsten Ehrig, Ulrike Prange, and
          <string-name>
            <given-names>Gabriele</given-names>
            <surname>Taentzer</surname>
          </string-name>
          .
          <article-title>Fundamentals of algebraic graph transformation</article-title>
          , volume
          <volume>373</volume>
          . Springer,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Sebastian</surname>
            <given-names>Gabmeyer</given-names>
          </string-name>
          , Petra Brosch, and
          <string-name>
            <given-names>Martina</given-names>
            <surname>Seidl</surname>
          </string-name>
          .
          <article-title>A Classification of Model Checking-Based Verification Approaches for Software Models</article-title>
          .
          <source>In Proceedings of VOLT'13</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Ismˆenia</surname>
          </string-name>
          <article-title>Galva˜o and Arda Goknil. Survey of traceability approaches in modeldriven engineering</article-title>
          .
          <source>In 11th IEEE International Enterprise Distributed Object Computing Conference (EDOC</source>
          <year>2007</year>
          ), pages
          <fpage>313</fpage>
          -
          <lpage>326</lpage>
          . IEEE Computer Society,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Martin</surname>
            <given-names>Gogolla</given-names>
          </string-name>
          , Fabian Bu¨ttner, and
          <article-title>Mark Richters</article-title>
          .
          <article-title>USE: A UML-Based Specification Environment for Validating UML and OCL</article-title>
          .
          <source>Science of Computer Programming</source>
          ,
          <volume>69</volume>
          :
          <fpage>27</fpage>
          -
          <lpage>34</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. Matti Ja¨rvisalo, Daniel Le Berre, Olivier Roussel, and
          <string-name>
            <given-names>Laurent</given-names>
            <surname>Simon</surname>
          </string-name>
          .
          <article-title>The International SAT Solver Competitions</article-title>
          .
          <source>AI Magazine</source>
          ,
          <volume>33</volume>
          (
          <issue>1</issue>
          ),
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Jochen M. Ku</surname>
          </string-name>
          <article-title>¨ster. Definition and validation of model transformations</article-title>
          .
          <source>Software and Systems Modeling</source>
          ,
          <volume>5</volume>
          (
          <issue>3</issue>
          ):
          <fpage>233</fpage>
          -
          <lpage>259</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>Mounira</given-names>
            <surname>Kezadri</surname>
          </string-name>
          and
          <string-name>
            <given-names>Marc</given-names>
            <surname>Pantel</surname>
          </string-name>
          .
          <article-title>First steps toward a verification and validation ontology</article-title>
          .
          <source>In Proc. of Int. Conf. on Knowledge Engineering and Ontology Development (KEOD'10)</source>
          , pages
          <fpage>440</fpage>
          -
          <lpage>444</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>Perdita</given-names>
            <surname>Stevens</surname>
          </string-name>
          .
          <article-title>Generative and transformational techniques in software engineering ii. chapter A Landscape of Bidirectional Model Transformations</article-title>
          , pages
          <fpage>408</fpage>
          -
          <lpage>424</lpage>
          . Springer,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Jan Oliver Ringer Udo Kelter</surname>
            ,
            <given-names>Piet</given-names>
          </string-name>
          <string-name>
            <surname>Pietsch</surname>
          </string-name>
          .
          <article-title>Comparison and versioning of software models</article-title>
          . http://pi.informatik.uni-siegen.de/CVSM2013/.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18. Antonio Vallecillo, Martin Gogolla, Loli Burguen˜o, Manuel
          <string-name>
            <surname>Wimmer</surname>
          </string-name>
          , and Lars Hamann.
          <article-title>Formal specification and testing of model transformations</article-title>
          .
          <source>In Proc. of the 12th Int. Conf. on Formal Methods for the Design of Computer</source>
          , Communication, and
          <article-title>Software Systems: formal methods for model-driven engineering (</article-title>
          <source>SFM'12)</source>
          , pages
          <fpage>399</fpage>
          -
          <lpage>437</lpage>
          . Springer,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>