Table of Contents
Fetching ...

Towards Automated Support for the Co-Evolution of Meta-Models and Grammars

Weixing Zhang

TL;DR

This licentiate introduces GrammarOptimizer and a meta-model-based workflow to co-evolve meta-models and grammars for textual DSLs in blended modeling settings. It surveys the state of the art, extends Xtext with generator extensions, proposes Python-style grammar prototyping, and then generalizes a set of grammar optimization rules into GrammarOptimizer. Across seven DSLs and two evolution scenarios, the approach demonstrates substantial imitation of expert grammars and effective adaptation across evolving meta-models, reducing manual rework during rapid prototyping. The work advances blended modeling by enabling rapid, semi-automatic grammar evolution while maintaining language usability, with practical impact for tool builders and researchers seeking robust DSL engineering pipelines.

Abstract

Blended modeling is an emerging paradigm involving seamless interaction between multiple notations for the same underlying modeling language. We focus on a model-driven engineering (MDE) approach based on meta-models to develop textual languages to improve the blended modeling capabilities of modeling tools. In this thesis, we propose an approach that can support the co-evolution of meta-models and grammars as language engineers develop textual languages in a meta-model-based MDE setting. Firstly, we comprehensively report on the challenges and limitations of modeling tools that support blended modeling, as well as opportunities to improve them. Second, we demonstrate how language engineers can extend Xtext's generator capabilities according to their needs. Third, we propose a semi-automatic method to transform a language with a generated grammar into a Python-style language. Finally, we provide a solution (i.e., GrammarOptimizer) that can support rapid prototyping of languages in different styles and the co-evolution of meta-models and grammars of evolving languages.

Towards Automated Support for the Co-Evolution of Meta-Models and Grammars

TL;DR

This licentiate introduces GrammarOptimizer and a meta-model-based workflow to co-evolve meta-models and grammars for textual DSLs in blended modeling settings. It surveys the state of the art, extends Xtext with generator extensions, proposes Python-style grammar prototyping, and then generalizes a set of grammar optimization rules into GrammarOptimizer. Across seven DSLs and two evolution scenarios, the approach demonstrates substantial imitation of expert grammars and effective adaptation across evolving meta-models, reducing manual rework during rapid prototyping. The work advances blended modeling by enabling rapid, semi-automatic grammar evolution while maintaining language usability, with practical impact for tool builders and researchers seeking robust DSL engineering pipelines.

Abstract

Blended modeling is an emerging paradigm involving seamless interaction between multiple notations for the same underlying modeling language. We focus on a model-driven engineering (MDE) approach based on meta-models to develop textual languages to improve the blended modeling capabilities of modeling tools. In this thesis, we propose an approach that can support the co-evolution of meta-models and grammars as language engineers develop textual languages in a meta-model-based MDE setting. Firstly, we comprehensively report on the challenges and limitations of modeling tools that support blended modeling, as well as opportunities to improve them. Second, we demonstrate how language engineers can extend Xtext's generator capabilities according to their needs. Third, we propose a semi-automatic method to transform a language with a generated grammar into a Python-style language. Finally, we provide a solution (i.e., GrammarOptimizer) that can support rapid prototyping of languages in different styles and the co-evolution of meta-models and grammars of evolving languages.
Paper Structure (222 sections, 31 figures, 27 tables)

This paper contains 222 sections, 31 figures, 27 tables.

Figures (31)

  • Figure 1: In a MDE approach, the grammar is adapted before being put into use, and when the language evolves, the grammar generated from the evolved meta-model needs to be adapted again.
  • Figure 2: The research included in this thesis involves multiple problems. We have implemented different research activities and obtained some research results for these different problems.
  • Figure 3: Schematic diagram of the proposed solution in Stage 4 to support the co-evolution of meta-models and grammars.
  • Figure 4: Blended modeling in the context of MVM and MPM.
  • Figure 5: Overview of the whole review process
  • ...and 26 more figures