When and how to develop domain-specific languages

被引:878
|
作者
Mernik, M
Heering, J
Sloane, AM
机构
[1] Univ Maribor, Fac Elect Engn & Comp Sci, SLO-2000 Maribor, Slovenia
[2] CWI, Dept Software Engn, NL-1098 SJ Amsterdam, Netherlands
[3] Macquarie Univ, Dept Comp, Sydney, NSW 2109, Australia
关键词
design; languages; performance; domain-specific language; application language; domain analysis; language development system;
D O I
10.1145/1118890.1118892
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Domain-specific languages (DSLs) are languages tailored to a specific application domain. They offer substantial gains in expressiveness and ease of use compared with general-purpose programming languages in their domain of application. DSL development is hard, requiring both domain knowledge and language development expertise. Few people have both. Not surprisingly, the decision to develop a DSL is often postponed indefinitely, if considered at all, and most DSLs never get beyond the application library stage. Although many articles have been written on the development of particular DSLs, there is very limited literature on DSL development methodologies and many questions remain regarding when and how to develop a DSL. To aid the DSL developer, we identify patterns in the decision, analysis, design, and implementation phases of DSL development. Our patterns improve and extend earlier work on DSL design patterns. We also discuss domain analysis tools and language development systems that may help to speed up DSL development. Finally, we present a number of open problems.
引用
收藏
页码:316 / 344
页数:29
相关论文
共 50 条
  • [21] Unit Testing for Domain-Specific Languages
    Wu, Hui
    Gray, Jeff
    Mernik, Marjan
    DOMAIN-SPECIFIC LANGUAGES, PROCEEDINGS, 2009, 5658 : 125 - +
  • [22] Domain-Specific Languages for Enterprise Systems
    Andersen, Jesper
    Bahr, Patrick
    Henglein, Fritz
    Hvitved, Tom
    LEVERAGING APPLICATIONS OF FORMAL METHODS, VERIFICATION AND VALIDATION: TECHNOLOGIES FOR MASTERING CHANGE, PT I, 2014, 8802 : 73 - 95
  • [23] Writing Domain-Specific Languages for BeepBeep
    Halle, Sylvain
    Khoury, Raphael
    RUNTIME VERIFICATION (RV 2018), 2018, 11237 : 447 - 457
  • [24] A Survey on Domain-Specific Languages in Robotics
    Nordmann, Arne
    Hochgeschwender, Nico
    Wrede, Sebastian
    SIMULATION, MODELING, AND PROGRAMMING FOR AUTONOMOUS ROBOTS (SIMPAR 2014), 2014, 8810 : 195 - 206
  • [25] A Module System for Domain-Specific Languages
    Jackson, Ethan K.
    THEORY AND PRACTICE OF LOGIC PROGRAMMING, 2014, 14 : 771 - 785
  • [26] Software Evolution to Domain-Specific Languages
    Fehrenbach, Stefan
    Erdweg, Sebastian
    Ostermann, Klaus
    SOFTWARE LANGUAGE ENGINEERING (SLE 2013), 2013, 8225 : 96 - 116
  • [27] Domain-specific languages for ecological modelling
    Holst, Niels
    Belete, Getachew F.
    ECOLOGICAL INFORMATICS, 2015, 27 : 26 - 38
  • [28] Testing domain-specific languages in eclipse
    Wu, Hui
    Gray, Jeff
    Proc Conf Object Orient Program Syst Lang Appl OOPSLA, (173-174):
  • [29] Using Ontologies in the Domain Analysis of Domain-Specific Languages
    Tairas, Robert
    Mernik, Marjan
    Gray, Jeff
    MODELS IN SOFTWARE ENGINEERING, 2009, 5421 : 332 - +
  • [30] A Foundation for the Composition of Multilevel Domain-Specific Languages
    Rodriguez, Alejandro
    Rutle, Adrian
    Kristensen, Lars Michael
    Duran, Francisco
    2019 ACM/IEEE 22ND INTERNATIONAL CONFERENCE ON MODEL DRIVEN ENGINEERING LANGUAGES AND SYSTEMS COMPANION (MODELS-C 2019), 2019, : 88 - 97