Interoperable domain-specific languages families for code generation

被引:0
|
作者
Malohlava, Michal [1 ]
Plasil, Frantisek [1 ,2 ]
Bures, Tomas [1 ,2 ]
Hnetynka, Petr [1 ]
机构
[1] Charles Univ Prague, Fac Math & Phys, Dept Distributed & Dependable Syst, CR-11800 Prague 1, Czech Republic
[2] Acad Sci Czech Republ, Inst Comp Sci, Prague 18207 8, Czech Republic
关键词
code generation; domain specific languages; models reuse; extensible languages; specification; program synthesis; MODEL;
D O I
10.1002/spe.2118
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
This paper has been motivated by experience gained with specification and code generation of control elements for a software component platform and general-purpose programming language like Java and C. The problem to be addressed is two-fold: first, several domain-specific languages (DSL) are to be employed to express different element concerns (architecture, deployment context, code pattern) and second, porting to another general-purpose language should avoid modification of the specification and related code generation process as much as possible. In both respects, the classical template-based code generation technique proved to be inflexible, requiring the code generator to be blurred with ad hoc encoded DSL facets. The paper addresses the problem by introducing the concept of interoperable DSL family. Each member of the family is built around its core language, which can be further specialized by embedding into a target programming language. Interoperability of these DSLs is achieved at the level of abstract syntax trees (ASTs) with help of queries. As a proof of the concept, we have implemented the queries via the AST transformation rules of the Stratego/XT framework. In the evaluation, we provide a comparison with the original template-based implementation, which clearly indicates the DSL family and AST transformation benefits. We also provide examples of application areas where the concept of interoperable DSL family can be employed (and also indicate how this can be accomplished). Copyright (c) 2012 John Wiley & Sons, Ltd.
引用
收藏
页码:479 / 499
页数:21
相关论文
共 50 条
  • [21] Unit Testing for Domain-Specific Languages
    Wu, Hui
    Gray, Jeff
    Mernik, Marjan
    DOMAIN-SPECIFIC LANGUAGES, PROCEEDINGS, 2009, 5658 : 125 - +
  • [22] MPIRIGEN: MPI Code Generation through Domain-Specific Language Models
    Schneider, Nadav
    Hasabnis, Niranjan
    Vo, Vy A.
    Kadosh, Tal
    Krien, Neva
    Capota, Mihai
    Tamir, Guy
    Willke, Ted
    Ahmed, Nesreen
    Pinter, Yuval
    Mattson, Timothy
    Oren, Gal
    PROCEEDINGS OF THE 2024 ON WORKSHOP ON AI FOR SYSTEMS, AI4SYS 2024, 2024, : 1 - 6
  • [23] Using Ontologies in the Domain Analysis of Domain-Specific Languages
    Tairas, Robert
    Mernik, Marjan
    Gray, Jeff
    MODELS IN SOFTWARE ENGINEERING, 2009, 5421 : 332 - +
  • [24] Ontology Driven Development of Domain-Specific Languages
    Ceh, Ines
    Crepinsek, Matej
    Kosar, Tomaz
    Mernik, Marjan
    COMPUTER SCIENCE AND INFORMATION SYSTEMS, 2011, 8 (02) : 317 - 342
  • [25] Building Domain-Specific Modeling Languages for Frameworks
    Viana, Matheus C.
    Penteado, Rosangela A. D.
    do Prado, Antonio F.
    ENTERPRISE INFORMATION SYSTEMS, ICEIS 2012, 2013, 141 : 191 - 206
  • [26] Domain-Specific Languages in a Customs Information System
    Freudenthal, Margus
    IEEE SOFTWARE, 2010, 27 (02) : 65 - 71
  • [27] A framework for qualitative assessment of domain-specific languages
    Gökhan Kahraman
    Semih Bilgen
    Software & Systems Modeling, 2015, 14 : 1505 - 1526
  • [28] A framework for qualitative assessment of domain-specific languages
    Kahraman, Gokhan
    Bilgen, Semih
    SOFTWARE AND SYSTEMS MODELING, 2015, 14 (04) : 1505 - 1526
  • [29] Tree Based Domain-Specific Mapping Languages
    Kalnina, Elina
    Kalnins, Audris
    Sostaks, Agris
    Celms, Edgars
    Iraids, Janis
    SOFSEM 2012: THEORY AND PRACTICE OF COMPUTER SCIENCE, 2012, 7147 : 492 - 504
  • [30] Usability Heuristics for Domain-Specific Languages (DSLs)
    Mosqueira-Rey, Eduardo
    Alonso-Rios, David
    PROCEEDINGS OF THE 35TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING (SAC'20), 2020, : 1340 - 1343