CHAMELEON: OutSystems Live Bidirectional Transformations

05/05/2023
by   Hugo Lourenço, et al.
0

In model-driven engineering, the bidirectional transformation of models plays a crucial role in facilitating the use of editors that operate at different levels of abstraction. This is particularly important in the context of industrial-grade low-code platforms like OutSystems, which feature a comprehensive ecosystem of tools that complement the standard integrated development environment with domain-specific builders and abstract model viewers. We introduce CHAMELEON, a tool that enables the dynamic definition of a live bidirectional model transformation in a declarative manner by leveraging simple and intuitive component patterns. Through this approach, we can gradually define the view and synthesis paths to an abstract model built on top of a low-code metamodel. We devise a standard parser-generating technique for tree-like models that builds upon extended grammar definitions with constraints and name binders. We allow for a greater overlap of model patterns that can still be disambiguated for a clear lens-like behaviour of the transformation. CHAMELEON is evaluated in the fragment of the OutSystems language targeting the definition of user interfaces. To assess performance we used a large set of real OutSystems applications, with approximately 200K UI widgets, and a database of curated widget patterns. We found a worst-case processing time of 92ms for complete models in our benchmark, which is still suitable for the operation of an interactive model editor.

READ FULL TEXT
research
01/17/2019

Multilevel Coupled Model Transformations for Precise and Reusable Definition of Model Behaviour

The use of Domain-Specific Languages (DSLs) is a promising field for the...
research
09/05/2022

Inferring Region Types via an Abstract Notion of Environment Transformation

Region-based type systems are a powerful tool for various kinds of progr...
research
10/08/2019

Multilevel Modelling and Domain-Specific Languages

Modern software engineering deals with demanding problems that yield lar...
research
11/01/2019

Program Sketching with Live Bidirectional Evaluation

We present Sketch-n-Myth, a technique for completing program sketches wh...
research
10/09/2017

Synthesizing Bijective Lenses

Bidirectional transformations between different data representations occ...
research
10/23/2019

Towards a Complete Picture of Lens Laws

Bidirectional transformation, also called lens, has played important rol...

Please sign up or login with your details

Forgot password? Click here to reset