SCOLAR is a framework for Systematic Compositional LAnguage Reuse that aims to facilitate the engineering of textual, external, and translational, software languages. To this effect, it leverages concepts from component-based software engineering, software product lines, and software language engineering in a systematic reuse process. This process focuses on language components comprising syntax, in the form of grammars and well-formedness rules, and semantics, in the form of code generators, that explicate their required and provided extensions through novel interfaces. By carefully arranging language components through feature models of language product lines, novel language components can be derived through the black-box composition of the components of selected features. This includes embedding of grammars, aggregation of well-formedness rules, and composition of code generators. If the resulting component is complete, i.e., all required extensions were satisfied, a new language can be derived automatically. Otherwise, the customization required for this completion can be performed systematically.
The following presents selected publications that present research results relating to this project. More are available from personal website at the Chair for Software Engineering.
- [BEK+19] . Systematic Composition of Independent Language Features, Rafael Capilla Sevilla, Lidia Fuentes, Malte Lochau, editors, Journal of Systems and Software, 152, pages 50-69, June, 2019.
- [BEK+18a] . Controlled and Extensible Variability of Concrete and Abstract Syntax with Independent Language Features, In: Proceedings of the 12th International Workshop on Variability Modelling of Software-Intensive Systems (VAMOS'18), pages 75-82, January, 2018, ACM.
- [BEK+18b] . Modeling Language Variability with Reusable Language Components, In: International Conference on Systems and Software Product Line (SPLC'18), September, 2018, ACM.
- [BJRW18] . Translating Grammars to Accurate Metamodels, In: International Conference on Software Language Engineering (SLE'18), pages 174-186, 2018, ACM.
We applied existing and devised new language engineering techniques to realize the extensible MontiArcAutomaton architecture modeling framework as well as to ease the systematic engineering of digital twins.