A Catalog of Design Patterns for Compositional Language Engineering

被引:9
|
作者
Drux, Florian [1 ]
Jansen, Nico [1 ]
Rumpe, Bernhard [1 ]
机构
[1] Rhein Westfal TH Aachen, Software Engn, Aachen, Germany
来源
JOURNAL OF OBJECT TECHNOLOGY | 2022年 / 21卷 / 04期
关键词
Software Language Engineering; Language Composition; Design Patterns;
D O I
10.5381/jot.2022.21.4.a4
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
When composing a domain-specific language from several language components, it is also necessary to compose analysis and synthesis techniques, which are individually defined on these components in an efficient, ideally black-box form. An effective way of allowing such compositions is to use specific design patterns, which are partly reflected in the tooling code, partly reflected in the language, but also partly reflected in the language workbench (one meta-level higher), and the generated/synthesized product code (one meta-level downward). Based on the experiences gained in compositional language development using the language workbench MontiCore, we in detail discuss several of those design patterns, namely the Mill, the RealThis object composition, the Template/Hook, and the TOP- Generator Patterns, and the hidden complexity of an extended visitor infrastructure coping with the above patterns. The patterns are recorded and described in a reusable way, as usual, allowing readers to participate from the gained insights and possible solutions.
引用
收藏
页数:13
相关论文
共 50 条
  • [1] Design patterns and language design
    Gil, JY
    Lorenz, DH
    COMPUTER, 1998, 31 (03) : 118 - 120
  • [2] A patterns catalog for the design and development of mobile applications
    Gonzalez, Ricardo
    Curiel, Mariela
    2015 10TH COMPUTING COLOMBIAN CONFERENCE (10CCC), 2015, : 72 - 79
  • [3] Knowledge-rich catalog services for engineering design
    Kim, Jihie
    Will, Peter
    Ling, S. Ringo
    Neches, Bob
    Artificial Intelligence for Engineering Design, Analysis and Manufacturing: AIEDAM, 2003, 17 (4-5): : 349 - 366
  • [4] Knowledge-rich catalog services for engineering design
    Kim, J
    Will, P
    Ling, SR
    Neches, B
    AI EDAM-ARTIFICIAL INTELLIGENCE FOR ENGINEERING DESIGN ANALYSIS AND MANUFACTURING, 2003, 17 (4-5): : 349 - 366
  • [5] Design patterns as language constructs
    Bosch, J
    JOURNAL OF OBJECT-ORIENTED PROGRAMMING, 1998, 11 (02): : 18 - 32
  • [6] Design patterns as language constructs
    JOOP J Object Oriented Program, 2 (18):
  • [7] Service engineering design patterns
    Milanovic, Nikola
    SOSE 2006: SECOND IEEE INTERNATIONAL SYMPOSIUM ON SERVICE-ORIENTED SYSTEM ENGINEERING, PROCEEDINGS, 2006, : 19 - 26
  • [8] Design patterns in software engineering
    Anon
    Software World, 2006, 37 (01):
  • [9] Programming language design in engineering applications
    Wu, Trong
    IMECS 2007: INTERNATIONAL MULTICONFERENCE OF ENGINEERS AND COMPUTER SCIENTISTS, VOLS I AND II, 2007, : 1050 - 1055
  • [10] A PROGRAM DESIGN LANGUAGE FOR SOFTWARE ENGINEERING
    WOODMAN, M
    SIGPLAN NOTICES, 1984, 19 (08): : 109 - 118