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

被引:14
|
作者
Voelter, Markus [1 ]
Kolb, Bernd [2 ]
Szabo, Tamas [2 ,3 ]
Ratiu, Daniel [5 ]
van Deursen, Arie [4 ]
机构
[1] Itemis, Stuttgart, Germany
[2] Itemis AG, Stuttgart, Germany
[3] Delft Univ Technol, Delft, Netherlands
[4] Delft Univ Technol, Software Engn, Delft, Netherlands
[5] Siemens AG, Munich, Germany
关键词
Language engineering; Language extension; Language workbenches; Domain-specific language; Case study; Languages; Experimentation; IMPLEMENTATION;
D O I
10.1007/s10270-016-0575-4
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:585 / 630
页数:46
相关论文
共 50 条
  • [1] Lessons learned from developing mbeddr: a case study in language engineering with MPS
    Markus Voelter
    Bernd Kolb
    Tamás Szabó
    Daniel Ratiu
    Arie van Deursen
    Software & Systems Modeling, 2019, 18 : 585 - 630
  • [2] Lessons Learned about Language Engineering from the Development of mbeddr (Keynote)
    Voelter, Markus
    ITSLE'16: PROCEEDINGS OF THE 1ST INDUSTRY TRACK ON SOFTWARE LANGUAGE ENGINEERING, 2016, : 1 - 1
  • [3] Engineering Big Data to Small Businesses: Lessons Learned from A Case Study
    Jia, Changjiang
    Jing, Dong
    Yang, Yubo
    Fan, Peng
    Sun, Wei
    Feng, Yanghe
    2018 4TH INTERNATIONAL CONFERENCE ON BIG DATA AND INFORMATION ANALYTICS (BIGDIA), 2018,
  • [4] Member Checking in Software Engineering Research: Lessons Learned from an Industrial Case Study
    Santos, Ronnie E. S.
    Magalhaes, Cleyton V. C.
    da Silva, Fabio Q. B.
    11TH ACM/IEEE INTERNATIONAL SYMPOSIUM ON EMPIRICAL SOFTWARE ENGINEERING AND MEASUREMENT (ESEM 2017), 2017, : 187 - 192
  • [5] Using C Language Extensions for Developing Embedded Software: A Case Study
    Voelter, Markus
    van Deursen, Arie
    Kolb, Bernd
    Eberle, Stephan
    ACM SIGPLAN NOTICES, 2015, 50 (10) : 655 - 674
  • [6] Lessons Learned from the Introduction of Systems Engineering
    Wilke, Daria
    Grothe, Robin
    Bretz, Lukas
    Anacker, Harald
    Dumitrescu, Roman
    SYSTEMS, 2023, 11 (03):
  • [7] OIL: an industrial case study in language engineering with Spoofax
    Bunte, Olav
    Denkers, Jasper
    van Gool, Louis C. M.
    Vinju, Jurgen J.
    Visser, Eelco
    Willemse, Tim A. C.
    Zaidman, Andy
    SOFTWARE AND SYSTEMS MODELING, 2025, 24 (01) : 139 - 182
  • [8] OIL: an industrial case study in language engineering with SpoofaxOIL: an industrial case study in language engineering with SpoofaxO. Bunte et al.
    Olav Bunte
    Jasper Denkers
    Louis C. M. van Gool
    Jurgen J. Vinju
    Eelco Visser
    Tim A. C. Willemse
    Andy Zaidman
    Software and Systems Modeling, 2025, 24 (1) : 139 - 182
  • [9] University-industry collaboration for BIM education: Lessons learned from a case study
    Chen, Ke
    Lu, Weisheng
    Wang, Jing
    INDUSTRY AND HIGHER EDUCATION, 2020, 34 (06) : 401 - 409
  • [10] Case study and lessons learned from the ammonium nitrate explosion at the West Fertilizer facility
    Laboureur, Delphine M.
    Han, Zhe
    Harding, Brian Z.
    Pineda, Alba
    Pittman, William C.
    Rosas, Camilo
    Jiang, Jiaojun
    Mannan, M. Sam
    JOURNAL OF HAZARDOUS MATERIALS, 2016, 308 : 164 - 172