Evolution of Textual Domain-Specific Languages in the Context of Model-Driven Engineering
No Thumbnail Available
Date
2025-09-23
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Domain-specific languages (DSLs) have become essential tools in model-driven engineering, enabling domain experts to express solutions in familiar terminology while maintaining formal precision. As software systems evolve, textual DSLs must adapt to changing requirements, new features, and evolving domain knowledge. However, the evolution of textual DSLs presents multifaceted challenges spanning different levels of language artifacts: metamodels and grammars must remain consistent during language definition evolution, generated grammars require optimization and adaptation to improve usability, grammar adaptation processes need to avoid repetitive manual labor, and textual instances require migration while preserving valuable auxiliary information such as comments and formatting.
This research systematically addresses the key challenges in textual DSL evolution by developing automated solutions that support the comprehensive co-evolution of language definitions and their instances. The work begins with an extensive empirical investigation of 1,002 Xtext-based DSL repositories on GitHub, providing unprecedented insights into how textual DSLs are developed, used, and evolved in practice across 18 different application domains. Based on these empirical findings, we developed automated grammar transformation approaches to support metamodel-grammar co-evolution, including configurable transformation rules and automated extraction of grammar adaptation configurations. The research also explores approaches for creating more user-friendly Python-style DSL grammars through systematic grammar adaptation and investigates methods for utilizing metamodel structures in generating editors for large textual DSLs. Additionally, the research explores novel applications of large language models in textual DSL instance co-evolution.
The contributions of this thesis advance both theoretical understanding and practical tooling for textual DSL evolution in model-driven engineering contexts. The empirical insights inform best practices for DSL development and evolution, while the automated solutions significantly reduce the manual effort required for maintaining consistency between evolving language definitions and their instances. This work establishes a foundation for more effective and efficient evolution of textual DSLs, ultimately supporting broader adoption and long-term sustainability of domain-specific languages in software engineering practice.
Description
Keywords
Domain-Specific Languages, Language Evolution, Grammar Transformation, Xtext