Modeling language variability with reusable language components

Arvid Butting, Robert Eikermann, Oliver Kautz, Bernhard Rumpe, Andreas Wortmann
2018 Proceeedings of the 22nd International Conference on Systems and Software Product Line - SPLC '18  
Proliferation of modeling languages has produced a great variety of similar languages whose individual maintenance is challenging and costly. Reusing the syntax and semantics of modeling languages and their heterogeneous constituents, however, is rarely systematic. Current research on modeling language reuse focuses on reusing abstract syntax in form of metamodel parts. Systematic reuse of static and dynamic semantics is yet to be achieved. We present an approach to compose syntax and semantics
more » ... of independently developed modeling languages through language product lines and derive new stand-alone language products. Using the MontiCore language workbench, we implemented a mechanism to compose language syntaxes and the realization of their semantics in form of template-based code generators according to language product line configurations. Leveraging variability of product lines greatly facilitates reusing modeling language and alleviates their proliferation. CCS CONCEPTS • Software and its engineering → Model-driven software engineering; Extensible languages; Software product lines;
doi:10.1145/3233027.3233037 dblp:conf/splc/ButtingEKRW18 fatcat:6s5vq4ldcfbdtkvnnvdod5i22q