Evaluating Tool Support for Co-Evolution of Modeling Languages, Tools and Models

Juha‐Pekka Tolvanen, Steven Kelly · 2023

We present a framework for evaluating language workbenches' capabilities for co-evolution of graphical modeling languages, modeling tools and models. As with programming, language refinement, enhancement and other maintenance tasks typically account for more work than the initial development phase. Modeling languages have the added challenge of keeping tools and existing models in step with the evolving language. As domain-specific modeling languages and tools have started to be used widely, thanks to reports of significant productivity improvements, some language workbench users have indeed reported problems with co-evolution of tools and models. Our evaluation framework aims to cover changes across the whole language definition: the abstract syntax, concrete syntax and constraints. Change impact is assessed for knock-on effects within the language definition, the modeling tools, semantics via generators, and existing models. We demonstrate the viability of the framework by evaluating the MetaEdit+ tool, providing a detailed evaluation process for others to repeat with their tools. The results of the evaluation show that MetaEdit+ automatically updates and co-evolves models without error. In all cases the editors open and work with existing models; when automated co-evolution is impossible, the tool points to the items requiring human intervention. Industrial-scale experience with this approach, over language lifespans up to 25 years, is briefly assessed to corroborate its sustain ability and evaluation.

Read the paper · More papers on PaperTik