ESR 13: Live Model Transformation for Distributed Low-Code PlatformsBenedek Horváth
IncQuery Labs (Hungary)
With the growing adaptation of LCEPs in high complexity system development and operation scenarios (e.g., IoT, safety-critical systems, etc.) the increasing complexity and the sheer size of modelling artefacts poses new challenges for the underlying model processing and transformation techniques. Especially, in the unique models@runtime contexts, where system models are continuously updated to react to the changes happening in their environment.
The main objective of this project is to achieve the execution of model transformations on very large and distributed models over a parallel and distributed platform. While it is already a major challenge in case of batch transformation execution, the challenge is multiplied in the case of live model transformations, which are continuously executed in the background and react to changes and events in the environment. This requires developing an efficient search-based pattern matching algorithm capable of operating on models of millions of elements and can also be efficiently executed on distributed and parallel environments.
A secondary objective is to provide a framework to construct domain-specific model transformation languages that natively support parallel and distributed execution. More precisely, the goal is to provide the appropriate components, defined at the right level of abstraction, for a LCE engineer to define or adapt their own model processing/transformation language, using these modular components.
The overall goal is to allow modellers to build low-code model transformation languages and systems that can be executed in a parallel and distributed environment, and efficiently process very large models within the range of 100+ million model elements, with as little effort as possible. The goal is to transform models in the size range of at least one order of magnitude larger than single computer solutions are currently capable of, which is around 10 million model elements for EMF.
The main outcome of the project is an open source model transformation engine that is able to execute transformations over a highly distributed computing infrastructure, providing scalability both in terms of model size and transformation complexity, and reacting immediately changes in the environment. The engine is uniformly accessible for the different domain-specific transformation languages. As another outcome of the project, such an engine should provide additional support for traceability and debugging for executing parallel and distributed model transformations, which is extremely cumbersome in existing solutions.