A Tool-Assisted Approach to Engineer Domain-Specific Languages (DSLs) using Rust - Archive ouverte HAL Accéder directement au contenu
Communication Dans Un Congrès Année : 2022

A Tool-Assisted Approach to Engineer Domain-Specific Languages (DSLs) using Rust

Résumé

Domain-Specific Languages (DSLs) are required in a wide range of contexts, implying different execution environments. The same DSL may even have to exist in different environments. We propose in this paper an approach to engineer a DSL using the Rust language, which can be used to target several environments. Our approach focuses on selecting an implementation language, Rust, that provides multiple compilation targets for a DSL definition. However, this is a rather laborious process because Rust is only partially object-oriented, while the definition of a metamodel-based abstract syntax is essentially object-oriented. For this reason, we offer a complete DSL's development method beginning with the metamodel definition in Ecore language, then the abstract syntax conversion in Rust with a code generation tool, and finally the deployment of the language in different execution environments. We evaluated our approach by creating two DSLs with it, a Petri nets DSL and a Finite State Machine (FSM) DSL. Finally, we discuss possible improvements for our Ecore2Rust conversion tool.
Fichier principal
Vignette du fichier
A_tool_assisted_approach_for_engineering_domain_specific_modeling_languages_using_Rust.pdf (1.87 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-03790527 , version 1 (28-09-2022)

Identifiants

Citer

Léo Olivier, Lou-Anne Sauvêtre, Erwan Bousse, Gerson Sunyé. A Tool-Assisted Approach to Engineer Domain-Specific Languages (DSLs) using Rust. 4th International Workshop on Modeling Language Engineering, 23-25 October, 2022 Co-located with ACM MODELS 2022, Oct 2022, Montréal, Canada. 10 p., ⟨10.1145/3550356.3563133⟩. ⟨hal-03790527⟩
133 Consultations
124 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More