skip to main content
10.1145/3652620.3688350acmconferencesArticle/Chapter ViewAbstractPublication PagesmodelsConference Proceedingsconference-collections
short-paper

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

Published: 31 October 2024 Publication History

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.

References

[1]
Houda Boukham, Guido Wachsmuth, Martijn Dwars, and Dalila Chiadmi. 2022. A Multi-target, Multi-paradigm DSL Compiler for Algorithmic Graph Processing (SLE 2022). ACM.
[2]
Federico Ciccozzi, Antonio Cicchetti, and Mikael Sjödin. 2013. Towards Translational Execution of Action Language for Foundational UML (SEAA 2013).
[3]
Maged Elaasar and Omar Badreddin. 2016. Modeling Meets Programming: A Comparative Study in Model Driven Engineering Action Languages. In Leveraging Applications of Formal Methods, Verification and Validation. Springer.
[4]
Sebastian Erdweg et al. 2013. The State of the Art in Language Workbenches. In Software Language Engineering. Springer.
[5]
Andrew Forward, Omar Badreddin, Timothy C. Lethbridge, and Julian Solano. 2012. Model-driven rapid prototyping with Umple. Software: Practice and Experience (2012).
[6]
Mario Fuksa. 2022. ViMoTest: a low code approach to specify ViewModel-based tests with a projectional DSL using JetBrains MPS. In MODELS-C (MODELS '22).
[7]
Mario Fuksa and Steffen Becker. 2021. Mini Programming Worlds: Teaching MDSD via the Hamster Simulator. In MODELS-C (MODELS '21).
[8]
Mario Fuksa, Sandro Speth, and Steffen Becker. 2023. Applicability of the ViMoTest Approach for Automated GUI Testing: A Field Study. In MODELS-C (MODELS '23).
[9]
Andreas Graf and Markus Völter. 2010. Integrating the AUTOSAR tool chain with Eclipse based model transformations. In ERTS2 2010.
[10]
Dorian Leroy, Erwan Bousse, Manuel Wimmer, Tanja Mayerhofer, Benoit Combemale, and Wieland Schwinger. 2020. Behavioral interfaces for executable DSLs. (2020).
[11]
Timothy C. Lethbridge et al. 2016. Merging Modeling and Programming Using Umple. In Leveraging Applications of Formal Methods, Verif. and Valid. Springer.
[12]
Zoltán Micskei et al. 2014. On open source tools for behavioral modeling and analysis with fuml and alf. OSS4MDE@ MoDELS 1290 (2014).
[13]
Václav Pech. 2021. JetBrains MPS: Why Modern Language Workbenches Matter. Springer.
[14]
Vaclav Pech, Alex Shatalin, and Markus Voelter. 2013. JetBrains MPS as a tool for extending Java (PPPJ '13).
[15]
Daniel Ratiu et al. 2013. Using Language Engineering to Lift Languages and Analyses at the Domain Level. In NASA Formal Methods.
[16]
Jörg Schäuffele. 2016. E/E architectural design and optimization using PREEvision. Technical Report. SAE Technical Paper.
[17]
Johannes Schröpfer and Thomas Buchmann. 2020. Integrating UML and ALF: An Approach to Overcome the Code Generation Dilemma in Model-Driven Software Engineering. In Model-Driven Engineering and Software Development. Springer.
[18]
Ed Seidewitz. 2014. UML with meaning: executable modeling in foundational UML and the Alf action lang. (HILT '14). ACM.
[19]
OMG UML. 2017. Action Language for Foundational UML (Alf). (2017).
[20]
Markus Voelter. 2018. The Design, Evolution, and Use of KernelF. In Theory and Practice of Model Transformation. Springer.
[21]
Markus Voelter. 2018. Fusing Modeling and Programming into Language-Oriented Programming. In Leveraging Applications of Formal Methods, Verification and Validation. Modeling. Springer.
[22]
Markus Voelter et al. 2013. DSL Engineering: Designing, Implementing and Using Domain-Specific Languages. dslbook.org.
[23]
Markus Voelter et al. 2019. Lessons Learned from Developing Mbeddr: A Case Study in Language Engineering with MPS. SoSyM (2019).
[24]
Steffen Zschaler et al. 2010. Domain-Specific Metamodelling Languages for Software Language Engineering. In SLE. Springer.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
MODELS Companion '24: Proceedings of the ACM/IEEE 27th International Conference on Model Driven Engineering Languages and Systems
September 2024
1261 pages
ISBN:9798400706226
DOI:10.1145/3652620
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 31 October 2024

Check for updates

Author Tags

  1. ALF
  2. action language for foundational UML
  3. jetbrains MPS
  4. model transformation
  5. code generation

Qualifiers

  • Short-paper

Conference

MODELS Companion '24
Sponsor:

Acceptance Rates

Overall Acceptance Rate 144 of 506 submissions, 28%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 32
    Total Downloads
  • Downloads (Last 12 months)32
  • Downloads (Last 6 weeks)2
Reflects downloads up to 08 Mar 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media