When and how to develop domain-specific languages

被引:877
|
作者
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 条
  • [41] Domain-specific languages in PROLOG for declarative expert knowledge in rules and ontologies
    Seipel, Dietmar
    Nogatz, Falco
    Abreu, Salvador
    COMPUTER LANGUAGES SYSTEMS & STRUCTURES, 2018, 51 : 102 - 117
  • [42] Usa-DSL: a Process for Usability Evaluation of Domain-Specific Languages
    Poltronieri, Ildevana
    Zorzo, Avelino Francisco
    Bernardino, Maicon
    Oliveirajr, Edson
    JOURNAL OF UNIVERSAL COMPUTER SCIENCE, 2024, 30 (08) : 1023 - 1047
  • [43] Debugging in the Domain-Specific Modeling Languages for multi-agent systems
    Tezel, Baris Tekin
    Kardas, Geylani
    JOURNAL OF COMPUTER LANGUAGES, 2025, 83
  • [44] Using Reference Domain Ontologies to Define the Real-World Semantics of Domain-Specific Languages
    de Carvalho, Victorio A.
    Almeida, Joao Paulo A.
    Guizzardi, Giancarlo
    ADVANCED INFORMATION SYSTEMS ENGINEERING (CAISE 2014), 2014, 8484 : 488 - 502
  • [45] Novel development tool for IEC61499 based on domain-specific languages
    Sorokin, Radimir
    Patil, Sandeep
    Vyatkin, Valeriy
    IFAC PAPERSONLINE, 2022, 55 (02): : 439 - 444
  • [46] Creation of Domain-Specific Languages for Executable System Models with the Eclipse Modeling Project
    Jaeger, Sven
    Maschotta, Ralph
    Jungebloud, Tino
    Wichmann, Alexander
    Zimmermann, Armin
    2016 ANNUAL IEEE SYSTEMS CONFERENCE (SYSCON), 2016, : 297 - 304
  • [47] Worst Practices for Domain-Specific Modeling
    Kelly, Steven
    Pohjonen, Risto
    IEEE SOFTWARE, 2009, 26 (04) : 22 - 29
  • [48] The Model of How Languages will Develop
    Sun, W.
    Wang, J.
    Zhang, H.
    Hou, X.
    2020 3RD INTERNATIONAL CONFERENCE ON APPLIED MATHEMATICS, MODELING AND SIMULATION, 2020, 1670
  • [49] Domain-Specific Modeling Environment for Developing Domain Specific Modeling Languages as Lightweight General Purpose Modeling Language Extensions
    Zecevic, Igor
    Bjeljac, Petar
    Perisic, Branko
    Maruna, Vladimir
    Venus, Danijel
    RECENT ADVANCES IN INFORMATION SYSTEMS AND TECHNOLOGIES, VOL 1, 2017, 569 : 872 - 881
  • [50] A Domain-Specific Approach To Heterogeneous Parallelism
    Chafi, Hassan
    Sujeeth, Arvind K.
    Brown, Kevin J.
    Lee, HyoukJoong
    Atreya, Anand R.
    Olukotun, Kunle
    ACM SIGPLAN NOTICES, 2011, 46 (08) : 35 - 45