Work

ALFI: Action Language for Foundational UML as an Intermediate Language for Model Transformations in JetBrains MPS

Year: 2024
Type: conference-paper
Abstract: Domain-specific Languages (DSLs) assist in building complex software systems across various domains by creating models that are interpreted or transformed into executable code. Language developers face a tedious and error-prone process when transforming such models directly into multiple target General-Purpose Programming Languages (GPLs) like Java and C++, requiring them to write DSL-specific transformations redundantly multiple times. Using intermediate languages can reduce this redundancy by enabling language developers to write DSL-specific transformation logic only once. Despite its potential, no approach currently uses the Action Language for Foundational UML (ALF) as an intermediate language to transform tailored DSLs within an industry-strength workbench for designing projectional languages. To address this, we develop ALFI as a prototypical implementation of ALF in Jet-Brains MPS and implement MPS transformations from ALFI to Java and C++. We develop two exemplary DSLs to demonstrate the transformation chains that transform tailored DSLs into ALFI and then into executable Java and C++ code. The prototypical ALFI implementation successfully demonstrates the use of ALF as an intermediate language, enabling the model transformation of DSLs into multiple target GPLs.
Language: English
Subfield: Software
Open Access status: bronze
OpenAlex ID: W4403935716
FWCI: 0.575
Cites: 19
Cited by: 2
Related to: 10