<!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>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>A. Secure Collaborative Modeling</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Csaba Debreceni Budapest University of Technologies and Economics, Department of Measurement and Information Systems MTA-BME Lendu ̈let Research Group on Cyber-Physical Systems</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>-Model-based systems engineering of critical cyberphysical systems necessitates effective collaboration between different collaborators, teams, stakeholders. Engineering artifacts stored in model repositories are concurrently developed in either offline (checkout-modify-commit) or online (GoogleDoc-style) scenario where the confidentiality and integrity of design artifacts need to be protected by access control policies. Unfortunately, traditional approaches for managing concurrent code development do not naturally extend to collaborative modeling which implies novel challenges. My research focuses on developing (i) a general secure collaboration scheme that guarantees that high-level access control policies are respected during collaboration and it can be integrated into existing version control systems (e.g. SVN) to support offline scenario; (ii) automated merging and fine-grained locking to enhance the efficiency of conflict resolution and prevention upon concurrent modification of the models; (iii) derivation and incremental maintenance of view models to provide specific focus of the designers by abstracting from unnecessary details of the underlying system model.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>An increased level of collaboration in a model-driven
development process introduces additional confidentiality
challenges to sufficiently protect the intellectual property of the
collaborating parties, which are either overlooked or
significantly underestimated by existing initiatives. Even within a
single company, there are teams with differentiated
responsibilities, areas of competence and clearances described by
highlevel access control policies. Such processes likewise demand
confidentiality and integrity of certain modeling artifacts.</p>
      <p>Existing practices for managing access control of models
rely primarily upon the access control features of the
backend repository. Coarse-grained access control policies aim to</p>
      <p>
        I. PROBLEM AND MOTIVATION restrict access to the files that store models. For instance, EMF
The adoption of model driven engineering (MDE) by system models can be persisted as standard XMI documents, which
integrators (like airframers or car manufacturers) has been can be stored in repositories providing file-based access and
steadily increasing in the recent years [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], since it enables to change management (as in SVN [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], CVS [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]). Fine-grained
detect design flaws early and generate various artifacts (source access control policies, on the other hand, may restrict access
code, documentation, configuration tables, etc.) automatically to the model on the row level (as in relational databases) or
from high-quality system models. triple level (as in RDF repositories). Unfortunately,
coarse
      </p>
      <p>The use of models also strengthens collaboration between grained security policies are captured directly on the storage
distributed teams of different stakeholders (system integra- (file) level often result in inflexible fragmentation of models
tors, software engineers of component providers/suppliers, in collaborative scenarios.
hardware engineers, certification authorities, etc.) via model As a result, coarse-grained access control can lead to
repositories, which significantly enhances productivity and significant model fragmentation, which greatly increases the
reduces time to market. An emerging industrial practice of complexity of storage and access control management. In
system integrators is to outsource the development of various industrial practice, automotive models may be split into more
design artifacts to subcontractors in an architecture-driven than 1000 fragments, which poses a significant challenge for
supply chain. tool developers. Some model persistence technologies (such as</p>
      <p>
        Collaboration scenarios include traditional offline collab- EMFs default XMI serialization) do not allow model fragments
orations with asynchronous long transactions (i.e. to check to cyclically refer to each other, putting a stricter limit to
out an artifact from a version control system and commit fragmentation. Hence, MDE use cases often demand the ability
local changes afterwards) as well as online collaborations to define access for each object (or even each property of each
with short and synchronous transactions (e.g. when a group object) independently.
of collaborators simultaneously edit a model). Even though, Furthermore, coarse-grained access control lacks
flexibilvarious collaborative modeling frameworks (like [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], etc.) ity, especially when accessing models from heterogeneous
information sources in different collaboration scenarios. For
MOThNiDsOpa(pFePr7-iIsCpTa-2rt0ia1l3ly-10s)u,pnpoo.rt6e1d11b2y5.thanedEthUe MCoTmAm-BisMsiEonLewnidthu¨leptr2o0je1c5t instance, they disallow type-specific access control, i.e., to
Research Group on Cyber-Physical Systems. grant or restrict access to model elements of a specific type
(e.g., to all classes in a UML model), which are stored in
multiple files.
      </p>
      <p>My first research question is constructed as follows:
RQ-1 How to capture and enforce high-level access control
policies during collaborative modeling?</p>
    </sec>
    <sec id="sec-2">
      <title>B. Conflict Prevention and Resolution</title>
      <p>
        Enabling a high degree of concurrent edits for
collaborators is required to make the traditionally rigid development
processes more agile. The increasing number of collaborators
concurrently developing artifacts increases the probability of
introducing conflicts. Conflict avoidance techniques such as
locks try to prevent conflicts by letting the users request that
certain engineering artifacts should be made unmodified by
all other participants for a duration of time. But it usually
leads to unnecessary preventions (locks) which significantly
limits the degree of concurrent development and does not scale
with the increasing number of collaborating teams. Model
merging aims to resolve the conflicts, but, it can be complex
tasks as the interdependence within a model makes conflicts
easy to introduce and hard to resolve. Furthermore,
domainspecific conflict resolution strategies are rarely taken into
consideration in industrial frameworks (e.g. EMF Compare[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ],
EMF Diff/Merge[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]), hence the well-formedness of merge
results is questionable.
      </p>
      <p>My second research question is the following.</p>
      <p>RQ-2 How to provide fine-grained prevention and
automatized resolution strategies of conflicts?</p>
    </sec>
    <sec id="sec-3">
      <title>C. Bidirectional Synchronization of View Models</title>
      <p>Views are key concepts of domain-specific modeling in
order to provide task-specific focus (e.g., power or
communication architecture of a system) to engineers by creating
a model which highlights only some relevant aspects of the
system to help detect conceptual flaws. Typically multiple
view models are defined for a given an underlying source
model, which need to be refreshed automatically (or upon user
request) upon changes in the source model.</p>
      <p>Usually, these views are represented as models themselves
(view models), computed from the source model. On one
hand, the efficient forward propagation of changes from the
source model to the views is challenging, as recalculating the
view from scratch has to be avoided to achieve scalability.
On the other hand, the efficient backward propagation of
complex changes from one or more abstract view models to
the underlying source model resulting in valid and well-formed
models is also a challenging task which requires to limit the
propagation to a well-defined part of the source model to
achieve scalability.</p>
      <p>My third research question is as follows.</p>
      <p>RQ-3 How to derive and incrementally maintain view
models and trace back complex changes to the underlying
source models?</p>
      <sec id="sec-3-1">
        <title>II. PRELIMINARIES</title>
        <p>A. Related Work</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>1) Secure Collaborative Modeling: Traditional version con</title>
      <p>
        trol systems (like [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]) adopt file-level access policies, which
are clearly insufficient for fine-grained access control
specifications. [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] allows for role-based access control with
typespecific (class, package and resource-level) permissions, but
disallows instance level access control policy specifications.
Access control is not considered in recent collaborative
modeling environments like [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], or the
tools developed according to [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] provides fine-grained
role-based access control for online collaboration but no offline
scenario is supported, though. Both online collaboration and
role-based access control with type-specific (class, package
and resource-level) permissions is provided in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], but no
facility for instance level access control policy specifications.
However, there is a pluggable access control mechanism that
can specify access on the object level.
      </p>
      <p>2) Locking Support: The state-of-the-art locking techniques
are the fragment-based and object-based locks.
Fragmentbased locking requires that models are partitioned into storage
fragments, e.g. files or projects and entire fragments can be
locked at once. Object-based locking locks individual model
objects (including their attributes and connections) which
requires to inspect the structure of the model.</p>
      <p>
        Existing collaborative modeling tools either lack locking
support or implement rigid strategies such as fragment-based
locking, or locking subtrees or elements of a specific type,
which hinder effective collaboration. Most of offline
collaborative modeling tools [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], rely on traditional version
control systems using file-based (same as fragment-based)
locking with contributors committing large deltas of work.
Model repositories [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], support both implicit and explicit
locking of subtrees and sets of elements. These locks can
prevent others from modifying elements to avoid conflicts.
Online collaborative modelling frameworks [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ],
rely on a short transaction model: a single, shared instance of
the model is concurrently edited by multiple users, with all
changes propagated to all participants instantaneously. These
approaches use timestamped operations to resolve conflicts or
provide only lightweight lock mechanisms, e.g., explicit locks
to certain elements.
      </p>
    </sec>
    <sec id="sec-5">
      <title>3) Conflict Resolution in Model Artifacts: Model compar</title>
      <p>ison refers to identifying the differences between models.
Based on its result, model merge synthesizes a combined
model which reconciles the identified differences. My research
focuses on three-way merge, which uses the common ancestor
O of local copy L and remote copy R to derive the merged
model M . To determine the changes executed on O, a
comparison is conducted between O $ L and O $ R. The solution
of merge M is obtained by applying a combination of changes
performed either on L or R to the original model O.</p>
      <p>
        Most approaches [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] are
semiautomated as they use a two-phase process: (i) first, they
apply the non-conflicting operations and then (ii) let the user
prioritize and select the operation to apply in case of two
conflicting changes. This always results in a single solution
due to the manual resolution by the user. In comparison, [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ],
[
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] resolve the conflicts automatically in different ways and
offer several solutions.
      </p>
      <p>
        4) Incremental Maintenance of View Models.: View
maintenance by incremental and live QVT transformations is used
in [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] to define views from runtime models. The proposed
algorithm operates in two phase, starting in check-only mode
before an enforcement run, but its scalability is demonstrated
only on models up to 1000 elements. [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] allows the
composition of multiple EMF models into a virtual model based
on a composition metamodel, and provides both a model
virtualization API and a linking API to manage these models.
The approach is also able to add virtual links based on
composition rules. In [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ], an ATL-based method is presented
for automatically synchronizing source and target models.
In [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], correspondences between models are handled by
matching rules defined in the Epsilon Comparison Language,
but incremental derivation is not discussed.
      </p>
      <p>
        5) Backward Propagation: For the backward propagation
of changes, the use of traceability links is a well-accepted
approach to define which part of the source model has to
be updated upon a change on the target model. In [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ],
these links are stored as a correspondence model where their
maintenance is derived from the TGG rules. [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ] also specifies
trace classes to facilitate and maintain traceability links. [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ]
stores traceability links in Alloy[
        <xref ref-type="bibr" rid="ref27">27</xref>
        ] as a bijective mapping.
[
        <xref ref-type="bibr" rid="ref28">28</xref>
        ] uses a weaving model that stores the traces of references
between different models in the view, however all objects in
the view model act as proxies to an object in the source model.
B. Foundational Techniques
      </p>
      <p>1) Graph Patterns: A graph pattern represents structural
constraints prescribing the interconnection between nodes and
edges of given types extended with algebraic expressions to
define attribute constraints. Pattern parameters are a subset
of nodes and attributes representing the model elements
interesting from the perspective of the pattern user. A match of
a pattern is a tuple of pattern parameters that has the same
structure as the pattern and satisfies all structural and attribute
constraints.</p>
    </sec>
    <sec id="sec-6">
      <title>2) Design Space Exploration: Design space exploration</title>
      <p>(DSE) aims to find optimal design candidates of a domain
with respect to different objectives where design candidates are
constrained by complex structural and numerical restrictions
(e.g. described by graph pattern) and are reachable from an
initial model by applying a sequence of exploration rules.</p>
      <sec id="sec-6-1">
        <title>III. OVERVIEW OF THE APPROACHES</title>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>A. General Secure Collaboration Scheme</title>
      <p>
        Approach. In [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ], we proposed a query-based approach for
modeling fine-grained access control policies, and we defined
bidirectional model transformations to (i) derive filtered views
(front models) for each collaborator from the original model
Fig. 1. MONDO Offline Collaboration - Architecture
(gold model) containing all the information and to (ii)
propagate changes introduced into these views back to a server
in both online and offline scenarios. Access control policies
consist of rules that allow, obfuscate or deny read and/or
write permissions of model parts identified by graph patterns
detailed in [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ].
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ], a collaboration scheme between the clients of
multiple collaborators and exactly one server is described to
support fine-grained access control in offline scenario. The
server stores the gold models and the clients can download
their specific front models. Modifications, executed by a
clients, are submitted to the server and they are accepted if
write permissions are successfully checked. Right after the
submission, the changes are propagated to the other front
model while read permissions are enforced. Finally, clients
can downloaded their updated front models.
      </p>
      <p>
        The scheme is realized by extending SVN[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] using its hooks.
The server and clients are realized as a gold repository and
multiple front repositories, respecively. The gold repository
contains gold models, but it is not accessible to collaborators.
Each collaborator is assigned to a specific front repository
containing a full version history of the front models. Change
propagations are maintained between the repositories. As a
result, each collaborator continues to work with a dedicated
VCS as before, thus they are unaware that this front repository
may contain filtered and obfuscated information.
      </p>
      <p>My contributions related to the fulfillment of RQ-1 :
Contribution 1 I proposed a generic modeling language to
capture fine-grained access control policies integrated into a
provenly secure collaborative architecture.</p>
    </sec>
    <sec id="sec-8">
      <title>C1.1 Access Control Language. I proposed a rule-based</title>
      <p>
        access control language to describe high-level and
finegrained policies in both online and offline scenarios. Rules
may allow, obfuscate or deny read and/or write permissions
of model parts identified by graph patterns[
        <xref ref-type="bibr" rid="ref30">30</xref>
        ], [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ].
      </p>
    </sec>
    <sec id="sec-9">
      <title>C1.2 Read and Write Dependencies. I analyzed read and</title>
      <p>
        write dependencies implied by high-level access control
policies as read and write permissions of a model part
may depend on other model parts implied by internal
consistency rules [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ].
      </p>
    </sec>
    <sec id="sec-10">
      <title>C1.3 Formalization of Transformation Rules. I formalized</title>
      <p>
        transformation rules to derive secure front models with
respect to the read and write permissions [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ].
      </p>
    </sec>
    <sec id="sec-11">
      <title>C1.4 Secure Collaboration Scheme. I formalized a collab</title>
      <p>
        oration scheme as communicating sequential processes
(CSP) to enforce high-level access control policies. I
specified correctness criteria and proved the correctness of the
scheme [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ].
      </p>
    </sec>
    <sec id="sec-12">
      <title>C1.5 Realization of Secure Collaboration. I realized the col</title>
      <p>
        laboration scheme in case of offline scenarios by extending
an existing version control system to enforce fine-grained
access control while collaborators can use off-the-shelf
tools [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ], [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ].
      </p>
      <p>
        C1.6 Evaluation. I evaluated the scalability of the
collaboration architecture on a case study of offshore wind turbine
controllers [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ], [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ], [
        <xref ref-type="bibr" rid="ref33">33</xref>
        ], [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ].
      </p>
      <p>The bidirectional transformation and the algorithm to derive
effective permission based on the proposed language is the
contribution of Ga´bor Bergmann whereas the concept of
the common architecture to support both online and offline
scenarios is the contribution of Istva´n Ra´th.</p>
      <p>
        Uniqueness. Our provenly correct collaboration scheme
is able to enforce fine-grained access control policies of
modeling artifacts over existing version control system in
case of offline scenarios. The scheme and its realization is
demonstrated in [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ] as an integration with SVN[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
    </sec>
    <sec id="sec-13">
      <title>B. Conflict Reduction and Handling</title>
      <p>
        Approach. In our preliminary work [
        <xref ref-type="bibr" rid="ref34">34</xref>
        ], we introduced the
concept of property-based locking where collaborators request
locks specified as a property of the model which need to
be maintained as long as the lock is active. Hence, other
collaborators are permitted to carry out any modifications that
do not violate the defined property of the lock. In [
        <xref ref-type="bibr" rid="ref35">35</xref>
        ], the
realization of property-based locking strategy is proposed as a
common generalization of existing fragment-based and
objectbased locking approaches. Complex properties are described as
graph patterns to express structural (and attribute) constraints
for a model where the result set, i.e. the matches of graph
pattern, can be calculated by pattern matchers or query engines.
Only those modifications are allowed that do not change the
result set of a list of queries as depicted in Fig. 2.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref36">36</xref>
        ], we proposed DSE-Merge that exploits guided
rulebased design space exploration (DSE) [
        <xref ref-type="bibr" rid="ref37">37</xref>
        ] to automate the
three-way model merge with an architecture depicted in Fig. 3.
Three-way model merge is applied to DSE problem where
the initial model consists of the original model O and two
difference models ( L and R); the goal is that there are
no executable changes left in L and R; operations are
defined by change driven transformation rules to process
generic composite (domain-specific) operators; and constraints
may identify inconsistencies and conflicts to eliminate certain
trajectories. The output is a set of solutions consisting of
(i) the well-formed merged model M ; (ii) the set of
nonexecuted changes L0, R0; and (iii) the collection of the
deleted objects stored in Cemetery.
      </p>
      <p>My contributions related to the fulfillment of RQ-2 :
Contribution 2 I proposed a fine-grained property-based
locking technique to avoid conflicts and an automated
threeway model merge technique to resolve conflicts.</p>
    </sec>
    <sec id="sec-14">
      <title>C2.1 Fine-grained Property-based Locking. I proposed a</title>
      <p>
        property-based locking technique as generalization of
traditional fragment-based and object-based locking techniques
which captures fine-grained locks as graph patterns and
exploits incremental query engines to maintain and evaluate
locks [
        <xref ref-type="bibr" rid="ref35">35</xref>
        ].
      </p>
    </sec>
    <sec id="sec-15">
      <title>C2.2 Automated Model Merge using DSE. I proposed an</title>
      <p>
        automated three way model merge technique by adapting
rule-based design space exploration to derive consistent and
semantically correct merged models [
        <xref ref-type="bibr" rid="ref36">36</xref>
        ], [
        <xref ref-type="bibr" rid="ref37">37</xref>
        ].
      </p>
      <p>
        C2.3 Realization of DSE-merge. I realized an infrastructure
of automated model merge over EMF integrated into the
Eclipse IDE [
        <xref ref-type="bibr" rid="ref36">36</xref>
        ], [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ].
      </p>
      <p>
        C2.4 Evaluation. I evaluated the scalability of the
automated model merge and I compared the effectiveness of
fine-grained property-based locking and traditional locking
strategies for conflict prevention on a case study of offshore
wind turbine controllers [
        <xref ref-type="bibr" rid="ref36">36</xref>
        ], [
        <xref ref-type="bibr" rid="ref35">35</xref>
        ], [
        <xref ref-type="bibr" rid="ref33">33</xref>
        ].
      </p>
      <p>
        The novel concept of property-based locking has been
carried out in a collaborative work [
        <xref ref-type="bibr" rid="ref34">34</xref>
        ] where my contribution
is the first adaption in a practical setting.
      </p>
      <p>Uniqueness. Our property-based approach is general and
can be used for both implicit locking of subtrees and set
of elements or explicit locking of a certain element and its
incoming and outgoing references. In addition it extends these
lock types with the definition of properties to provide less
restrictive locking for the collaborators.</p>
      <p>
        The closest to our merge approach are [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] and [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], but
we rely on state-based comparison, apply a guided
localsearch strategy (vs. [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]), detect conflicts at runtime and allow
complex generic merge operations (vs. [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]). Internally, we
uniquely use incremental and change-driven transformations
to derive the merged models. Finally, we reported scalability
of merge process for models which are at least one order of
magnitude larger compared to [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] and [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ].
      </p>
    </sec>
    <sec id="sec-16">
      <title>C. Synchronization of View Models</title>
      <p>
        Approach. In [
        <xref ref-type="bibr" rid="ref38">38</xref>
        ], we introduced an approach where view
models are conceptually equivalent to regular models and they
are defined using a fully declarative, rule based formalism.
Preconditions of rules are defined by graph patterns, which
identify parts of interest in the source model. Derivation rules
then use the match set of a graph pattern to define elements
of the view model. Informally, when a new match of a query
appears then the corresponding derivation rule is fired to create
elements of the view model. When an existing match of a
query disappears, the inverse of the derivation rule is fired to
delete the corresponding view model elements.
      </p>
      <p>
        View models derived by a unidirectional transformation are
read-only representations, and they cannot be changed directly.
To tackle this problem, we proposed an approach in [
        <xref ref-type="bibr" rid="ref39">39</xref>
        ] to
automatically calculate possible source model candidates for a
set of changes in different view models as depicted on Fig. 5.
First, the possibly impacted partition of the source model is
need to be identified by observing traceability links to restrict
the impact of a view modification. Then the modified view
models and the query-based view specification are transformed
into logic formulae. Finally, multiple valid resolutions of the
source model are generated using logic solvers corresponding
to the changes of view models and the constraints of the source
model from the users can manually select a proper solution.
      </p>
      <p>My contributions related to the fulfillment of RQ-3 :
Contribution 3 I proposed a novel technique of
bidirectional synchronization of view models where the forward
incremental synchronization is achieved by unidirectional
derivation rules while the backward propagation of changes
is generated using logic solvers.</p>
    </sec>
    <sec id="sec-17">
      <title>C3.1 Incremental Forward Synchronization. I formalized a</title>
      <p>
        fully forward incremental, unidirectional synchronization
technique of view models allowing chaining of views where
the object of view model depend on the match set of the
precondition of derivation rules [
        <xref ref-type="bibr" rid="ref38">38</xref>
        ], [
        <xref ref-type="bibr" rid="ref40">40</xref>
        ].
      </p>
    </sec>
    <sec id="sec-18">
      <title>C3.2 Change Impact Analysis. I analyzed the impact of</title>
      <p>
        changes in underlying source models in case of backward
propagation. The impacted part is added to the logic solver
as additional constraints to calculate minimally modified
source model candidates [
        <xref ref-type="bibr" rid="ref39">39</xref>
        ].
      </p>
    </sec>
    <sec id="sec-19">
      <title>C3.3 Realization of Forward Synchronization. I realized the</title>
      <p>
        incremental and forward view synchronization technique
where elementary derivation rules are captured by graph
patterns and the reactive synchronization process uses the
Viatra Event-driven Virtual Machine (EVM) [
        <xref ref-type="bibr" rid="ref38">38</xref>
        ].
C3.4 Evaluation. I evaluated the scalability of the proposed
approaches on case studies from the avionics and the
health-care domain [
        <xref ref-type="bibr" rid="ref38">38</xref>
        ], [
        <xref ref-type="bibr" rid="ref39">39</xref>
        ], [
        <xref ref-type="bibr" rid="ref40">40</xref>
        ].
      </p>
      <p>The transformation of the preconditions described by graph
patterns and the impacted parts to first order logic is the
contribution of Oszka´r Semera´th whereas my contributions
are the impact analysis and the concept of using logic solver
for backward propagation extended with impacted parts as
additional constraints.</p>
      <p>Uniqueness. Definition of a view model is unidirectional,
while the forward propagation of the operation-based changes
are live, incremental and executed automatically that also
maintains explicit traces. At backward propagation, using
partitioning as an additional input of the logic solver improves
scalability issues and limits the impact of changes to a
welldefined part of the source model.</p>
      <sec id="sec-19-1">
        <title>ACKNOWLEDGEMENT</title>
        <p>I would like to thank my advisor, Daniel Varro for his
guidance during my research. I would also like to express
my gratitude to Istvan Rath, Gabor Bergmann, Oszkar
Semerath and Akos Horvath as well as Marsha Chechik, Fabiano
Dalpiaz, Jennifer Horkoff and Rick Salay along with numerous
colleagues and co-authors for sharing their ideas.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>J.</given-names>
            <surname>Whittle</surname>
          </string-name>
          et al.,
          <source>“The State of Practice in Model-Driven Engineering,” IEEE Software</source>
          , vol.
          <volume>31</volume>
          , no.
          <issue>3</issue>
          , pp.
          <fpage>79</fpage>
          -
          <lpage>85</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Eclipse</given-names>
            <surname>Foundation</surname>
          </string-name>
          , “CDO,” http://eclipse.org/cdo.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>[3] --, “EMFStore,” http://eclipse.org/emfstore.</mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Apache</surname>
          </string-name>
          , “Subversion,” https://subversion.apache.org/.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>G.</given-names>
            <surname>Kramler</surname>
          </string-name>
          et al., “
          <article-title>Towards a Semantic Infrastructure Supporting Modelbased Tool Integration,” in GaMMa@ICSE'06</article-title>
          . ACM,
          <year>2006</year>
          , pp.
          <fpage>43</fpage>
          -
          <lpage>46</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Eclipse</given-names>
            <surname>Foundation</surname>
          </string-name>
          , “EMF Compare,” http://eclipse.org/emf/compare/.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>[7] --, “EMF Diff/Merge,” http://eclipse.org/diffmerge/.</mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>C.</given-names>
            <surname>Clasen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Jouault</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Cabot</surname>
          </string-name>
          , “VirtualEMF:
          <string-name>
            <given-names>A Model</given-names>
            <surname>Virtualization</surname>
          </string-name>
          <string-name>
            <surname>Tool</surname>
          </string-name>
          ,” in Advances in Conceptual Modeling.
          <source>Recent Developments and New Directions</source>
          ,
          <year>2011</year>
          , pp.
          <fpage>332</fpage>
          -
          <lpage>335</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>J.</given-names>
            <surname>Tolvanen</surname>
          </string-name>
          , “
          <article-title>MetaEdit+ for Collaborative Language Engineering and Language Use (tool demo</article-title>
          ),” in Tool Demo@SLE'
          <fpage>16</fpage>
          ,
          <year>2016</year>
          , pp.
          <fpage>41</fpage>
          -
          <lpage>45</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>M.</given-names>
            <surname>Maro</surname>
          </string-name>
          <article-title>´ti et al</article-title>
          .,
          <article-title>“Next Generation (Meta)Modeling: Web-</article-title>
          and
          <string-name>
            <surname>Cloudbased Collaborative</surname>
          </string-name>
          Tool Infrastructure,”
          <source>in MPM@MODELS'14</source>
          ,
          <year>2014</year>
          , pp.
          <fpage>41</fpage>
          -
          <lpage>60</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Axellience</surname>
          </string-name>
          , “Genmymodel.”
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Obeo</surname>
          </string-name>
          , “Obeo Designer,” https://obeodesigner.com/en/ collaborative-features.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>J.</given-names>
            <surname>Gallardo</surname>
          </string-name>
          et al.,
          <article-title>“A Model-driven Development Method for Collaborative Modeling Tools</article-title>
          ,”
          <source>J. Network and Computer Applications</source>
          , vol.
          <volume>35</volume>
          , no.
          <issue>3</issue>
          , pp.
          <fpage>1086</fpage>
          -
          <lpage>1105</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>E.</given-names>
            <surname>Syriani</surname>
          </string-name>
          et al.,
          <article-title>“AToMPM: A Web-based Modeling Environment</article-title>
          ,” in Invited Talks, Demonstration Session,
          <source>Poster Session, and ACM Student Research Competition@MoDELS'13</source>
          ,
          <year>2013</year>
          , pp.
          <fpage>21</fpage>
          -
          <lpage>25</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>K.</given-names>
            <surname>Altmanninger</surname>
          </string-name>
          et al., “
          <article-title>Amor-towards adaptable model versioning,” in MCCM@MoDELS'08</article-title>
          , vol.
          <volume>8</volume>
          ,
          <issue>2008</issue>
          , pp.
          <fpage>4</fpage>
          -
          <lpage>50</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>F.</given-names>
            <surname>Schwa</surname>
          </string-name>
          <article-title>¨gerl et al</article-title>
          .,
          <article-title>“Model-based Tool Support for Consistent Threeway Merging of EMF Models,”</article-title>
          <source>in ACME@ECOOP'13</source>
          ,
          <year>2013</year>
          , pp.
          <volume>2</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>2</lpage>
          :
          <fpage>10</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>J.</given-names>
            <surname>Rubin</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Chechik</surname>
          </string-name>
          , “
          <article-title>N-way Model Merging,” in ACM SIGSOFT Symp</article-title>
          @ESEC/FSE'13,
          <year>2013</year>
          , pp.
          <fpage>301</fpage>
          -
          <lpage>311</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>P.</given-names>
            <surname>Brosch</surname>
          </string-name>
          et al., “
          <article-title>We can work it out: Collaborative Conflict Resolution in Model Versioning,”</article-title>
          <source>in ECSCW'09</source>
          ,
          <year>2009</year>
          , pp.
          <fpage>207</fpage>
          -
          <lpage>214</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>H. K. Dam</surname>
          </string-name>
          et al.,
          <source>“Inconsistency Resolution in Merging Versions of Architectural Models,” in WICSA'14</source>
          ,
          <year>2014</year>
          , pp.
          <fpage>153</fpage>
          -
          <lpage>162</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>U.</given-names>
            <surname>Mansoor</surname>
          </string-name>
          et al.,
          <article-title>“MOMM: Multi-objective model merging</article-title>
          ,
          <source>” Journal of Systems and Software</source>
          , vol.
          <volume>103</volume>
          , pp.
          <fpage>423</fpage>
          -
          <lpage>439</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>H.</given-names>
            <surname>Song</surname>
          </string-name>
          et al.,
          <article-title>“Instant and Incremental QVT Transformation for Runtime Models</article-title>
          ,” in
          <source>MoDELS'11</source>
          ,
          <year>2011</year>
          , pp.
          <fpage>273</fpage>
          -
          <lpage>288</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22] “
          <article-title>Towards Automatic Model Synchronization from Model Transformations, author=Xiong, Yingfei and others</article-title>
          ,
          <source>booktitle=ASE'07</source>
          , pages=
          <fpage>164</fpage>
          -
          <lpage>173</lpage>
          ,
          <year>year</year>
          =
          <year>2007</year>
          ,.”
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>D. S.</given-names>
            <surname>Kolovos</surname>
          </string-name>
          , “
          <article-title>Establishing Correspondences between Models with the Epsilon Comparison Language</article-title>
          ,” in ECMDA-FA'
          <fpage>09</fpage>
          ,
          <year>2009</year>
          , pp.
          <fpage>146</fpage>
          -
          <lpage>157</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>A.</given-names>
            <surname>Schurr</surname>
          </string-name>
          , “
          <article-title>Specification of Graph Translators with Triple Graph Grammars,” in Graph-Theoretic Concepts in Computer Science</article-title>
          , WG'
          <volume>94</volume>
          ,
          <year>1994</year>
          , pp.
          <fpage>151</fpage>
          -
          <lpage>163</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          <source>[25] OMG, “MOF 2</source>
          .0 QVT.”
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>H.</given-names>
            <surname>Gholizadeh</surname>
          </string-name>
          et al.,
          <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 co-located with (MODELS</source>
          <year>2015</year>
          , Ottawa, Canada,
          <year>2015</year>
          , pp.
          <fpage>46</fpage>
          -
          <lpage>55</lpage>
          . [Online]. Available: http://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>1500</volume>
          /paper6.pdf
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>D.</given-names>
            <surname>Jackson</surname>
          </string-name>
          , “Alloy Analyzer.”
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>H.</given-names>
            <surname>Bruneliere</surname>
          </string-name>
          et al.,
          <article-title>“EMF Views: A View Mechanism for Integrating Heterogeneous Models</article-title>
          ,” in Conceptual Modeling - ER'
          <fpage>15</fpage>
          ,
          <year>2015</year>
          , pp.
          <fpage>317</fpage>
          -
          <lpage>325</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>G.</given-names>
            <surname>Bergmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Debreceni</surname>
          </string-name>
          ,
          <string-name>
            <surname>I.</surname>
          </string-name>
          <article-title>Ra´th</article-title>
          , and D. Varro´, “
          <article-title>Query-based Access Control for Secure Collaborative Modeling using Bidirectional Transformations</article-title>
          ,” in
          <source>MoDELS'16</source>
          ,
          <year>2016</year>
          , pp.
          <fpage>351</fpage>
          -
          <lpage>361</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>C.</given-names>
            <surname>Debreceni</surname>
          </string-name>
          , G. Bergmann,
          <string-name>
            <surname>I.</surname>
          </string-name>
          <article-title>Ra´th</article-title>
          , and D. Varro´, “
          <article-title>Deriving Effective Permissions for Modeling Artifacts from Fine-grained Access Control Rules</article-title>
          ,” in COMMitMDE@MoDELS'
          <fpage>16</fpage>
          ,
          <year>2016</year>
          , pp.
          <fpage>17</fpage>
          -
          <lpage>26</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31] --, “
          <article-title>Enforcing Fine-grained Access Control for Secure Collaborative Modeling using Bidirectional Transformations,” Software and System Modeling</article-title>
          ,
          <source>MODELS 2016 Special Section</source>
          ,
          <year>2017</year>
          , submitted. [Online]. Available: https://goo.gl/ZAegbo
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>C.</given-names>
            <surname>Debreceni</surname>
          </string-name>
          , G. Bergmann,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Bu´r, I. Ra´th, and D. Varro´, “The MONDO Collaboration Framework: Secure Collaborative Modeling over existing Version Control Systems</article-title>
          ,” Tool Demo@ESEC/FSE'17,
          <year>2017</year>
          , in Press. [Online]. Available: https://goo.gl/uTsQeg
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <given-names>A.</given-names>
            <surname>Go</surname>
          </string-name>
          <article-title>´mez</article-title>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Mendialdua</surname>
          </string-name>
          , G. Bergmann,
          <string-name>
            <given-names>J.</given-names>
            <surname>Cabot</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Debreceni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Garmendia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. S.</given-names>
            <surname>Kolovos</surname>
          </string-name>
          , J. de Lara, and
          <string-name>
            <given-names>S.</given-names>
            <surname>Trujillo</surname>
          </string-name>
          , “
          <source>On the Opportunities of Scalable Modeling Technologies: An Experience Report on Wind Turbines Control Applications Development,” ECMFA'17</source>
          ,
          <year>2017</year>
          , in Press. [Online]. Available: https://goo.gl/surozr
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [34]
          <string-name>
            <given-names>M.</given-names>
            <surname>Chechik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Dalpiaz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Debreceni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Horkoff</surname>
          </string-name>
          ,
          <string-name>
            <surname>I.</surname>
          </string-name>
          <article-title>Ra´th</article-title>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Salay</surname>
          </string-name>
          , and D. Varro´, “
          <article-title>Property-Based Methods for Collaborative Model Development,”</article-title>
          <source>in GEMOC+MPM@MoDELS'15</source>
          ,
          <year>2015</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>7</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          [35]
          <string-name>
            <given-names>C.</given-names>
            <surname>Debreceni</surname>
          </string-name>
          , G. Bergmann,
          <string-name>
            <surname>I.</surname>
          </string-name>
          <article-title>Ra´th</article-title>
          , and D. Varro´, “
          <article-title>Property-based Locking in Collaborative Modeling</article-title>
          ,” in
          <source>MoDELS'17</source>
          ,
          <year>2017</year>
          , in Press.
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          [36]
          <string-name>
            <given-names>C.</given-names>
            <surname>Debreceni</surname>
          </string-name>
          , I. Ra´th, D. Varro´,
          <string-name>
            <given-names>X. D.</given-names>
            <surname>Carlos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Mendialdua</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Trujillo</surname>
          </string-name>
          , “
          <source>Automated Model Merge by Design Space Exploration</source>
          ,” in FASE'
          <volume>16</volume>
          ,
          <year>2016</year>
          , pp.
          <fpage>104</fpage>
          -
          <lpage>121</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          [37]
          <string-name>
            <given-names>H.</given-names>
            <surname>Abdeen</surname>
          </string-name>
          , D. Varro´,
          <string-name>
            <given-names>H. A.</given-names>
            <surname>Sahraoui</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. S.</given-names>
            <surname>Nagy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Debreceni</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          ´.
          <article-title>Hegedu¨s, and</article-title>
          <string-name>
            <surname>A</surname>
          </string-name>
          ´.
          <article-title>Horva´th, “Multi-objective Optimization in Rulebased Design Space Exploration</article-title>
          ,” in ASE '
          <volume>14</volume>
          ,
          <year>2014</year>
          , pp.
          <fpage>289</fpage>
          -
          <lpage>300</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          [38]
          <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>
          . Hegedu¨s,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Ujhelyi</surname>
          </string-name>
          ,
          <string-name>
            <surname>I.</surname>
          </string-name>
          <article-title>Ra´th</article-title>
          , and D. Varro´, “
          <article-title>Query-driven Incremental Synchronization of View Models,”</article-title>
          <source>in VAO@STAF'14</source>
          ,
          <year>2014</year>
          , pp.
          <fpage>31</fpage>
          -
          <lpage>38</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref39">
        <mixed-citation>
          [39]
          <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>
          ´ . Horva´th, and D. Varro´, “
          <article-title>Change Propagation of View Models by Logic Synthesis using SAT solvers,”</article-title>
          <source>in BX@ETAPS'16</source>
          ,
          <year>2016</year>
          , pp.
          <fpage>40</fpage>
          -
          <lpage>44</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref40">
        <mixed-citation>
          [40]
          <article-title>--, “Incremental Backward Change Propagation of View Models by Logic Solvers</article-title>
          ,” in
          <source>MoDELS'16</source>
          ,
          <year>2016</year>
          , pp.
          <fpage>306</fpage>
          -
          <lpage>316</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>