2005, English, Article edition: Clearwater: Extensible, Flexible, Modular Code Generation Swint, Galen; Pu, Calton; Jung, Gueyoung; ...

User activity

Share to:
 
Bookmark: http://trove.nla.gov.au/version/205615
Physical Description
  • text
Published
  • HAL - CCSD
  • 2005
Language
  • English

Edition details

Title
  • Clearwater: Extensible, Flexible, Modular Code Generation
Author
  • Swint, Galen
  • Pu, Calton
  • Jung, Gueyoung
  • Yan, Wenchang
  • Koh, Younggyun
  • Wu, Qinyi
  • Consel, Charles
  • Sahai, Akhil
  • Moriyama, Koichi
Published
  • HAL - CCSD
  • 2005
Physical Description
  • text
Subjects
Notes
  • 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.
  • HAL:inria-00402293, version 1
  • HAL:http:/​/​hal.inria.fr/​inria-00402293/​en/​
Language
  • English
Contributed by
OAIster

Get this edition

  • Set up My libraries

    How do I set up "My libraries"?

    In order to set up a list of libraries that you have access to, you must first login or sign up. Then set up a personal list of libraries from your profile page by clicking on your user name at the top right of any screen.

  • All (1)
  • Unknown (1)
None of your libraries hold this item.
None of your libraries hold this item.
None of your libraries hold this item.
None of your libraries hold this item.
None of your libraries hold this item.
None of your libraries hold this item.
None of your libraries hold this item.
None of your libraries hold this item.

User activity


e.g. test cricket, Perth (WA), "Parkes, Henry"

Separate different tags with a comma. To include a comma in your tag, surround the tag with double quotes.

Be the first to add a tag for this edition

Be the first to add this to a list

Comments and reviews

What are comments? Add a comment

No user comments or reviews for this version

Add a comment