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

By: Tiziano Lombardi, Vittorio Cortellessa, Alfonso Pierantonio

Abstract

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.

Keywords

Coupled evolution, Change resilience, Code generators, Templating, Higher-order transformation language.

Cite as:

Tiziano Lombardi, Vittorio Cortellessa, Alfonso Pierantonio, “Co-evolution of Metamodel and Generators: Higher-order Templating to the Rescue”, Journal of Object Technology, Volume 20, no. 3 (June 2021), pp. 7:1-14, doi:10.5381/jot.2021.20.3.a7.

PDF | DOI | BiBTeX | Tweet this | Post to CiteULike | Share on LinkedIn

The JOT Journal   |   ISSN 1660-1769   |   DOI 10.5381/jot   |   AITO   |   Open Access   |    Contact