Clearwater: Extensible, Flexible, Modular Code Generation

Galen Swint 1 Calton Pu 1 Gueyoung Jung 1 Wenchang Yan 1 Younggyun Koh 1 Qinyi Wu 1 Charles Consel 2 Akhil Sahai 3 Koichi Moriyama 4
2 PHOENIX - Programming Language Technology For Communication Services
INRIA Futurs, Université Sciences et Technologies - Bordeaux 1, École Nationale Supérieure d'Électronique, Informatique et Radiocommunications de Bordeaux (ENSEIRB)
Abstract : Distributed applications typically interact with a number of heterogeneous and autonomous components that evolve independently. Methodical development of such applications can benefit from approaches based on domain-specific languages (DSLs). However, the evolution and customization of heterogeneous components introduces significant challenges to accommodating the syntax and semantics of a DSL in addition to the heterogeneous platforms on which they must run. In this paper, we address the challenge of implementing code generators for two such DSLs that are flexible (resilient to changes in generators or input formats), extensible (able to support multiple output targets and multiple input variants), and modular (generated code can be rewritten). Our approach, Clearwater, leverages XML and XSLT standards: XML supports extensibility and mutability for inprogress specification formats, and XSLT provides flexibility and extensibility for multiple target languages. Modularity arises from using XML meta-tags in the code generator itself, which supports controlled addition, subtraction, or replacement to the generated code via XML-weaving. We discuss the use of our approach and show its advantages in two non-trivial code generators: the Infopipe Stub Generator (ISG) to support distributed flow applications, and the Automated Composable Code Translator to support automated distributed application deployment. As an example, the ISG accepts as input an XML description and generates output for C, C++, or Java using a number of communications platforms such as sockets and publish-subscribe.
Type de document :
Communication dans un congrès
20th IEEE/ACM international Conference on Automated software engineering, Oct 2005, Long Beach, United States. ACM, 2005
Liste complète des métadonnées

Littérature citée [23 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/inria-00402293
Contributeur : Sylvie Embolla <>
Soumis le : mardi 7 juillet 2009 - 10:51:04
Dernière modification le : mercredi 29 novembre 2017 - 15:10:44
Document(s) archivé(s) le : mardi 15 juin 2010 - 19:36:14

Fichier

consel-pu-swint-al_ase2005.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

  • HAL Id : inria-00402293, version 1

Collections

Citation

Galen Swint, Calton Pu, Gueyoung Jung, Wenchang Yan, Younggyun Koh, et al.. Clearwater: Extensible, Flexible, Modular Code Generation. 20th IEEE/ACM international Conference on Automated software engineering, Oct 2005, Long Beach, United States. ACM, 2005. 〈inria-00402293〉

Partager

Métriques

Consultations de la notice

281

Téléchargements de fichiers

153