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
来源
SOFTWARE AND SYSTEMS MODELING | 2019年 / 18卷 / 01期
关键词
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 条
  • [21] Lessons Learned from and for Requirements Engineering and Building Construction: A Case Study of Requirements Engineering for a Synagogue Kitchen with Use Cases and Scenarios
    Mauger, Cyril
    Berry, Daniel M.
    2014 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE SCIENCE, TECHNOLOGY AND ENGINEERING (SWSTE), 2014, : 67 - 76
  • [22] A microbenchmark case study and lessons learned
    Department of Computer Science, Technion, Israel Institute of Technology, Technion City, Haifa 3200, Israel
    SPLASH Workshops - Compil. Proc. Co-Located Workshops: DSM, TMC, AGERE, AOOPES, NEAT, VMIL, (297-308):
  • [23] Lessons learned from a case study on process data management
    Yada, Katsutoshi
    2007 IEEE INTERNATIONAL CONFERENCE ON SYSTEMS, MAN AND CYBERNETICS, VOLS 1-8, 2007, : 3797 - 3801
  • [24] LESSONS LEARNED FROM GAMIFICATION OF A LEARNING EXPERIENCE: A CASE STUDY
    Botha-Ravyse, Chrisna
    Lennox, Anita
    Jordaan, Dawid
    SOUTH AFRICAN JOURNAL FOR RESEARCH IN SPORT PHYSICAL EDUCATION AND RECREATION, 2018, 40 (02) : 23 - 40
  • [25] Developing scientific confidence in HTS-derived prediction models: Lessons learned from an endocrine case study
    Cox, Louis Anthony
    Popken, Douglas
    Marty, M. Sue
    Rowlands, J. Craig
    Patlewicz, Grace
    Goyak, Katy O.
    Becker, Richard A.
    REGULATORY TOXICOLOGY AND PHARMACOLOGY, 2014, 69 (03) : 443 - 450
  • [26] Lessons learned from a thorny case
    Claudet, Isabelle
    Brehin, Camille
    Roux, Daniel
    Hascoet, Sebastien
    JOURNAL OF THORACIC AND CARDIOVASCULAR SURGERY, 2015, 149 (06): : E97 - E99
  • [27] Developing capacity for disaster risk reduction: Lessons learned from a case of Sri Lanka
    Iizuka, Akiko
    PROGRESS IN DISASTER SCIENCE, 2020, 6
  • [28] Developing a chemical safety program from lessons learned
    Wright, James
    ABSTRACTS OF PAPERS OF THE AMERICAN CHEMICAL SOCIETY, 2016, 251
  • [29] Lessons learned from the evaluation of Spanish Language Models
    Agerri, Rodrigo
    Agirre, Eneko
    PROCESAMIENTO DEL LENGUAJE NATURAL, 2023, (70): : 157 - 170
  • [30] Lessons Learned from Crowdsourcing Complex Engineering Tasks
    Staffelbach, Matthew
    Sempolinski, Peter
    Kijewski-Correa, Tracy
    Thain, Douglas
    Wei, Daniel
    Kareem, Ahsan
    Madey, Gregory
    PLOS ONE, 2015, 10 (09):