In model-driven development (MDD), models serve as key software engineering artifacts, particularly in domains where domain engineers may not have a software background. To facilitate this, modelers utilize domain-specific modeling languages (DSMLs) that align closely with the application domain. Modern software applications often involve various integrated models, adhering to diverse DSMLs that ensure consistency across the application. However, developing DSMLs ad-hoc can be time-consuming and prone to errors. Systematic reuse of DSMLs or their components can enhance the efficiency and reliability of DSML engineering. This necessitates that language engineers integrate DSMLs through various language composition methods. The thesis presents a method for creating modular language components that can be composed via symbol tables, utilizing the MontiCore language workbench to establish language product lines. These components pinpoint the source code artifacts that define a DSML, relying on kind-typed symbol tables to maintain compatibility during composition. Additionally, an approach for persisting symbol tables decouples language infrastructures, improving performance in type and consistency checks among heterogeneous models. The proposed method aims to enable systematic composition of language components, preventing undesirable combinations and advancing DSML engineering at scale.
Arvid Butting Bücher
