Protocol-Based Interactive Debugging for Domain-Specific Languages

被引:2
|
作者
Enet, Josselin [1 ]
Bousse, Erwan [1 ]
Tisi, Massimo [1 ]
Sunye, Gerson [1 ]
机构
[1] Nantes Univ, Ecole Cent Nantes, IMT Atlantique, CNRS,LS2N,UMR 6004, Nantes, France
来源
JOURNAL OF OBJECT TECHNOLOGY | 2023年 / 22卷 / 02期
关键词
Domain-specific languages; Debugging; Language tooling;
D O I
10.5381/jot.2023.22.2.a6
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Interactive debuggers are established tools used by developers to understand programs and localize faults. They are equally valuable in the context of model-driven development, when working on executable behavioral models. However, development costs of interactive debuggers for Domain-Specific Languages (DSLs) can be significant. In order to mitigate these costs, several reusable DSL-agnostic debugging solutions have been proposed. We argue that the applicability of these solutions is limited by being tied to a fixed set of debugging services, a specific language engineering approach, or a particular user interface. In this paper, we present a novel approach to provide interactive debugging services for executable DSLs through a reusable generic architecture. We propose a protocol allowing a generic interactive debugger to communicate with heterogeneous DSL runtimes, both for controlling the execution and for configuring the debugger with domain-specific breakpoints. The proposed debugger can itself be controlled using a reinterpretation of the Debug Adapter Protocol (DAP), for an effortless integration in existing Integrated Development Environments (IDEs) that support it. Using a prototype implementation based on JSON-RPC and two heterogeneous DSL runtimes, we show that our approach provides an off-the-shelf reusable interactive debugger that supports meaningful domain-specific breakpoints, and that can be used with minimal effort within an IDE such as Visual Studio Code.
引用
收藏
页数:15
相关论文
共 50 条
  • [1] Debugging in Domain-Specific Modelling
    Mannadiar, Raphael
    Vangheluwe, Hans
    [J]. SOFTWARE LANGUAGE ENGINEERING, 2011, 6563 : 276 - 285
  • [2] Tree Based Domain-Specific Mapping Languages
    Kalnina, Elina
    Kalnins, Audris
    Sostaks, Agris
    Celms, Edgars
    Iraids, Janis
    [J]. SOFSEM 2012: THEORY AND PRACTICE OF COMPUTER SCIENCE, 2012, 7147 : 492 - 504
  • [3] Domain-specific model differencing for graphical domain-specific languages
    Jafarlou, Manouchehr Zadahmad
    [J]. ACM/IEEE 25TH INTERNATIONAL CONFERENCE ON MODEL DRIVEN ENGINEERING LANGUAGES AND SYSTEMS, MODELS 2022 COMPANION, 2022, : 205 - 208
  • [4] On domain-specific languages reengineering
    Alias, C
    Barthou, D
    [J]. GENERATIVE PROGRAMMING AND COMPONENT ENGINEERING, PROCEEDINGS, 2005, 3676 : 63 - 77
  • [5] Unembedding Domain-Specific Languages
    Atkey, Robert
    Lindley, Sam
    Yallop, Jeremy
    [J]. HASKELL'09: PROCEEDINGS OF THE 2009 ACM SIGPLAN HASKELL SYMPOSIUM, 2009, : 37 - 48
  • [6] On the Globalization of Domain-Specific Languages
    Cheng, Betty H. C.
    Combemale, Benoit
    France, Robert B.
    Jezequel, Jean-Marc
    Rumpe, Bernhard
    [J]. GLOBALIZING DOMAIN-SPECIFIC LANGUAGES, 2015, 9400 : 1 - 6
  • [7] Macros for Domain-Specific Languages
    Ballantyne, Michael
    King, Alexis
    Felleisen, Matthias
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2020, 4
  • [8] DSMCompare: domain-specific model differencing for graphical domain-specific languages
    Manouchehr Zadahmad
    Eugene Syriani
    Omar Alam
    Esther Guerra
    Juan de Lara
    [J]. Software and Systems Modeling, 2022, 21 : 2067 - 2096
  • [9] DSMCompare: domain-specific model differencing for graphical domain-specific languages
    Zadahmad, Manouchehr
    Syriani, Eugene
    Alam, Omar
    Guerra, Esther
    de Lara, Juan
    [J]. SOFTWARE AND SYSTEMS MODELING, 2022, 21 (05): : 2067 - 2096
  • [10] Debugging with Domain-Specific Events via Macros
    Li, Xiangqi
    Flatt, Matthew
    [J]. SLE'17: PROCEEDINGS OF THE 10TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON SOFTWARE LANGUAGE ENGINEERING, 2017, : 91 - 102