BXtendDSL at Work: Combining Declarative and Imperative Programming of Bidirectional Model Transformations

被引:0
|
作者
Buchmann T. [1 ]
Bank M. [1 ]
Westfechtel B. [1 ]
机构
[1] Applied Computer Science I, University of Bayreuth, Bayreuth
关键词
Bidirectional transformation; Incremental transformation; Model transformation;
D O I
10.1007/s42979-022-01448-8
中图分类号
学科分类号
摘要
Model transformations are a major driving force behind model-driven software development (MDSD), when typically an initial model is refined throughout the development process over several steps until eventually code is generated. Strict forward engineering processes require unidirectional model transformations, where an initial requirements model is refined through various model transformation steps. Roundtrip engineering on the other hand calls for bidirectional and incremental model transformations instead, where changes may be propagated back and forth while retaining manual modifications to the models involved. In this paper, we present BXtendDSL, a framework for bidirectional incremental model transformations. BXtendDSL combines two languages: a light-weight declarative language for defining correspondences between model elements, and an imperative language that allows to implement behavior that cannot be specified in the declarative language. We demonstrate our approach by a case study. We also include an evaluation of this case study that demonstrates conciseness, expressiveness, and scalability of our hybrid approach. © 2022, The Author(s), under exclusive licence to Springer Nature Singapore Pte Ltd.
引用
收藏
相关论文
共 50 条
  • [1] BXtendDSL: A layered framework for bidirectional model transformations combining a declarative and an imperative language
    Buchmann, Thomas
    Bank, Matthias
    Westfechtel, Bernhard
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 2022, 189
  • [2] Combining a Declarative Language and an Imperative Language for Bidirectional Incremental Model Transformations
    Bank, Matthias
    Buchmann, Thomas
    Westfechtel, Bernhard
    [J]. PROCEEDINGS OF THE 9TH INTERNATIONAL CONFERENCE ON MODEL-DRIVEN ENGINEERING AND SOFTWARE DEVELOPMENT (MODELSWARD), 2021, : 15 - 27
  • [3] Combining mobile processes and declarative programming
    Echahed, R
    Serwe, W
    [J]. COMPUTATIONAL LOGIC - CL 2000, 2000, 1861 : 300 - 314
  • [4] Declarative Specification of Bidirectional Transformations Using Design Patterns
    Lano, Kevin
    Kolahdouz-Rahimi, Shekoufeh
    Yassipour-Tehrani, Sobhan
    [J]. IEEE ACCESS, 2019, 7 : 5222 - 5249
  • [5] Combining Declarative and Imperative Cloud Application Provisioning based on TOSCA
    Breitenbuecher, Uwe
    Binz, Tobias
    Kepes, Kalman
    Kopp, Oliver
    Leymann, Frank
    Wettinger, Johannes
    [J]. 2014 IEEE INTERNATIONAL CONFERENCE ON CLOUD ENGINEERING (IC2E), 2014, : 87 - 96
  • [6] Adaptive Workflows in Smart Environments: Combining Imperative and Declarative Models
    Staender, Marcus
    Hadjakos, Aristotelis
    Schreiber, Daniel
    [J]. UBICOMP'12: PROCEEDINGS OF THE 2012 ACM INTERNATIONAL CONFERENCE ON UBIQUITOUS COMPUTING, 2012, : 1171 - 1174
  • [7] Alma-0: An imperative language that supports declarative programming
    Apt, KR
    Brunekreef, J
    Partington, V
    Schaerf, A
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1998, 20 (05): : 1014 - 1066
  • [8] A Generalized Search Construct for Imperative Languages to Facilitate Declarative Programming
    Smith, James
    Henderson, Chris
    Bansal, Ajay
    [J]. INTERNATIONAL JOURNAL OF SEMANTIC COMPUTING, 2022, 16 (03) : 315 - 338
  • [9] PLEASE - A LANGUAGE COMBINING IMPERATIVE AND LOGIC PROGRAMMING
    TERWILLIGER, RB
    [J]. SIGPLAN NOTICES, 1988, 23 (04): : 103 - 110
  • [10] CombiS-BP Editor: Combining Declarative and Imperative Languages in BP Modelling
    Parody, Luisa
    Teresa Gomez-Lopez, Maria
    Gasca, Rafael M.
    Jesus Varela-Vaca, Angel
    [J]. 2013 IEEE SEVENTH INTERNATIONAL CONFERENCE ON RESEARCH CHALLENGES IN INFORMATION SCIENCE (RCIS), 2013,