<!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>Formal Validation and Model Synthesis for Domain-specific Languages by Logic Solvers</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Oszka´r Semera´th</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Budapest University of Technology and Economics Department of Measurement and Information Systems MTA-BME Lendu ̈let Research Group on Cyber-Physical Systems</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Validation of Domain-specific Languages</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2016</year>
      </pub-date>
      <fpage>2</fpage>
      <lpage>8</lpage>
      <abstract>
        <p>Despite the wide range of existing tool support, constructing a design environment for a complex domain-specific language (DSL) is still a tedious task due to the large number of derived features and well-formedness constraints complementing the domain. Additionally, an advanced design environment uses view transformation techniques to highlight different relevant aspects of the system. As any software, modeling tools are not free from errors. For complex domains, derived features and constraints can easily be formalized incorrectly resulting in inconsistent, incomplete or ambiguous DSL specification, or inconsistent view models. Moreover, errors in the modeling environment injects errors to the generated code and invalidates the results of any verification process. Therefore it is important to ensure the correctness (i.e. consistency and unambiguity) of the modeling languages. My research focuses on validation of modeling environments by (i) proving the correctness of Domain Specific Languages, (ii) automatically generating or extending models for DSLs and view models, and (iii) developing efficient decision procedures for DSLs.</p>
      </abstract>
      <kwd-group>
        <kwd>language validation</kwd>
        <kwd>derived features</kwd>
        <kwd>partial snapshots</kwd>
        <kwd>model queries</kwd>
        <kwd>logic solvers</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The design of integrated development environments for
complex domain-specific languages (DSL) is still a
challenging task nowadays. Advanced environments such as
Xtext, or Sirius built on top of model management
frameworks such as Eclipse Modeling Framework (EMF)
significantly improve productivity by automating the
production of rich editor features (e.g. syntax highlighting,
autocompletion, etc.) or by task-specific view models [
        <xref ref-type="bibr" rid="ref10">14</xref>
        ] to
enhance modeling for domain experts. Furthermore, there
is efficient tool support for validating well-formedness
constraints and design rules over large model instances of the
DSL using tools like Eclipse OCL [
        <xref ref-type="bibr" rid="ref41">45</xref>
        ] or VIATRA Query
[
        <xref ref-type="bibr" rid="ref1">5</xref>
        ]. As a result, Eclipse-based IDEs are widely used in the
industry in various domains including business modeling,
avionics or automotive.
      </p>
      <p>
        However, in case of complex, standardized industrial
domains (like ARINC 653 for avionics or AUTOSAR in
automotive), the sheer complexity of the DSL and the
models is a major challenge itself. (1) First, there are hundreds
of well-formedness constraints and design rules defined by
those standards, and due to the lack of validation, there is no
guarantee for their consistency or unambiguity. (2)
Moreover, domain metamodels are frequently extended by
derived features, which serve as automatically calculated
shortcuts for accessing or navigating models in a more
straightforward way. In many practical cases, these features are not
defined by the underlying standards but introduced during the
construction of the DSL environment for efficiency reasons.
Anyhow, the specification of derived features can also be
inconsistent, ambiguous or incomplete. And finally (3) view
models are key concept in domain-specific modeling tools
to provide task-specific focus by creating a model which
highlights only some relevant aspects of the system.
However, views can also be inconsistent with the model, or
represent unfeasible requirements. In general, mathematical
precise validation of DSL specifications themselves has been
attempted by only few approaches so far [
        <xref ref-type="bibr" rid="ref20">24</xref>
        ], and even these
approaches lack a systematic validation process.
      </p>
      <p>As model-driven tools are frequently used in critical
systems design to detect conceptual flaws of the system model
early in the development process to decrease verification and
validation (V&amp;V) costs, those tools should be validated with
the same level of scrutiny as the underlying system as part of
a software tool qualification process in order to provide trust
in their output. Therefore software tool qualification raises
several challenges for building trusted DSL tools for a
specific domain. First, the consistency and unambiguity of the
DSL specification have to be ensured. Secondly, the
developement of the modeling environment requires systematic
testing methods, which is based on the generation of valid
(or purposely faulty) models. And finally, the complete
analysis of view models requires tracing of view model changes
back to source model changes.</p>
      <p>Therefore, based on the previous challenges, I have
identified the two main research questions:
RQ1 Validation of Domain Specific Languages: How to
prove the consistency and completeness of DSL specs?
RQ2 Generation of well-formed instance models: How to
generate valid instance models of a complex DSL or View
models?</p>
    </sec>
    <sec id="sec-2">
      <title>Preliminaries</title>
      <p>The precise definition of complex domain-specific
languages (DSL) necessitates a combination of different
specification techniques. Metamodels define the main concepts,
relations and attributes of the target domain to specify the
basic structure of the models. A metamodel can be represented
by a theorem META, and consequently, a logic structure
M can specify an instance model. Therefore, M j= META
denotes if a model satisfies all structural constraints of the
metamodel (e.g. multiplicity or containment).</p>
      <p>
        To create an advanced modeling environment, a DSL is
typically augmented with well-formedness constraints (WF),
which capture additional restrictions any well-formed
instance model needs to respect (denoted with M j= WF ).
Such constraints can be defined by model queries (often
captured by graph patterns) [
        <xref ref-type="bibr" rid="ref2">6</xref>
        ] or as OCL invariants [
        <xref ref-type="bibr" rid="ref26">30</xref>
        ].
Furthermore, the metamodel can also be enhanced with
derived features (DF), i.e. attributes and relations calculated
from core model elements during model use, which can be
also specified using by graph patterns [
        <xref ref-type="bibr" rid="ref29">33</xref>
        ]. If the attributes
and references have the correct values then it is denoted
by M j= DF . The axiom set DSL of a domain-specific
language is summarized as DSL = META ^ WF ^ DF ,
and a valid instance model M satisfies those constraints:
M j= DSL.
      </p>
      <p>
        In a domain-specific modeling tool, the underlying
domain model is presented to the engineers in different views
(VIEW ). These views are populated from the source model
(by abstraction). One source model may populate multiple
view models. A view VIEW is derived from the source
model M by a unidirectional forward transformation view
[
        <xref ref-type="bibr" rid="ref10">14</xref>
        ]. An instance model M is consistent with a view model
VIEW (denoted by M j= VIEW ) if forward
transformation creates the same view VIEW = view (M ). Deriving
different views from an instance model is an efficient way to
highlight selected properties. However, calculating models
for views requires logic reasoning.
      </p>
      <p>Reasoning over a metamodel or view models has two
main challenges, which hinders the efficient analysis of
domain-specific languages:
Ch1 Proving a property P over a language DSL j= P is
undecidable in general.</p>
      <p>Ch2 Existing logic solvers (SAT/SMT) fail to derive
instance models for complex domain-specific languages
with views to create example or counter-example models.
3.</p>
    </sec>
    <sec id="sec-3">
      <title>Related Work</title>
      <p>
        Logic Solver Approaches There are several approaches
and tools aiming to validate models enriched with OCL
constraints [
        <xref ref-type="bibr" rid="ref15">19</xref>
        ] relying upon different logic formalisms such
as constraint logic programming [
        <xref ref-type="bibr" rid="ref6 ref7">10, 11</xref>
        ], SAT-based model
finders (like Alloy) [
        <xref ref-type="bibr" rid="ref23 ref39 ref40 ref5">3, 9, 27, 43, 44</xref>
        ], first-order logic [4],
constructive query containment [
        <xref ref-type="bibr" rid="ref28">32</xref>
        ] or higher-order logic
[
        <xref ref-type="bibr" rid="ref16 ref4">8, 20</xref>
        ]. Some of these approaches (like e.g. [
        <xref ref-type="bibr" rid="ref23 ref39 ref5 ref7">9, 11, 27, 43</xref>
        ])
offer bounded validation (where the search space needs to
be restricted explicitly) in order to execute the validation and
thus results can only be considered within the given scope,
others (like [
        <xref ref-type="bibr" rid="ref4">8</xref>
        ]) allow unbounded verification (which
normally results in increased level of interaction and
decidability issues).
      </p>
      <p>
        Uncertain Models Partial models are also similar to
uncertain models, which offer a rich specification language [
        <xref ref-type="bibr" rid="ref30">34</xref>
        ]
amenable to analysis. Uncertain models provide a more
expressive language compared to partial snapshots but
without handling additional WF constraints. Such models
document semantic variation points generically by annotations on
a regular instance model, which are gradually resolved
during the generation of concrete models. An uncertain model
is more complex (or informative) than a concrete one, thus
an a priori upper bound exists for the derivation, which is not
an assumption in our case.
      </p>
      <p>
        Potential concrete models compliant with an uncertain
model can synthesized by the Alloy Analyzer [
        <xref ref-type="bibr" rid="ref31">35</xref>
        ], or refined
by graph transformation rules [
        <xref ref-type="bibr" rid="ref32">36</xref>
        ]. Each concrete model is
derived in a single step, thus their approach is not iterative
like ours. Scalability analysis is omitted from the respective
papers, but refinement of uncertain models is always
decidable.
      </p>
      <p>
        View Models Using logic solvers for generating possible
source and target candidates is common part of several
approaches. [
        <xref ref-type="bibr" rid="ref9">13</xref>
        ] uses Answer Set Programming, [
        <xref ref-type="bibr" rid="ref8">12</xref>
        ] maps the
problem to Mixed Integer Linear Programming. [
        <xref ref-type="bibr" rid="ref24">28</xref>
        ] uses
Alloy to generate change operations on the source model
which leads to a modified source model which is (i)
wellformed and (i) consistent with the changed target model.
[
        <xref ref-type="bibr" rid="ref14">18</xref>
        ] and [
        <xref ref-type="bibr" rid="ref13">17</xref>
        ] converts the transformation to Alloy similarly,
but do not handle WF constraints of the source model, and
changes the whole source model.
      </p>
      <p>
        Rule-based Instance Generators A different class of model
generators relies on rule-based synthesis driven by
random2016/12/9
ized, statistical or metamodel coverage information for
testing purposes [
        <xref ref-type="bibr" rid="ref12 ref3">7, 16</xref>
        ]. Some approaches support the
calculation of effective metamodels [
        <xref ref-type="bibr" rid="ref38">42</xref>
        ], but partial snapshots
are excluded from input specifications. Moreover, WF
constraints are restricted to local constraints evaluated on
individual objects while global constraints of a DSL are not
supported. On the positive side, these approaches guarantee
the diversity of models and scale well in practice.
Iterative approaches. An iterative approach is proposed
(specifically for allocation problems) in [
        <xref ref-type="bibr" rid="ref22">26</xref>
        ] based on
Formula. Models are generated in two steps to increase diversity
of results. First, non-isomorphic submodels are created only
from an effective metamodel fragment. In the second step
the algorithm completes the different submodels according
to the full model, but constraints are only checked at the very
final stage.An iterative, counter-example guided synthesis is
proposed for higher-order logic formulae in [
        <xref ref-type="bibr" rid="ref25">29</xref>
        ], but the size
of derived models is fixed.
      </p>
    </sec>
    <sec id="sec-4">
      <title>Formal Validation of Domain-Specific</title>
    </sec>
    <sec id="sec-5">
      <title>Languages by Logic Solvers</title>
      <p>
        Approach Addressing research problem RP 1., we created
a novel approach presented in [
        <xref ref-type="bibr" rid="ref34 ref35">38, 39</xref>
        ] to analyze the DSL
specification of modeling tools by mapping them into first
order logic (FOL) formulae that can be processed by
advanced reasoners such as SMT solvers (Z3) or SAT solvers
(Alloy, see Figure 1). The outcome of a reasoning
problem is either satisfiable or unsatisfiable. If the problem is
satisfiable, the solver constructs an output (or completed)
model (which is interpreted as witness or counterexample
depending on the validation task), while an unsatisfiable
result means a contradiction. Because certain validation tasks
are undecidable in FOL it is also possible that validation
terminates with an unknown answer or a timeout.
      </p>
      <p>Modelling Tool</p>
      <p>Metamodels
Derived Features
WF Constraints</p>
      <p>Snapshots
View Models</p>
      <p>Reasoning</p>
      <p>Search
Parameters
Mapping
Solver</p>
      <p>Result
SAT</p>
      <p>M
UNSAT</p>
      <p>↯
Unknown
?</p>
      <p>We carry out a wide range of validation tasks by
automated theorem proving based on this formalization to prove
different properties of a DSL. To decrease the development
time and cost of DSL tools, we aim to detect design flaws
in the early phase of DSL development by highlighting
validation problems to the developer directly in the tool itself
by back-annotating analysis results. Linking the independent
reasoning tool to the modeling tool allows the DSL
developer to make mathematically precise deductions over the
developed languages.</p>
      <p>Contributions My first contribution aims the formalization
of graph patterns used in the specification of DSLs to first
order logic expression (FOL).</p>
      <p>
        Con1.1 Mapping of graph patterns to effectively
propositional logic: I introduced a technique to transform WF
and DF rules captured by graph patterns to a decidable
fragment of FOL [
        <xref ref-type="bibr" rid="ref27">31</xref>
        ] by using over- and
underapproximation techniques. [
        <xref ref-type="bibr" rid="ref34">38</xref>
        ]
      </p>
      <p>With model queries, meta- and optionally instance
models can be translated to logic expression in order to analyze
their consistency.</p>
      <p>Con1.2 Uniform analysis of DSL specification: I
introduced a technique that uniformly translates DLS elements
to FOL to analyze the consistency of the whole DSL
specification, which includes metamodels, instance models,
well-formedness (OCL or graph pattern) and derived
features.</p>
      <p>Based on the consistency analysis technique, several
validation rules are specified, which can be checked by the
underlying logic solver.</p>
      <p>Con1.3 Identification of context dependent DSL
validation criteria: I defined completeness and unambiguity
properties of derived features, subsumption and
equivalence relations of well-formedness constraints, derived
features and instance models. These properties can be
checked on the full DSL, or on a specific fragment of it.</p>
      <p>In order to systematically carry out the validation process
for the whole DSL, we propose a validation workflow, which
consequently investigates each language feature, and can be
used without any theorem-proving skills.</p>
      <p>Con1.4 Validation workflow for DSL specifications: We
recommended a validation process for the DSL, which
systematically checks the language properties, and in
case of inconsistencies, helps the developer to correct
the DSL specification (or refine the validation context) by
showing representative counterexamples to the assumed
properties.</p>
      <p>Our technique is successfully applied on a case study
taken from the avionics domains.</p>
      <p>
        Con1.5 Application: Validation of an avionics DSL: I
carried out the validation of the functional architecture
modeling language of of avionics systems, developed in
Trans-IMA project [
        <xref ref-type="bibr" rid="ref18">22</xref>
        ].
      </p>
      <p>Added Value The main added value of approach is to
cover rich DSL constructs such as derived features and
wellformedness constraints captured in declarative languages
such as graph patterns and OCL invariants. While other
approaches use bounded verification or simply ignore
unsupported features, I proposed approximations to transform
language features into a decidable fragment of first-order
logic (called effectively propositional logic), and to
handle language features which cannot be represented in FOL.
2016/12/9
Therefore, the correctness of a DSL can be proved using our
method, while others only can detect errors.</p>
      <p>Our approach is supported by a prototype tool integrated
into Eclipse, which takes EMF metamodels, instance
models, EMF-IncQuery graph patterns and OCL constraints as
input to carry out DSL validation. As a technological
difference, our tool is compliant with standard Eclipse based
technologies, while Formula and Alloy use their own
modeling language. When an output model is derived as a
witness or counterexample, this model is back-annotated to the
DSL tool itself so that language engineers could observe the
source of the problem in their custom language. Therefore it
does not require additional theorem proving skills.</p>
    </sec>
    <sec id="sec-6">
      <title>Iterative and incremental model generation by logic solvers</title>
      <p>
        As a side effect, our DSL validation framework of section 4
can also generate prototypical well-formed instance models
for a DSL, which can be used for synthesizing test cases,
for instance. As the metamodel of an industrial DSL may
contain hundreds of model elements, any realistic instance
model should be of similar size. Unfortunately, this cannot
currently be achieved by a single direct call to the underlying
solver [
        <xref ref-type="bibr" rid="ref19 ref20 ref35">23, 24, 39</xref>
        ], thus existing logic based model
generators fail to scale. Furthermore, logic solvers tend to retrieve
simple unrealistic models [
        <xref ref-type="bibr" rid="ref21">25</xref>
        ] consisting of unconnected
islands of model fragments and many isolated nodes, which is
problematic in an industrial setting.
      </p>
      <p>Approach Addressing the model generation challenge of
RP2, we propose an iterative process for incrementally
generating valid instance models for DSLs with views by
calling existing model generators as black-box components, and
using various abstractions and approximations to improve
overall scalability. Therefore, as seen in Figure 2, instance
models can be incrementally generated in multiple steps as a
sequence of extending partial models M1; : : : ; Mn, where
each step is an independent call to the underlying solver.
The main idea behind this approach is that the solver can
be guided by smaller logic problems, where only the newly
created elements have to be added (marked by ).</p>
      <p>Step 1
Transformation</p>
      <p>Logic
Solver
</p>
      <p>M1
</p>
      <p>Step 2
Transformation</p>
      <p>+Δ
Logic
Solver
</p>
      <p>M2
</p>
      <p>Step 3
Transformation</p>
      <p>+Δ
Logic
Solver
</p>
      <p>
        M3

Contributions First, incremental model generation
requires the decomposition of the problem into smaller tasks,
which can be solved sequentially, each step in
incrementing the synthesized model while trying to keep them
wellformed. The decomposition is enabled by two techniques:
metamodel pruning [
        <xref ref-type="bibr" rid="ref12 ref38">16, 42</xref>
        ] to reduce the types in a
problem, and partial models [
        <xref ref-type="bibr" rid="ref11">15</xref>
        ] to extend the model in multiple
steps.
      </p>
      <p>
        Con2.1 Decomposition of Model Generation Problems:
I specified a decomposition technique for instance
models in order to specify a partial solutions for model
generation using partial modeling, and metamodel pruning.
[
        <xref ref-type="bibr" rid="ref37">41</xref>
        ]
      </p>
      <p>
        When removing certain metamodel elements by
pruning, or creating only partial models, related well-formedness
constraints need special care. Simple removal of the
constraints significantly increase the rate of false positives in a
later phase of model generation to such an extent that no
intermediate models can be extended to a valid final model.
Based on some first-order logic representation of the
constraints (derived e.g. in accordance with [
        <xref ref-type="bibr" rid="ref35">39</xref>
        ]), we propose
to maintain approximated versions of constraint sets during
metamodel pruning.
      </p>
      <p>
        Con2.2 Approximation of Well-formedness Constraints:
I specified an overapproximation technique for
wellformedness constraints on partial models with pruned
metamodels. [
        <xref ref-type="bibr" rid="ref33 ref37">37, 41</xref>
        ]
      </p>
      <p>
        Using approximated (simplified) model generation steps
an incremental model generation process is created which
iteratively calls black-box logic solvers to guarantee
wellformedness by feeding instance models obtained in a
previous step as partial solution to a subsequent phase. In
each step, the number of types, elements and constraints
is strongly limited by metamodel pruning, partial modeling
and constraint approximation techniques. Our experiments
show that significantly larger model instances (up to 250
objects instead of 20 using Alloy [
        <xref ref-type="bibr" rid="ref36">40</xref>
        ]) can be generated
with the same solvers using such an incremental approach
especially in the presence of complex well-formedness
constraints.
      </p>
      <p>
        Con2.3 Incremental Model Generation: I proposed an
iterative workflow to incrementally generate instance
models of increasing complexity. [
        <xref ref-type="bibr" rid="ref37">41</xref>
        ]
      </p>
      <p>View models are extensively used in model-driven
engineering to highlight different relevant properties of a
system. However, the generation of valid instance models M
for view models VIEW (such as M j= VIEW ^ DSL)
remains a challenge. The generation problem can be initiated
from an existing source and view models by breaking the
consistency with a change in some of the view models. In
this case, an existing source model and existing unchanged
parts of the view model can be used to reduce the difficulty
of the logic problem further. We illustrated our change
propagation technique on a healthcare example [1].</p>
      <p>Con2.4 Incremental Model Synthesis for Bidirectional
Transformations of View Models: I transformed
querybased view specification into logic formulae to
automatically synthesize possible source model changes consistent
to a view model change.
2016/12/9</p>
      <p>Finally, the incremental generation technique is applied
in one of our research project:
Con2.4 Application: Generation of Context Models: I
successfully applied my technique in test context
generation for autonomous and cooperative robot systems for
R3COP ARTEMIS project [2]
Added value The validation of DSL tools frequently
necessitates the synthesis of well-formed and nontrivial
instance models, which satisfy the language specification.</p>
      <p>View model is a convenient and precise way to be used
as specification language for model generation. For
generating source model candidates for views, our approach takes
the whole DSL specification into the account including the
interaction of the metamodel, the WF constraints and other
view models.</p>
    </sec>
    <sec id="sec-7">
      <title>Towards a Solver for DSL Models</title>
      <p>The technique in section 5 is able to automatically creates
valid instance models, but the sequence might lead to a
dead-end if an intermediate solution can not be completed.
By automatically backtracking unsatisfiable partial models a
(semi-)automated process is able to explore the possible
solutions for a model generation process. This section presents
our newest model generation approach, which is currently
under developement.</p>
      <p>PM0</p>
      <p>Partial interpretation:</p>
      <p>partial model</p>
      <p>Refinement Step
Partial evaluation ? Inconsistency check ?
of constraints of partial model
by query engine by logic solver</p>
      <p>Refinement
of partial model
by transformation rules
Solution:</p>
      <p>Cut: !</p>
      <p>
        Refined
interpretations: PM1 PM2 PM3
Approach Figure 3 illustrates a model refinement step
combining the advantages of multiple model generation
techniques. As input, the step gets a partial interpretation of
an instance model, which is represented as a partial model
(as opposed to partial interpretations or proofs in solvers).
The partial model is refined in three steps:
1. A model query engine creates a partial evaluation[
        <xref ref-type="bibr" rid="ref33">37</xref>
        ]
on the partial model to determine if the partial solution
satisfies all constraints (therefore it is a valid model),
violates a constraint (therefore it can not be finished).
2. Then a solver tries to prove that the logic problem cannot
be solved with this partial solution, or to create a valid
solution as a counterexample.
3. If the solver fails, the solution is refined by partial model
refinement transformations [
        <xref ref-type="bibr" rid="ref3 ref30">7, 34</xref>
        ] which automatically
produces several partial solution candidates.
      </p>
      <p>
        Therefore, constraints can be evaluated with an efficient
query engine, and the matches can be used to simplify the
logic problem by the removal of satisfied constraints on the
partial model. Solvers are efficient detecting inconsistencies
in a specification, but often fails to create models. Our
solution creates models by trying to add elements. Each
refinement step may produce several partial model candidates,
create a valid solution or cut off branches by proving that the
partial solution cannot be finished. This requires the
management of a search space, which can be efficiently handled by
advanced design space exploration techniques [
        <xref ref-type="bibr" rid="ref17">21</xref>
        ]
      </p>
      <p>In summary, a search based model refinement with
integrated solvers is able to prove inconsistencies in a DSL,
and expected to create models more efficiently with
modelgeneration specific heuristics.</p>
    </sec>
    <sec id="sec-8">
      <title>Acknowledgments</title>
      <p>I would like to thank my advisor, Da´niel Varro´ for his
support during my research, and A´ gnes Barta and A´kos Horva´th
for the joint work.
[1] CONCERTO ARTEMIS project. concerto-project.org/.
[2] R3Cop (Resilient Reasoning Robotic Co-operative Systems).</p>
      <p>ARTEMIS project n 100233, http://www.r3-cop.eu/.
[3] K. Anastasakis, B. Bordbar, G. Georg, and I. Ray. On
challenges of model transformation from UML to Alloy. Softw.</p>
      <p>Syst. Model., 9(1):69–86, 2010.
[4] B. Beckert, U. Keller, and P. H. Schmitt. Translating the
Object Constraint Language into first-order predicate logic. In
Proc of the VERIFY, Workshop at Federated Logic
Conferences (FLoC), Copenhagen, Denmark, 2002.
2016/12/9
2016/12/9</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>G.</given-names>
            <surname>Bergmann</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          ´ .
          <source>Horva´th, I. Ra´th</source>
          , D. Varro´,
          <string-name>
            <given-names>A.</given-names>
            <surname>Balogh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Balogh</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <surname>A.</surname>
          </string-name>
          <article-title>O¨ kro¨s. Incremental Evaluation of Model Queries over EMF Models</article-title>
          .
          <source>In MODELS'10</source>
          , volume
          <volume>6395</volume>
          <source>of LNCS</source>
          . Springer,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>G.</given-names>
            <surname>Bergmann</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          <article-title>Hegedu¨s, A. Horva´th, I. Ra´th</article-title>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Ujhelyi</surname>
          </string-name>
          , and D. Varro´.
          <article-title>Implementing efficient model validation in EMF tools</article-title>
          .
          <source>In 26th IEEE/ACM International Conference on Automated Software Engineering</source>
          , pages
          <fpage>580</fpage>
          -
          <lpage>583</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>E.</given-names>
            <surname>Brottier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Fleurey</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Steel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Baudry</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y. Le</given-names>
            <surname>Traon</surname>
          </string-name>
          .
          <article-title>Metamodel-based Test Generation for Model Transformations: an Algorithm and a Tool</article-title>
          .
          <source>In 17th International Symposium on Software Reliability Engineering</source>
          ,
          <year>2006</year>
          . ISSRE '
          <volume>06</volume>
          ., pages
          <fpage>85</fpage>
          -
          <lpage>94</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>A. D.</given-names>
            <surname>Brucker</surname>
          </string-name>
          and
          <string-name>
            <given-names>B.</given-names>
            <surname>Wolff</surname>
          </string-name>
          .
          <source>The HOL-OCL tool</source>
          ,
          <year>2007</year>
          . http://www.brucker.ch/.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>F.</given-names>
            <surname>Bu</surname>
          </string-name>
          ¨ttner, M. Egea,
          <string-name>
            <given-names>J.</given-names>
            <surname>Cabot</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Gogolla</surname>
          </string-name>
          .
          <article-title>Verification of ATL transformations using transformation models and model finders</article-title>
          .
          <source>In 14th International Conference on Formal Engineering Methods</source>
          , pages
          <fpage>198</fpage>
          -
          <lpage>213</lpage>
          . Springer,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>J.</given-names>
            <surname>Cabot</surname>
          </string-name>
          , R. Clariso´, and
          <string-name>
            <given-names>D.</given-names>
            <surname>Riera</surname>
          </string-name>
          .
          <article-title>UMLtoCSP: a tool for the formal verification of UML/OCL models using constraint programming</article-title>
          .
          <source>In 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE'07)</source>
          , pages
          <fpage>547</fpage>
          -
          <lpage>548</lpage>
          . ACM,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>J.</given-names>
            <surname>Cabot</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Clariso</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Riera</surname>
          </string-name>
          .
          <article-title>Verification of UML/OCL class diagrams using constraint programming</article-title>
          .
          <source>In Software Testing Verification and Validation Workshop</source>
          ,
          <year>2008</year>
          . ICSTW '08. IEEE International Conference on, pages
          <fpage>73</fpage>
          -
          <lpage>80</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>G.</given-names>
            <surname>Callow</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Kalawsky</surname>
          </string-name>
          .
          <article-title>A satisficing bi-directional model transformation engine using mixed integer linear programming</article-title>
          .
          <source>Journal of Object Technology</source>
          ,
          <volume>12</volume>
          (
          <issue>1</issue>
          ):1:
          <fpage>1</fpage>
          -
          <lpage>43</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>A.</given-names>
            <surname>Cicchetti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. Di</given-names>
            <surname>Ruscio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Eramo</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Pierantonio</surname>
          </string-name>
          .
          <article-title>JTL: a bidirectional and change propagating transformation language</article-title>
          .
          <source>In Software Language Engineering</source>
          , pages
          <fpage>183</fpage>
          -
          <lpage>202</lpage>
          . Springer,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>C.</given-names>
            <surname>Debreceni</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          ´ .
          <article-title>Horva´th, A´</article-title>
          . Heged u¨s,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Ujhelyi</surname>
          </string-name>
          ,
          <string-name>
            <surname>I.</surname>
          </string-name>
          <article-title>Ra´th, and D. Varro´. Query-driven incremental synchronization of view models</article-title>
          .
          <source>In Proceedings of the 2nd Workshop on ViewBased, Aspect-Oriented and Orthographic Software Modelling, page 31. ACM</source>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>M.</given-names>
            <surname>Famelis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Salay</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Chechik</surname>
          </string-name>
          .
          <article-title>Partial models: Towards modeling and reasoning with uncertainty</article-title>
          .
          <source>In Proceedings of the 34th International Conference on Software Engineering</source>
          , pages
          <fpage>573</fpage>
          -
          <lpage>583</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>F.</given-names>
            <surname>Fleurey</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Steel</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Baudry</surname>
          </string-name>
          .
          <article-title>Validation in model-driven engineering: Testing model transformations</article-title>
          . In International Workshop on Model,
          <source>Design and Validation</source>
          , pages
          <fpage>29</fpage>
          -
          <lpage>40</lpage>
          ,
          <year>Nov 2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>L.</given-names>
            <surname>Gammaitoni</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Kelsen</surname>
          </string-name>
          .
          <article-title>F-alloy: An alloy based model transformation language</article-title>
          .
          <source>In Theory and Practice of Model Transformations</source>
          , pages
          <fpage>166</fpage>
          -
          <lpage>180</lpage>
          . Springer,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>H.</given-names>
            <surname>Gholizadeh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Diskin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Kokaly</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Maibaum</surname>
          </string-name>
          .
          <article-title>Analysis of source-to-target model transformations in quest</article-title>
          .
          <source>In Proceedings of the 4th Workshop on the Analysis of Model Transformations</source>
          , pages
          <fpage>46</fpage>
          -
          <lpage>55</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>M.</given-names>
            <surname>Gogolla</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Bohling</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Richters</surname>
          </string-name>
          .
          <article-title>Validating UML and OCL models in USE by automatic snapshot generation</article-title>
          .
          <source>Softw. Syst. Model.</source>
          ,
          <volume>4</volume>
          (
          <issue>4</issue>
          ):
          <fpage>386</fpage>
          -
          <lpage>398</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>H.</given-names>
            <surname>Gro</surname>
          </string-name>
          ¨nniger,
          <string-name>
            <given-names>J. O.</given-names>
            <surname>Ringert</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Rumpe</surname>
          </string-name>
          .
          <article-title>System modelbased definition of modeling language semantics</article-title>
          .
          <source>In Formal Techniques for Distributed Systems</source>
          , volume
          <volume>5522</volume>
          <source>of LNCS</source>
          , pages
          <fpage>152</fpage>
          -
          <lpage>166</lpage>
          . Springer,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [21]
          <string-name>
            <surname>A´ .</surname>
          </string-name>
          <article-title>Hegedu¨s, A´ . Horva´th, I. Ra´th, and D. Varro´. A modeldriven framework for guided design space exploration</article-title>
          .
          <source>In 26th IEEE/ACM International Conference on Automated Software Engineering (ASE</source>
          <year>2011</year>
          ).
          <source>IEEE Computer Society</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>A</given-names>
            <surname>´ . Horva</surname>
          </string-name>
          <article-title>´th, A´</article-title>
          . Hegedu¨s, M. Bu´r, D. Varro´,
          <string-name>
            <given-names>R. R.</given-names>
            <surname>Starr</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Mirachi</surname>
          </string-name>
          .
          <article-title>Hardware-software allocation specification of ima systems for early simulation</article-title>
          .
          <source>In Digital Avionics Systems Conference (DASC)</source>
          . IEEE,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>D.</given-names>
            <surname>Jackson</surname>
          </string-name>
          . Alloy Analyzer. http://alloy.mit.edu/.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>E. K.</given-names>
            <surname>Jackson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Levendovszky</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Balasubramanian</surname>
          </string-name>
          .
          <article-title>Reasoning about metamodeling with formal specifications and automatic proofs</article-title>
          .
          <source>In Proc. of the 14th Int. Conf. on MODELS</source>
          , volume
          <volume>6981</volume>
          <source>of LNCS</source>
          , pages
          <fpage>653</fpage>
          -
          <lpage>667</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>E. K.</given-names>
            <surname>Jackson</surname>
          </string-name>
          ,
          <string-name>
            <surname>G</surname>
          </string-name>
          . Simko, and
          <string-name>
            <given-names>J.</given-names>
            <surname>Sztipanovits</surname>
          </string-name>
          .
          <article-title>Diversely enumerating system-level architectures</article-title>
          .
          <source>In Proceedings of the 11th ACM Int. Conf. on Embedded Software, page 11</source>
          . IEEE Press,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>E.</given-names>
            <surname>Kang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E</given-names>
            .
            <surname>Jackson</surname>
          </string-name>
          , and
          <string-name>
            <given-names>W.</given-names>
            <surname>Schulte</surname>
          </string-name>
          .
          <article-title>An approach for effective design space exploration</article-title>
          . In R. Calinescu and
          <string-name>
            <surname>E</surname>
          </string-name>
          . Jackson, editors,
          <source>Foundations of Computer Software. Modeling, Development, and Verification of Adaptive Systems</source>
          , volume
          <volume>6662</volume>
          <source>of LNCS</source>
          , pages
          <fpage>33</fpage>
          -
          <lpage>54</lpage>
          . Springer Berlin Heidelberg,
          <year>2011</year>
          . ISBN 978-3-
          <fpage>642</fpage>
          -21291-8.
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>M.</given-names>
            <surname>Kuhlmann</surname>
          </string-name>
          , L. Hamann, and
          <string-name>
            <given-names>M.</given-names>
            <surname>Gogolla</surname>
          </string-name>
          .
          <article-title>Extensive validation of OCL models by integrating SAT solving into use</article-title>
          .
          <source>In TOOLS'11 - Objects</source>
          , Models,
          <source>Components and Patterns</source>
          , volume
          <volume>6705</volume>
          <source>of LNCS</source>
          , pages
          <fpage>290</fpage>
          -
          <lpage>306</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>N.</given-names>
            <surname>Macedo</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Cunha</surname>
          </string-name>
          .
          <article-title>Implementing QVT-R bidirectional model transformations using Alloy</article-title>
          . In Fundamental Approaches to Software Engineering, pages
          <fpage>297</fpage>
          -
          <lpage>311</lpage>
          .
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>A.</given-names>
            <surname>Milicevic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. P.</given-names>
            <surname>Near</surname>
          </string-name>
          , E. Kang, and
          <string-name>
            <given-names>D.</given-names>
            <surname>Jackson</surname>
          </string-name>
          .
          <article-title>Alloy*: A general-purpose higher-order relational constraint solver</article-title>
          .
          <source>In 37th IEEE/ACM Int. Conf. on Software Engineering, ICSE</source>
          , pages
          <fpage>609</fpage>
          -
          <lpage>619</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>Object</given-names>
            <surname>Constraint</surname>
          </string-name>
          <string-name>
            <surname>Language</surname>
          </string-name>
          ,
          <year>v2</year>
          .
          <fpage>0</fpage>
          . The Object Management Group, May
          <year>2006</year>
          . http://www.omg.org/spec/OCL/2.0/.
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>R.</given-names>
            <surname>Piskac</surname>
          </string-name>
          , L. de Moura, and
          <string-name>
            <given-names>N.</given-names>
            <surname>Bjorner</surname>
          </string-name>
          .
          <article-title>Deciding effectively propositional logic with equality</article-title>
          ,
          <year>2008</year>
          . Microsoft Research,
          <string-name>
            <surname>MSR-TR-</surname>
          </string-name>
          2008
          <source>-181 Technical Report.</source>
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>A.</given-names>
            <surname>Queralt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Artale</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          , and
          <string-name>
            <surname>E. Teniente.</surname>
          </string-name>
          <article-title>OCLLite: Finite reasoning on UML/OCL conceptual schemas</article-title>
          .
          <source>Data Knowl. Eng.</source>
          ,
          <volume>73</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>22</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [33]
          <string-name>
            <given-names>I.</given-names>
            <surname>Ra</surname>
          </string-name>
          <article-title>´th, A. Hegedu¨s, and D. Varro´. Derived features for EMF by integrating advanced model queries</article-title>
          .
          <source>In Modelling Foundations and Applications</source>
          , LNCS, pages
          <fpage>102</fpage>
          -
          <lpage>117</lpage>
          . Springer Berlin / Heidelberg,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [34]
          <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>A generalized formal framework for partial modeling</article-title>
          . In Fundamental Approaches to Software Engineering, volume
          <volume>9033</volume>
          <source>of LNCS</source>
          , pages
          <fpage>133</fpage>
          -
          <lpage>148</lpage>
          . Springer Berlin Heidelberg,
          <year>2015</year>
          . ISBN 978-3-
          <fpage>662</fpage>
          -46674-2.
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [35]
          <string-name>
            <given-names>R.</given-names>
            <surname>Salay</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Famelis</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Chechik</surname>
          </string-name>
          .
          <article-title>Language independent refinement using partial modeling</article-title>
          . In J. de Lara and A. Zisman, editors, Fundamental Approaches to Software Engineering, volume
          <volume>7212</volume>
          <source>of LNCS</source>
          , pages
          <fpage>224</fpage>
          -
          <lpage>239</lpage>
          . Springer Berlin Heidelberg,
          <year>2012</year>
          . ISBN 978-3-
          <fpage>642</fpage>
          -28871-5.
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [36]
          <string-name>
            <given-names>R.</given-names>
            <surname>Salay</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Chechik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Famelis</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Gorzny</surname>
          </string-name>
          .
          <article-title>A methodology for verifying refinements of partial models</article-title>
          .
          <source>Journal of Object Technology</source>
          ,
          <volume>14</volume>
          (
          <issue>3</issue>
          ):3:
          <fpage>1</fpage>
          -
          <lpage>31</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [37]
          <string-name>
            <given-names>O.</given-names>
            <surname>Semera</surname>
          </string-name>
          <article-title>´th and D. Varr o´. Validation of well-formedness constraints on uncertain model</article-title>
          .
          <source>In Proceedings of the 10ht Conference of PhD Students in Computer Science</source>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [38]
          <string-name>
            <given-names>O.</given-names>
            <surname>Semera</surname>
          </string-name>
          <article-title>´th, A´ . Horva´th, and D. Varro´. Validation of derived features and well-formedness constraints in dsls</article-title>
          .
          <source>In International Conference on Model Driven Engineering Languages and Systems</source>
          , pages
          <fpage>538</fpage>
          -
          <lpage>554</lpage>
          . Springer,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          [39]
          <string-name>
            <given-names>O.</given-names>
            <surname>Semera</surname>
          </string-name>
          <article-title>´th,</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Barta</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . Horva´th, Z. Szatma´ri, and D. Varro´.
          <article-title>Formal validation of domain-specific languages with derived features and well-formedness constraints</article-title>
          .
          <source>Software and Systems Modeling</source>
          , pages
          <fpage>1</fpage>
          -
          <lpage>36</lpage>
          ,
          <year>2015</year>
          . ISSN 1619-1366.
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          [40]
          <string-name>
            <given-names>O.</given-names>
            <surname>Semera</surname>
          </string-name>
          ´th,
          <string-name>
            <given-names>C.</given-names>
            <surname>Debreceni</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          ´ .
          <article-title>Horva´th, and D. Varro´. Incremental backward change propagation of view models by logic solvers</article-title>
          .
          <source>In Proceedings of the ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems</source>
          , pages
          <fpage>306</fpage>
          -
          <lpage>316</lpage>
          . ACM,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          [41]
          <string-name>
            <given-names>O.</given-names>
            <surname>Semera</surname>
          </string-name>
          <article-title>´th, A. V o¨ro¨s, and D. Varro´. Iterative and incremental model generation by logic solvers</article-title>
          . Fundamental Approaches to Software Engineering, 19th International Conference,
          <string-name>
            <surname>FASE</surname>
          </string-name>
          <year>2016</year>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          [42]
          <string-name>
            <given-names>S.</given-names>
            <surname>Sen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Moha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Baudry</surname>
          </string-name>
          , and J.
          <string-name>
            <surname>-M. Je</surname>
          </string-name>
          <article-title>´ze´quel. Meta-model Pruning</article-title>
          .
          <source>In Proceedings of the International Conference on Model Driven Engineering Languages and Systems (MODELS)</source>
          , Denver, Colorado, USA, Oct
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref39">
        <mixed-citation>
          [43]
          <string-name>
            <given-names>S. M. A.</given-names>
            <surname>Shah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Anastasakis</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Bordbar</surname>
          </string-name>
          .
          <article-title>From UML to Alloy and back again</article-title>
          .
          <source>In MoDeVVa '09: Proceedings of the 6th International Workshop on Model-Driven Engineering, Verification and Validation</source>
          , pages
          <fpage>1</fpage>
          -
          <lpage>10</lpage>
          . ACM,
          <year>2009</year>
          . ISBN 978-1-
          <fpage>60558</fpage>
          -876-6.
        </mixed-citation>
      </ref>
      <ref id="ref40">
        <mixed-citation>
          [44]
          <string-name>
            <given-names>M.</given-names>
            <surname>Soeken</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Wille</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kuhlmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Gogolla</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Drechsler</surname>
          </string-name>
          .
          <article-title>Verifying UML/OCL models using boolean satisfiability</article-title>
          . In Design, Automation and Test in Europe,
          <source>(DATE'10)</source>
          , pages
          <fpage>1341</fpage>
          -
          <lpage>1344</lpage>
          . IEEE,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref41">
        <mixed-citation>
          [45]
          <string-name>
            <given-names>E. D.</given-names>
            <surname>Willink</surname>
          </string-name>
          .
          <article-title>An extensible OCL virtual machine and code generator</article-title>
          .
          <source>In Proc. of the 12th Workshop on OCL and Textual Modelling</source>
          , pages
          <fpage>13</fpage>
          -
          <lpage>18</lpage>
          . ACM,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>