=Paper= {{Paper |id=Vol-1775/MODELS2016-SRC_paper_6 |storemode=property |title=Formal Validation and Model Synthesis for Domain-specific Languages by Logic Solvers |pdfUrl=https://ceur-ws.org/Vol-1775/MODELS2016-SRC_paper_6.pdf |volume=Vol-1775 |authors=Oszkár Semeráth |dblpUrl=https://dblp.org/rec/conf/models/Semerath16 }} ==Formal Validation and Model Synthesis for Domain-specific Languages by Logic Solvers== https://ceur-ws.org/Vol-1775/MODELS2016-SRC_paper_6.pdf
                     Formal Validation and Model Synthesis for
                     Domain-specific Languages by Logic Solvers

                                                      Oszkár Semeráth
                                    Budapest University of Technology and Economics
                                  Department of Measurement and Information Systems
                               MTA-BME Lendület Research Group on Cyber-Physical Systems
                                                 semerath@mit.bme.hu




Abstract                                                             tion of rich editor features (e.g. syntax highlighting, auto-
Despite the wide range of existing tool support, construct-          completion, etc.) or by task-specific view models [14] to
ing a design environment for a complex domain-specific lan-          enhance modeling for domain experts. Furthermore, there
guage (DSL) is still a tedious task due to the large number          is efficient tool support for validating well-formedness con-
of derived features and well-formedness constraints com-             straints and design rules over large model instances of the
plementing the domain. Additionally, an advanced design              DSL using tools like Eclipse OCL [45] or V IATRA Query
environment uses view transformation techniques to high-             [5]. As a result, Eclipse-based IDEs are widely used in the
light different relevant aspects of the system. As any soft-         industry in various domains including business modeling,
ware, modeling tools are not free from errors. For complex           avionics or automotive.
domains, derived features and constraints can easily be for-             However, in case of complex, standardized industrial do-
malized incorrectly resulting in inconsistent, incomplete or         mains (like ARINC 653 for avionics or AUTOSAR in au-
ambiguous DSL specification, or inconsistent view models.            tomotive), the sheer complexity of the DSL and the mod-
Moreover, errors in the modeling environment injects errors          els is a major challenge itself. (1) First, there are hundreds
to the generated code and invalidates the results of any veri-       of well-formedness constraints and design rules defined by
fication process. Therefore it is important to ensure the cor-       those standards, and due to the lack of validation, there is no
rectness (i.e. consistency and unambiguity) of the modeling          guarantee for their consistency or unambiguity. (2) More-
languages. My research focuses on validation of modeling             over, domain metamodels are frequently extended by de-
environments by (i) proving the correctness of Domain Spe-           rived features, which serve as automatically calculated short-
cific Languages, (ii) automatically generating or extending          cuts for accessing or navigating models in a more straightfor-
models for DSLs and view models, and (iii) developing effi-          ward way. In many practical cases, these features are not de-
cient decision procedures for DSLs.                                  fined by the underlying standards but introduced during the
                                                                     construction of the DSL environment for efficiency reasons.
Keywords language validation, derived features, partial              Anyhow, the specification of derived features can also be in-
snapshots, model queries, logic solvers                              consistent, ambiguous or incomplete. And finally (3) view
                                                                     models are key concept in domain-specific modeling tools
1.   Validation of Domain-specific Languages                         to provide task-specific focus by creating a model which
The design of integrated development environments for                highlights only some relevant aspects of the system. How-
complex domain-specific languages (DSL) is still a chal-             ever, views can also be inconsistent with the model, or repre-
lenging task nowadays. Advanced environments such as                 sent unfeasible requirements. In general, mathematical pre-
Xtext, or Sirius built on top of model management frame-             cise validation of DSL specifications themselves has been at-
works such as Eclipse Modeling Framework (EMF) sig-                  tempted by only few approaches so far [24], and even these
nificantly improve productivity by automating the produc-            approaches lack a systematic validation process.
                                                                         As model-driven tools are frequently used in critical sys-
                                                                     tems design to detect conceptual flaws of the system model
                                                                     early in the development process to decrease verification and
                                                                     validation (V&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



                                                                 1                                                          2016/12/9
several challenges for building trusted DSL tools for a spe-              Reasoning over a metamodel or view models has two
cific domain. First, the consistency and unambiguity of the            main challenges, which hinders the efficient analysis of
DSL specification have to be ensured. Secondly, the devel-             domain-specific languages:
opement of the modeling environment requires systematic                 Ch1 Proving a property P over a language DSL |= P is
testing methods, which is based on the generation of valid              undecidable in general.
(or purposely faulty) models. And finally, the complete anal-          Ch2 Existing logic solvers (SAT/SMT) fail to derive
ysis of view models requires tracing of view model changes             instance models for complex domain-specific languages
back to source model changes.                                          with views to create example or counter-example models.
    Therefore, based on the previous challenges, I have iden-
tified the two main research questions:                                3.   Related Work
 RQ1 Validation of Domain Specific Languages: How to
                                                                       Logic Solver Approaches There are several approaches
 prove the consistency and completeness of DSL specs?
                                                                       and tools aiming to validate models enriched with OCL con-
RQ2 Generation of well-formed instance models: How to                  straints [19] relying upon different logic formalisms such
generate valid instance models of a complex DSL or View                as constraint logic programming [10, 11], SAT-based model
models?                                                                finders (like Alloy) [3, 9, 27, 43, 44], first-order logic [4],
                                                                       constructive query containment [32] or higher-order logic
                                                                       [8, 20]. Some of these approaches (like e.g. [9, 11, 27, 43])
2.   Preliminaries                                                     offer bounded validation (where the search space needs to
The precise definition of complex domain-specific lan-                 be restricted explicitly) in order to execute the validation and
guages (DSL) necessitates a combination of different spec-             thus results can only be considered within the given scope,
ification techniques. Metamodels define the main concepts,             others (like [8]) allow unbounded verification (which nor-
relations and attributes of the target domain to specify the ba-       mally results in increased level of interaction and decidabil-
sic structure of the models. A metamodel can be represented            ity issues).
by a theorem META, and consequently, a logic structure                 Uncertain Models Partial models are also similar to uncer-
M can specify an instance model. Therefore, M |= META                  tain models, which offer a rich specification language [34]
denotes if a model satisfies all structural constraints of the         amenable to analysis. Uncertain models provide a more ex-
metamodel (e.g. multiplicity or containment).                          pressive language compared to partial snapshots but with-
    To create an advanced modeling environment, a DSL is               out handling additional WF constraints. Such models docu-
typically augmented with well-formedness constraints (WF),             ment semantic variation points generically by annotations on
which capture additional restrictions any well-formed in-              a regular instance model, which are gradually resolved dur-
stance model needs to respect (denoted with M |= WF ).                 ing the generation of concrete models. An uncertain model
Such constraints can be defined by model queries (often                is more complex (or informative) than a concrete one, thus
captured by graph patterns) [6] or as OCL invariants [30].             an a priori upper bound exists for the derivation, which is not
Furthermore, the metamodel can also be enhanced with de-               an assumption in our case.
rived features (DF), i.e. attributes and relations calculated             Potential concrete models compliant with an uncertain
from core model elements during model use, which can be                model can synthesized by the Alloy Analyzer [35], or refined
also specified using by graph patterns [33]. If the attributes         by graph transformation rules [36]. Each concrete model is
and references have the correct values then it is denoted              derived in a single step, thus their approach is not iterative
by M |= DF . The axiom set DSL of a domain-specific                    like ours. Scalability analysis is omitted from the respective
language is summarized as DSL = META ∧ WF ∧ DF ,                       papers, but refinement of uncertain models is always decid-
and a valid instance model M satisfies those constraints:              able.
M |= DSL.
    In a domain-specific modeling tool, the underlying do-             View Models Using logic solvers for generating possible
main model is presented to the engineers in different views            source and target candidates is common part of several ap-
(VIEW ). These views are populated from the source model               proaches. [13] uses Answer Set Programming, [12] maps the
(by abstraction). One source model may populate multiple               problem to Mixed Integer Linear Programming. [28] uses
view models. A view VIEW is derived from the source                    Alloy to generate change operations on the source model
model M by a unidirectional forward transformation view                which leads to a modified source model which is (i) well-
[14]. An instance model M is consistent with a view model              formed and (i) consistent with the changed target model.
VIEW (denoted by M |= VIEW ) if forward transforma-                    [18] and [17] converts the transformation to Alloy similarly,
tion creates the same view VIEW = view (M ). Deriving                  but do not handle WF constraints of the source model, and
different views from an instance model is an efficient way to          changes the whole source model.
highlight selected properties. However, calculating models             Rule-based Instance Generators A different class of model
for views requires logic reasoning.                                    generators relies on rule-based synthesis driven by random-


                                                                   2                                                           2016/12/9
ized, statistical or metamodel coverage information for test-         oper to make mathematically precise deductions over the de-
ing purposes [7, 16]. Some approaches support the calcu-              veloped languages.
lation of effective metamodels [42], but partial snapshots            Contributions My first contribution aims the formalization
are excluded from input specifications. Moreover, WF con-             of graph patterns used in the specification of DSLs to first
straints are restricted to local constraints evaluated on in-         order logic expression (FOL).
dividual objects while global constraints of a DSL are not
                                                                       Con1.1 Mapping of graph patterns to effectively propo-
supported. On the positive side, these approaches guarantee
                                                                       sitional logic: I introduced a technique to transform WF
the diversity of models and scale well in practice.
                                                                       and DF rules captured by graph patterns to a decidable
Iterative approaches. An iterative approach is proposed                fragment of FOL [31] by using over- and underapproxi-
(specifically for allocation problems) in [26] based on For-           mation techniques. [38]
mula. Models are generated in two steps to increase diversity             With model queries, meta- and optionally instance mod-
of results. First, non-isomorphic submodels are created only          els can be translated to logic expression in order to analyze
from an effective metamodel fragment. In the second step              their consistency.
the algorithm completes the different submodels according              Con1.2 Uniform analysis of DSL specification: I intro-
to the full model, but constraints are only checked at the very        duced a technique that uniformly translates DLS elements
final stage.An iterative, counter-example guided synthesis is          to FOL to analyze the consistency of the whole DSL spec-
proposed for higher-order logic formulae in [29], but the size         ification, which includes metamodels, instance models,
of derived models is fixed.                                            well-formedness (OCL or graph pattern) and derived fea-
                                                                       tures.
                                                                          Based on the consistency analysis technique, several val-
4.   Formal Validation of Domain-Specific
                                                                      idation rules are specified, which can be checked by the un-
     Languages by Logic Solvers                                       derlying logic solver.
Approach Addressing research problem RP 1., we created                 Con1.3 Identification of context dependent DSL vali-
a novel approach presented in [38, 39] to analyze the DSL              dation criteria: I defined completeness and unambiguity
specification of modeling tools by mapping them into first             properties of derived features, subsumption and equiv-
order logic (FOL) formulae that can be processed by ad-                alence relations of well-formedness constraints, derived
vanced reasoners such as SMT solvers (Z3) or SAT solvers               features and instance models. These properties can be
(Alloy, see Figure 1). The outcome of a reasoning prob-                checked on the full DSL, or on a specific fragment of it.
lem is either satisfiable or unsatisfiable. If the problem is             In order to systematically carry out the validation process
satisfiable, the solver constructs an output (or completed)           for the whole DSL, we propose a validation workflow, which
model (which is interpreted as witness or counterexample              consequently investigates each language feature, and can be
depending on the validation task), while an unsatisfiable re-         used without any theorem-proving skills.
sult means a contradiction. Because certain validation tasks           Con1.4 Validation workflow for DSL specifications: We
are undecidable in FOL it is also possible that validation ter-        recommended a validation process for the DSL, which
minates with an unknown answer or a timeout.                           systematically checks the language properties, and in
                                                                       case of inconsistencies, helps the developer to correct
         Modelling Tool       Reasoning        Result                  the DSL specification (or refine the validation context) by
          Metamodels                                                   showing representative counterexamples to the assumed
                               Search           SAT
        Derived Features     Parameters          M
                                                                       properties.
                                               UNSAT                      Our technique is successfully applied on a case study
         WF Constraints       Mapping
                                                 ↯                    taken from the avionics domains.
           Snapshots                          Unknown                  Con1.5 Application: Validation of an avionics DSL: I
                               Solver            ?
          View Models                                                  carried out the validation of the functional architecture
                                                                       modeling language of of avionics systems, developed in
      Figure 1. Functional overview of the approach                    Trans-IMA project [22].
                                                                      Added Value The main added value of approach is to
    We carry out a wide range of validation tasks by auto-            cover rich DSL constructs such as derived features and well-
mated theorem proving based on this formalization to prove            formedness constraints captured in declarative languages
different properties of a DSL. To decrease the development            such as graph patterns and OCL invariants. While other
time and cost of DSL tools, we aim to detect design flaws             approaches use bounded verification or simply ignore un-
in the early phase of DSL development by highlighting val-            supported features, I proposed approximations to transform
idation problems to the developer directly in the tool itself         language features into a decidable fragment of first-order
by back-annotating analysis results. Linking the independent          logic (called effectively propositional logic), and to han-
reasoning tool to the modeling tool allows the DSL devel-             dle language features which cannot be represented in FOL.


                                                                  3                                                          2016/12/9
Therefore, the correctness of a DSL can be proved using our                            metamodel pruning [16, 42] to reduce the types in a prob-
method, while others only can detect errors.                                           lem, and partial models [15] to extend the model in multiple
   Our approach is supported by a prototype tool integrated                            steps.
into Eclipse, which takes EMF metamodels, instance mod-                                 Con2.1 Decomposition of Model Generation Problems:
els, EMF-IncQuery graph patterns and OCL constraints as                                 I specified a decomposition technique for instance mod-
input to carry out DSL validation. As a technological dif-                              els in order to specify a partial solutions for model gen-
ference, our tool is compliant with standard Eclipse based                              eration using partial modeling, and metamodel pruning.
technologies, while Formula and Alloy use their own mod-                                [41]
eling language. When an output model is derived as a wit-                                  When removing certain metamodel elements by prun-
ness or counterexample, this model is back-annotated to the                            ing, or creating only partial models, related well-formedness
DSL tool itself so that language engineers could observe the                           constraints need special care. Simple removal of the con-
source of the problem in their custom language. Therefore it                           straints significantly increase the rate of false positives in a
does not require additional theorem proving skills.                                    later phase of model generation to such an extent that no in-
                                                                                       termediate models can be extended to a valid final model.
5.      Iterative and incremental model                                                Based on some first-order logic representation of the con-
        generation by logic solvers                                                    straints (derived e.g. in accordance with [39]), we propose
As a side effect, our DSL validation framework of section 4                            to maintain approximated versions of constraint sets during
can also generate prototypical well-formed instance models                             metamodel pruning.
for a DSL, which can be used for synthesizing test cases,                               Con2.2 Approximation of Well-formedness Constraints:
for instance. As the metamodel of an industrial DSL may                                 I specified an overapproximation technique for well-
contain hundreds of model elements, any realistic instance                              formedness constraints on partial models with pruned
model should be of similar size. Unfortunately, this cannot                             metamodels. [37, 41]
currently be achieved by a single direct call to the underlying                            Using approximated (simplified) model generation steps
solver [23, 24, 39], thus existing logic based model genera-                           an incremental model generation process is created which
tors fail to scale. Furthermore, logic solvers tend to retrieve                        iteratively calls black-box logic solvers to guarantee well-
simple unrealistic models [25] consisting of unconnected is-                           formedness by feeding instance models obtained in a pre-
lands of model fragments and many isolated nodes, which is                             vious step as partial solution to a subsequent phase. In
problematic in an industrial setting.                                                  each step, the number of types, elements and constraints
                                                                                       is strongly limited by metamodel pruning, partial modeling
Approach Addressing the model generation challenge of                                  and constraint approximation techniques. Our experiments
RP2, we propose an iterative process for incrementally gen-                            show that significantly larger model instances (up to 250
erating valid instance models for DSLs with views by call-                             objects instead of 20 using Alloy [40]) can be generated
ing existing model generators as black-box components, and                             with the same solvers using such an incremental approach
using various abstractions and approximations to improve                               especially in the presence of complex well-formedness con-
overall scalability. Therefore, as seen in Figure 2, instance                          straints.
models can be incrementally generated in multiple steps as a                            Con2.3 Incremental Model Generation: I proposed an it-
sequence of extending partial models M1 , . . . , Mn , where                            erative workflow to incrementally generate instance mod-
each step is an independent call to the underlying solver.                              els of increasing complexity. [41]
The main idea behind this approach is that the solver can                                  View models are extensively used in model-driven engi-
be guided by smaller logic problems, where only the newly                              neering to highlight different relevant properties of a sys-
created elements have to be added (marked by ∆).                                       tem. However, the generation of valid instance models M
                                                                                       for view models VIEW (such as M |= VIEW ∧ DSL) re-
        Step 1                   Step 2                   Step 3                    mains a challenge. The generation problem can be initiated
                          M1                        M2                        M3
     Transformation            Transformation            Transformation                from an existing source and view models by breaking the
                                                                                    consistency with a change in some of the view models. In
                                       +Δ                        +Δ
        Logic                     Logic                     Logic                      this case, an existing source model and existing unchanged
        Solver                    Solver                    Solver                     parts of the view model can be used to reduce the difficulty
                                                                                       of the logic problem further. We illustrated our change prop-
        Figure 2. Overview of iterative model generation                               agation technique on a healthcare example [1].
                                                                                        Con2.4 Incremental Model Synthesis for Bidirectional
Contributions First, incremental model generation re-                                   Transformations of View Models: I transformed query-
quires the decomposition of the problem into smaller tasks,                             based view specification into logic formulae to automati-
which can be solved sequentially, each step in increment-                               cally synthesize possible source model changes consistent
ing the synthesized model while trying to keep them well-                               to a view model change.
formed. The decomposition is enabled by two techniques:


                                                                                   4                                                           2016/12/9
   Finally, the incremental generation technique is applied                            Therefore, constraints can be evaluated with an efficient
in one of our research project:                                                    query engine, and the matches can be used to simplify the
 Con2.4 Application: Generation of Context Models: I                               logic problem by the removal of satisfied constraints on the
 successfully applied my technique in test context gener-                          partial model. Solvers are efficient detecting inconsistencies
 ation for autonomous and cooperative robot systems for                            in a specification, but often fails to create models. Our so-
 R3COP ARTEMIS project [2]                                                         lution creates models by trying to add elements. Each re-
                                                                                   finement step may produce several partial model candidates,
Added value The validation of DSL tools frequently ne-                             create a valid solution or cut off branches by proving that the
cessitates the synthesis of well-formed and nontrivial in-                         partial solution cannot be finished. This requires the manage-
stance models, which satisfy the language specification.                           ment of a search space, which can be efficiently handled by
   View model is a convenient and precise way to be used                           advanced design space exploration techniques [21]
as specification language for model generation. For generat-                           In summary, a search based model refinement with in-
ing source model candidates for views, our approach takes                          tegrated solvers is able to prove inconsistencies in a DSL,
the whole DSL specification into the account including the                         and expected to create models more efficiently with model-
interaction of the metamodel, the WF constraints and other                         generation specific heuristics.
view models.
                                                                                   Acknowledgments
6.   Towards a Solver for DSL Models
                                                                                   I would like to thank my advisor, Dániel Varró for his sup-
The technique in section 5 is able to automatically creates
                                                                                   port during my research, and Ágnes Barta and Ákos Horváth
valid instance models, but the sequence might lead to a
                                                                                   for the joint work.
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 so-                       References
lutions for a model generation process. This section presents                       [1] CONCERTO ARTEMIS project. concerto-project.org/.
our newest model generation approach, which is currently                            [2] R3Cop (Resilient Reasoning Robotic Co-operative Systems).
under developement.                                                                     ARTEMIS project n◦ 100233, http://www.r3-cop.eu/.

                                               Partial interpretation:
                                                                                    [3] K. Anastasakis, B. Bordbar, G. Georg, and I. Ray. On chal-
                                       PM0                                              lenges of model transformation from UML to Alloy. Softw.
                                                   partial model

                              Refinement Step                                           Syst. Model., 9(1):69–86, 2010.
       Partial evaluation ? Inconsistency check ?       Refinement                  [4] B. Beckert, U. Keller, and P. H. Schmitt. Translating the Ob-
         of constraints       of partial model        of partial model
        by query engine        by logic solver    by transformation rules               ject Constraint Language into first-order predicate logic. In
                                                                                    Proc of the VERIFY, Workshop at Federated Logic Confer-
                                           Refined
                                                                                        ences (FLoC), Copenhagen, Denmark, 2002.
         Solution: 𝑀      Cut: !       interpretations:   PM1     PM2    PM3
                                                                                    [5] G. Bergmann, Á. Horváth, I. Ráth, D. Varró, A. Balogh,
            Figure 3. Model refinement strategy                                         Z. Balogh, and A. Ökrös. Incremental Evaluation of Model
                                                                                        Queries over EMF Models. In MODELS’10, volume 6395 of
                                                                                        LNCS. Springer, 2010.
                                                                                    [6] G. Bergmann, A. Hegedüs, A. Horváth, I. Ráth, Z. Ujhelyi,
Approach Figure 3 illustrates a model refinement step
                                                                                        and D. Varró. Implementing efficient model validation in
combining the advantages of multiple model generation
                                                                                        EMF tools. In 26th IEEE/ACM International Conference on
techniques. As input, the step gets a partial interpretation of                         Automated Software Engineering, pages 580 –583, 2011.
an instance model, which is represented as a partial model
                                                                                    [7] E. Brottier, F. Fleurey, J. Steel, B. Baudry, and Y. Le Traon.
(as opposed to partial interpretations or proofs in solvers).
                                                                                        Metamodel-based Test Generation for Model Transforma-
The partial model is refined in three steps:                                            tions: an Algorithm and a Tool. In 17th International Sympo-
1. A model query engine creates a partial evaluation[37]                                sium on Software Reliability Engineering, 2006. ISSRE ’06.,
                                                                                        pages 85–94, 2006.
   on the partial model to determine if the partial solution
   satisfies all constraints (therefore it is a valid model),                       [8] A. D. Brucker and B. Wolff. The HOL-OCL tool, 2007.
   violates a constraint (therefore it can not be finished).                            http://www.brucker.ch/.
                                                                                    [9] F. Büttner, M. Egea, J. Cabot, and M. Gogolla. Verification of
2. Then a solver tries to prove that the logic problem cannot
                                                                                        ATL transformations using transformation models and model
   be solved with this partial solution, or to create a valid                           finders. In 14th International Conference on Formal Engi-
   solution as a counterexample.                                                        neering Methods, pages 198–213. Springer, 2012.
3. If the solver fails, the solution is refined by partial model                   [10] J. Cabot, R. Clarisó, and D. Riera. UMLtoCSP: a tool for
   refinement transformations [7, 34] which automatically                               the formal verification of UML/OCL models using constraint
   produces several partial solution candidates.                                        programming. In 22nd IEEE/ACM International Conference


                                                                               5                                                              2016/12/9
     on Automated Software Engineering (ASE’07), pages 547–                      11th ACM Int. Conf. on Embedded Software, page 11. IEEE
     548. ACM, 2007.                                                             Press, 2013.
[11] J. Cabot, R. Clariso, and D. Riera. Verification of UML/OCL            [26] E. Kang, E. Jackson, and W. Schulte. An approach for effec-
     class diagrams using constraint programming. In Software                    tive design space exploration. In R. Calinescu and E. Jackson,
     Testing Verification and Validation Workshop, 2008. ICSTW                   editors, Foundations of Computer Software. Modeling, Devel-
     ’08. IEEE International Conference on, pages 73–80, 2008.                   opment, and Verification of Adaptive Systems, volume 6662 of
[12] G. Callow and R. Kalawsky. A satisficing bi-directional model               LNCS, pages 33–54. Springer Berlin Heidelberg, 2011. ISBN
     transformation engine using mixed integer linear program-                   978-3-642-21291-8.
     ming. Journal of Object Technology, 12(1):1: 1–43, 2013.               [27] M. Kuhlmann, L. Hamann, and M. Gogolla. Extensive val-
[13] A. Cicchetti, D. Di Ruscio, R. Eramo, and A. Pierantonio.                   idation of OCL models by integrating SAT solving into use.
     JTL: a bidirectional and change propagating transformation                  In TOOLS’11 - Objects, Models, Components and Patterns,
     language. In Software Language Engineering, pages 183–202.                  volume 6705 of LNCS, pages 290–306, 2011.
     Springer, 2010.                                                        [28] N. Macedo and A. Cunha. Implementing QVT-R bidirec-
[14] C. Debreceni, Á. Horváth, Á. Hegedüs, Z. Ujhelyi, I. Ráth,             tional model transformations using Alloy. In Fundamental
     and D. Varró. Query-driven incremental synchronization of                  Approaches to Software Engineering, pages 297–311. 2013.
     view models. In Proceedings of the 2nd Workshop on View-               [29] A. Milicevic, J. P. Near, E. Kang, and D. Jackson. Alloy*: A
     Based, Aspect-Oriented and Orthographic Software Mod-                       general-purpose higher-order relational constraint solver. In
     elling, page 31. ACM, 2014.                                                 37th IEEE/ACM Int. Conf. on Software Engineering, ICSE,
[15] M. Famelis, R. Salay, and M. Chechik. Partial models: To-                   pages 609–619, 2015.
     wards modeling and reasoning with uncertainty. In Proceed-
                                                                            [30] Object Constraint Language, v2.0. The Object Management
     ings of the 34th International Conference on Software Engi-
                                                                                 Group, May 2006. http://www.omg.org/spec/OCL/2.0/.
     neering, pages 573–583, 2012.
                                                                            [31] R. Piskac, L. de Moura, and N. Bjorner. Deciding effectively
[16] F. Fleurey, J. Steel, and B. Baudry. Validation in model-driven
                                                                                 propositional logic with equality, 2008. Microsoft Research,
     engineering: Testing model transformations. In International
                                                                                 MSR-TR-2008-181 Technical Report.
     Workshop on Model, Design and Validation, pages 29–40,
     Nov 2004.                                                              [32] A. Queralt, A. Artale, D. Calvanese, and E. Teniente. OCL-
[17] L. Gammaitoni and P. Kelsen. F-alloy: An alloy based model                  Lite: Finite reasoning on UML/OCL conceptual schemas.
     transformation language. In Theory and Practice of Model                    Data Knowl. Eng., 73:1–22, 2012.
     Transformations, pages 166–180. Springer, 2015.                        [33] I. Ráth, A. Hegedüs, and D. Varró. Derived features for EMF
[18] H. Gholizadeh, Z. Diskin, S. Kokaly, and T. Maibaum. Anal-                  by integrating advanced model queries. In Modelling Foun-
     ysis of source-to-target model transformations in quest. In                 dations and Applications, LNCS, pages 102–117. Springer
     Proceedings of the 4th Workshop on the Analysis of Model                    Berlin / Heidelberg, 2012.
     Transformations, pages 46–55, 2015.                                    [34] R. Salay and M. Chechik. A generalized formal framework
[19] M. Gogolla, J. Bohling, and M. Richters. Validating UML and                 for partial modeling. In Fundamental Approaches to Software
     OCL models in USE by automatic snapshot generation. Softw.                  Engineering, volume 9033 of LNCS, pages 133–148. Springer
     Syst. Model., 4(4):386–398, 2005.                                           Berlin Heidelberg, 2015. ISBN 978-3-662-46674-2.
[20] H. Grönniger, J. O. Ringert, and B. Rumpe. System model-              [35] R. Salay, M. Famelis, and M. Chechik. Language independent
     based definition of modeling language semantics. In Formal                  refinement using partial modeling. In J. de Lara and A. Zis-
     Techniques for Distributed Systems, volume 5522 of LNCS,                    man, editors, Fundamental Approaches to Software Engineer-
     pages 152–166. Springer, 2009.                                              ing, volume 7212 of LNCS, pages 224–239. Springer Berlin
[21] Á. Hegedüs, Á. Horváth, I. Ráth, and D. Varró. A model-               Heidelberg, 2012. ISBN 978-3-642-28871-5.
     driven framework for guided design space exploration. In 26th          [36] R. Salay, M. Chechik, M. Famelis, and J. Gorzny. A method-
     IEEE/ACM International Conference on Automated Software                     ology for verifying refinements of partial models. Journal of
     Engineering (ASE 2011). IEEE Computer Society, 2011.                        Object Technology, 14(3):3:1–31, 2015.
[22] Á. Horváth, Á. Hegedüs, M. Búr, D. Varró, R. R. Starr, and       [37] O. Semeráth and D. Varró. Validation of well-formedness
     S. Mirachi. Hardware-software allocation specification of ima               constraints on uncertain model. In Proceedings of the 10ht
     systems for early simulation. In Digital Avionics Systems                   Conference of PhD Students in Computer Science, 2016.
     Conference (DASC). IEEE, 2014.
                                                                            [38] O. Semeráth, Á. Horváth, and D. Varró. Validation of derived
[23] D. Jackson. Alloy Analyzer. http://alloy.mit.edu/.                          features and well-formedness constraints in dsls. In Interna-
[24] E. K. Jackson, T. Levendovszky, and D. Balasubramanian.                     tional Conference on Model Driven Engineering Languages
     Reasoning about metamodeling with formal specifications                     and Systems, pages 538–554. Springer, 2013.
     and automatic proofs. In Proc. of the 14th Int. Conf. on MOD-          [39] O. Semeráth, A. Barta, A. Horváth, Z. Szatmári, and D. Varró.
     ELS, volume 6981 of LNCS, pages 653–667, 2011.                              Formal validation of domain-specific languages with derived
[25] E. K. Jackson, G. Simko, and J. Sztipanovits. Diversely                     features and well-formedness constraints. Software and Sys-
     enumerating system-level architectures. In Proceedings of the               tems Modeling, pages 1–36, 2015. ISSN 1619-1366.


                                                                        6                                                                2016/12/9
[40] O. Semeráth, C. Debreceni, Á. Horváth, and D. Varró. In-
     cremental backward change propagation of view models by
     logic solvers. In Proceedings of the ACM/IEEE 19th Interna-
     tional Conference on Model Driven Engineering Languages
     and Systems, pages 306–316. ACM, 2016.
[41] O. Semeráth, A. Vörös, and D. Varró. Iterative and incre-
     mental model generation by logic solvers. Fundamental Ap-
     proaches to Software Engineering, 19th International Confer-
     ence, FASE 2016, 2016.
[42] S. Sen, N. Moha, B. Baudry, and J.-M. Jézéquel. Meta-model
     Pruning. In Proceedings of the International Conference on
     Model Driven Engineering Languages and Systems (MOD-
     ELS), Denver, Colorado, USA, Oct 2009.
[43] S. M. A. Shah, K. Anastasakis, and B. Bordbar. From UML
     to Alloy and back again. In MoDeVVa ’09: Proceedings of the
     6th International Workshop on Model-Driven Engineering,
     Verification and Validation, pages 1–10. ACM, 2009. ISBN
     978-1-60558-876-6.
[44] M. Soeken, R. Wille, M. Kuhlmann, M. Gogolla, and
     R. Drechsler. Verifying UML/OCL models using boolean
     satisfiability. In Design, Automation and Test in Europe,
     (DATE’10), pages 1341–1344. IEEE, 2010.
[45] E. D. Willink. An extensible OCL virtual machine and code
     generator. In Proc. of the 12th Workshop on OCL and Textual
     Modelling, pages 13–18. ACM, 2012.




                                                                     7   2016/12/9