Co-evolution of Metamodel and Generators: Higher-order Templating to the Rescue.

Tiziano Lombardi, Vittorio Cortellessa, Alfonso Pierantonio · The Journal of Object Technology · 2021

In Model-Driven Engineering, metamodels are the cornerstone entities underpinning modeling environments.Given one or more metamodels, a diversity of artefacts, including models, transformations, and code generators, are formally coupled with them.Like any other software, metamodels are prone to evolutionary pressure due to shifting business requirements.However, metamodel modifications might come at the price of jeopardizing the related artefacts that, in turn, must be adapted in order to remain valid.While a comprehensive corpus of research has shown that the co-evolution of metamodels and models can be effectively addressed with semi-automated techniques, the co-evolution of transformations and code generators still requires significant manual intervention.This paper proposes a novel technique to make template-based code generators resilient, to some extent, against metamodel evolution.A new template-based language, called hotello, is proposed for the specification of meta-templates, i.e., higher-order model-to-text transformations.The approach has been implemented, and a demonstration of its capabilities on a case study in the IoT domain is discussed.

Read the paper · More papers on PaperTik