Systematic Software Language Engineering

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, wit leverages concepts from component-based software engineering, software product lines, and software language engineering in a systematic reuse process focusing 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.