Key points are not available for this paper at this time.
La réalisation du développement logiciel piloté par les modèles nécessite des techniques efficaces pour mettre en œuvre des générateurs de code pour les langages spécifiques au domaine. Cet article identifie des techniques pour améliorer la séparation des préoccupations dans la mise en œuvre des générateurs. La technique principale est la génération de code par transformation de modèle, c'est-à-dire la génération d'une représentation structurée (modèle) du programme cible plutôt que du texte brut. Cette approche permet la transformation du code après sa génération, ce qui permet à son tour d’étendre le langage cible avec des fonctionnalités qui permettent une meilleure modularité dans les règles de génération de code. La technique peut également être appliquée à la « génération de code interne » pour la traduction des extensions de haut niveau d'un DSL en constructions de bas niveau au sein du même DSL à l'aide de transformations modèle-à-modèle. Cet article précise notre description antérieure de la génération de code par transformation de modèle avec une architecture améliorée pour la composition de règles de normalisation modèle-à-modèle, résolvant le problème de la combinaison de l'analyse de type et de la transformation. Au lieu de stades à grain grossier qui alternent entre normalisation et analyse de type, nous avons développé un nouveau style d'analyse de type qui peut être intégré avec des transformations normalisantes de manière fine-grained. La stratégie de normalisation a une interface d'extension simple et intègre des règles de transformation non locales et sensibles au contexte. Nous avons appliqué les techniques dans une étude de cas réaliste d'ingénierie de langage spécifique au domaine, c'est-à-dire le générateur de code pour WebDSL, utilisant Stratego, un langage de transformation de haut niveau qui intègre des transformations modèle-à-modèle, modèle-à-code, et code-à-code.
Hemel et al. (Thu,) ont étudié cette question.