Standard

Lessons learned from developing mbeddr: a case study in language engineering with MPS. / Völter, Markus; Kolb, Bernd; Szabó, Tamás; Ratiu, Daniel; van Deursen, Arie.

In: Software and Systems Modeling, 09.01.2017.

Research output: Scientific - peer-reviewArticle

Harvard

APA

Vancouver

Völter M, Kolb B, Szabó T, Ratiu D, van Deursen A. Lessons learned from developing mbeddr: a case study in language engineering with MPS. Software and Systems Modeling. 2017 Jan 9. Available from, DOI: 10.1007/s10270-016-0575-4

Author

Völter, Markus; Kolb, Bernd; Szabó, Tamás; Ratiu, Daniel; van Deursen, Arie / Lessons learned from developing mbeddr: a case study in language engineering with MPS.

In: Software and Systems Modeling, 09.01.2017.

Research output: Scientific - peer-reviewArticle

BibTeX

@article{6fcaa1db7e3a454683291cc69901df7e,
title = "Lessons learned from developing mbeddr: a case study in language engineering with MPS",
keywords = "Language engineering, Language extension, Language workbenches, Domain-specific language, Case study, Languages, Experimentation",
author = "Markus Völter and Bernd Kolb and Tamás Szabó and Daniel Ratiu and {van Deursen}, Arie",
year = "2017",
month = "1",
doi = "10.1007/s10270-016-0575-4",
journal = "Software and Systems Modeling",
issn = "1619-1366",
publisher = "Springer Verlag",

}

RIS

TY - JOUR

T1 - Lessons learned from developing mbeddr: a case study in language engineering with MPS

AU - Völter,Markus

AU - Kolb,Bernd

AU - Szabó,Tamás

AU - Ratiu,Daniel

AU - van Deursen,Arie

PY - 2017/1/9

Y1 - 2017/1/9

N2 - 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.

AB - 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.

KW - Language engineering

KW - Language extension

KW - Language workbenches

KW - Domain-specific language

KW - Case study

KW - Languages

KW - Experimentation

U2 - 10.1007/s10270-016-0575-4

DO - 10.1007/s10270-016-0575-4

M3 - Article

JO - Software and Systems Modeling

T2 - Software and Systems Modeling

JF - Software and Systems Modeling

SN - 1619-1366

ER -

ID: 10057473