Title
Lessons learned from developing mbeddr: a case study in language engineering with MPS.
Abstract
Language workbenches are touted as a promising technology to engineer languages for use in a wide range of domains, from programming to science to business. However, not many real-world case studies exist that evaluate the suitability of language workbench technology for this task. This paper contains such a case study. In particular, we evaluate the development of mbeddr, a collection of integrated languages and language extensions built with the Jetbrains MPS language workbench. mbeddr consists of 81 languages, with their IDE support, 34 of them C extensions. The mbeddr languages use a wide variety of notations—textual, tabular, symbolic and graphical—and the C extensions are modular; new extensions can be added without changing the existing implementation of C. mbeddr’s development has spanned 10 person-years so far, and the tool is used in practice and continues to be developed. This makes mbeddr a meaningful case study of non-trivial size and complexity. The evaluation is centered around five research questions: language modularity, notational freedom and projectional editing, mechanisms for managing complexity, performance and scalability issues and the consequences for the development process. We draw generally positive conclusions; language engineering with MPS is ready for real-world use. However, we also identify a number of areas for improvement in the state of the art in language engineering in general, and in MPS in particular.
Year
DOI
Venue
2019
10.1007/s10270-016-0575-4
Software and System Modeling
Keywords
Field
DocType
Language engineering, Language extension, Language workbenches, Domain-specific language, Case study, Languages, Experimentation
Domain-specific language,Second-generation programming language,Programming language,Software engineering,Computer science,Fourth-generation programming language,Very high-level programming language,High-level programming language,Third-generation programming language,Low-level programming language,Language technology
Journal
Volume
Issue
ISSN
18
1
1619-1374
Citations 
PageRank 
References 
2
0.39
67
Authors
5
Name
Order
Citations
PageRank
Markus Voelter132129.85
Bernd Kolb215113.29
Tamás Szabó372.28
Daniel Ratiu449338.87
A. van Deursen54034254.98