University of Leicester
Browse
Boronat2020_Article_IncrementalExecutionOfRule-bas.pdf (1.27 MB)

Incremental Execution of Rule-based Model Transformation: Using Dependency Injection and Standardized Model Changes

Download (1.27 MB)
Version 2 2020-12-08, 12:24
Version 1 2020-07-01, 11:19
journal contribution
posted on 2020-12-08, 12:23 authored by Artur Boronat
When model transformations are used to implement consistency relations between very large models, incrementality plays a cornerstone role in detecting and resolving inconsistencies efficiently when models are updated. Given a directed consistency relation between two models, the problem studied in this work consists in propagating model changes from a source model to a target model in order to ensure consistency while minimizing computational costs. The mechanism that enforces such consistency is called consistency maintainer and, in this context, its scalability is a required non-functional requirement. State-of-the-art model transformation engines with support for incrementality normally rely on an observer pattern for linking model changes, also known as deltas, to the application of model transformation rules, in so-called dependencies, at run time. These model changes can then be propagated along an already executed model transformation. Only a few approaches to model transformation provide domain-specific languages for representing and storing model changes in order to enable their use in asynchronous, event-based execution environments. The principal contribution of this work is the design of a forward change propagation mechanism for incremental execution of model transformations, which decouples dependency tracking from change propagation using two innovations. First, the observer pattern-based model is replaced with dependency injection, decoupling domain models from consistency maintainers. Second, a standardized representation of model changes is reused, enabling interoperability with EMF-compliant tools, both for defining model changes and for processing them asynchronously. This procedure has been implemented in a model transformation engine, whose performance has been evaluated experimentally using the VIATRA CPS benchmark. In the experiments performed, the new transformation engine shows gains in the form of several orders of magnitude in the initial phase of the incremental execution of the benchmark model transformation and change propagation is performed in real time for those model sizes that are processable by other tools and, in addition, is able to process much larger models.

History

Citation

International Journal on Software Tools for Technology Transfer (2020) https://doi.org/10.1007/s10009-020-00583-y

Author affiliation

Department of Informatics

Version

  • VoR (Version of Record)

Published in

International Journal on Software Tools for Technology Transfer

Publisher

Springer Verlag

issn

0945-8115

Acceptance date

2020-05-27

Copyright date

2020

Available date

2020-09-05

Language

en

Usage metrics

    University of Leicester Publications

    Categories

    Licence

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC