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 条
  • [41] Embedding domain-specific modelling languages in Maude specifications
    Vlad Rusu
    Software & Systems Modeling, 2013, 12 : 847 - 869
  • [42] A Python']Python Tool for the Implementation of Domain-Specific Languages
    Dejanovic, Igor
    Vaderna, Renata
    Milosavljevic, Gordana
    Simic, Milos
    Vukovic, Zeljko
    PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON NUMERICAL ANALYSIS AND APPLIED MATHEMATICS 2016 (ICNAAM-2016), 2017, 1863
  • [43] Blockchain Domain-Specific Languages: Survey, Classification, and Comparison
    Alam, Md Tauseef
    Chowdhury, Sujit
    Halder, Raju
    Maiti, Abyayananda
    2021 IEEE INTERNATIONAL CONFERENCE ON BLOCKCHAIN (BLOCKCHAIN 2021), 2021, : 499 - 504
  • [44] Xbase: Implementing Domain-Specific Languages for Java']Java
    Efftinge, Sven
    Eysholdt, Moritz
    Koehnlein, Jan
    Zarnekow, Sebastian
    Hasselbring, Wilhelm
    von Massow, Robert
    Hanus, Michael
    ACM SIGPLAN NOTICES, 2013, 48 (03) : 112 - 121
  • [45] DOMAIN-SPECIFIC LANGUAGES FOR AGILE URBAN POLICY MODELLING
    Kraemer, Michel
    Ludlow, David
    Khan, Zaheer
    PROCEEDINGS 27TH EUROPEAN CONFERENCE ON MODELLING AND SIMULATION ECMS 2013, 2013, : 673 - +
  • [46] Experimental Comparison of Editor Types for Domain-Specific Languages
    Chodarev, Sergej
    Sulir, Matus
    Poruban, Jaroslav
    Kopcakova, Martina
    APPLIED SCIENCES-BASEL, 2022, 12 (19):
  • [47] Embedding domain-specific modelling languages in Maude specifications
    Rusu, Vlad
    SOFTWARE AND SYSTEMS MODELING, 2013, 12 (04) : 847 - 869
  • [48] The Impact of Domain-Specific Languages for Assembling Web Applications
    Nussbaumer, Martin
    Freudenstein, Patrick
    Gaedke, Martin
    ENGINEERING LETTERS, 2006, 13 (03)
  • [49] Towards Domain-specific Flow-based Languages
    Zarrin, Bahram
    Baumeister, Hubert
    Sarjoughian, Hessam
    PROCEEDINGS OF THE 6TH INTERNATIONAL CONFERENCE ON MODEL-DRIVEN ENGINEERING AND SOFTWARE DEVELOPMENT, 2018, : 319 - 325
  • [50] Producing Domain-Specific Languages from Strategy Patterns
    Kihlman, Ludvig
    2015 7TH COMPUTER SCIENCE AND ELECTRONIC ENGINEERING CONFERENCE (CEEC), 2015, : 9 - 12