Neubauer, P. (2020). A Framework for modernizing domain-specific languages : from XML schema to Consistency-achieving editors with reusable notations [Dissertation, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2020.31485
E194 - Institut für Information Systems Engineering
Number of Pages:
Domain-Specific Language Engineering; Language Modernization; Model-Driven Engineering; XML Schema; Xtext
The introduction of Extensible Markup Language (XML) Schema Definitions (XSDs) represented a tremendous leap towards the design of domain-specific languages (DSLs) by enabling machine processibility of domain models conforming to formally described language grammar, i.e. capturing vocabulary and valid sentences. Consequently, it elevated the need for automating the creation and maintenance of dedicated and modern integrated development environments (IDEs) evading inherent XML limitations, such as rigid angle-bracket syntax, as well as enabling the support of valid domain model construction. Techniques and tools provided by model-driven engineering frameworks and language workbench frameworks offer elementary assistance during the initial implementation of a DSL. These frameworks, however, fail to automate DSL generation due to disparities exposed by the transformation and synthesis of XSDs, language grammars, and metamodels. Moreover, fundamental differences in the nature of language grammars and metamodels challenge the construction and application of language notations. Although language workbenches are capable of integrating seamlessly dedicated validators, context assistants, and quick fix providers into domain-specific IDEs, their implementation and maintenance still requires proficient language knowledge and development. This thesis contributes towards addressing the above-mentioned problems. First, it proposes an approach to generate automatically DSL grammars from XSD-based languages by bridging gaps in the transformations of structural components, and by enriching metamodels with structural constraints imposed by XSD restrictions. Second, it proposes an approach to generate automatically domain-specific IDEs with accurate validators, sensible context assistants, and cost-effective quick fix providers by employing search-based software engineering at runtime. Third, it proposes an approach to formulate domain structure-agnostic textual notations for modeling languages by decoupling representational from structural information in grammar definitions, and by providing a language style framework capable of generating grammars from arbitrary metamodels and style specifications. In order to demonstrate the usefulness of the proposed approaches, the developed prototypical implementations are evaluated based on a comprehensive industrial standard for the classification and description of products, a comparison with state-of-the-art language workbench frameworks, integration with model assistance tooling, and individual case studies such as cloud topology and orchestration modeling.