ACM Home Page
Please provide us with feedback. Feedback
Clearwater: extensible, flexible, modular code generation
Full text PdfPdf (237 KB)
Source Automated Software Engineering archive
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering table of contents
Long Beach, CA, USA
SESSION: Code generation table of contents
Pages: 144 - 153  
Year of Publication: 2005
ISBN:1-59593-993-4
Authors
Galen S. Swint  Georgia Institute of Technology, Atlanta, GA
Calton Pu  Georgia Institute of Technology, Atlanta, GA
Gueyoung Jung  Georgia Institute of Technology, Atlanta, GA
Wenchang Yan  Georgia Institute of Technology, Atlanta, GA
Younggyun Koh  Georgia Institute of Technology, Atlanta, GA
Qinyi Wu  Georgia Institute of Technology, Atlanta, GA
Charles Consel  INRIA/LaBRI, Bordeaux, France
Akhil Sahai  HP Laboratories, Palo Alto, CA
Koichi Moriyama  Sony Corp., Tokyo, Japan
Sponsors
ACM: Association for Computing Machinery
SIGART: ACM Special Interest Group on Artificial Intelligence
SIGSOFT: ACM Special Interest Group on Software Engineering
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 9,   Downloads (12 Months): 42,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1101908.1101931
What is a DOI?

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 re-written). Our approach, Clearwater, leverages XML and XSLT standards: XML supports extensibility and mutability for in-progress 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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Arasu, A., Babcock, B., Babu, S., Cieslewicz, J., Datar, M., Ito, K., Motwani, R., Srivastava, U., and Widom, J., STREAM: The Stanford data stream management system. In Data Stream Management: Processing High-Speed Data Streams. Garofalakis, M., Gehrke, J., and Rastogi, R., eds. To appear 2006. Springer
 
2
Arasu, A., Cherniack, M., Galvez, E., Maier, D., Maskey, A., Ryvkina, E., Stonebraker, M., and Tibbetts, R., Linear Road: A Stream Data Management Benchmark. In Proceedings of the 30th International Conference on Very Large Data Bases (VLDB), August, 2004.
 
3
Barreto, L., Douence, R., Muller, G., and Südholt, M., Programming OS schedulers with domain-specific languages and aspects: new approaches for OS kernel engineering. International Workshop on Aspects, Components, and Patterns for Infrastructure Software at AOSD, April 2002.
4
 
5
 
6
Bray, T., Paoli, J., Sperberg-McQueen, C. M., Maler, E., Yergeau, F., and Cohan, J., eds. Extensible Markup Language. http://www.w3.org/TR/xml11. World Wide Web Consortium (W3C). 2004.
 
7
 
8
Clark, J. ed. XSL Transformations. http://www.w3.org/TR/xslt. World Wide Web Consortium (W3C). 1999.
 
9
Clark, J., and De Rose, S., eds. XML Path Language http://www.w3.org/TR/xpath. World Wide Web Consortium (W3C). 1999.
 
10
DVSL. http://jakarta.apache.org/velocity/dvsl/
11
 
12
Eisenhauer, G., Bustamente, F., and Schwan, K. A middleware toolkit for client-initiated service specialization. Proceedings of the PODC Middleware Symposium - (Portland Oregon, July 18-20, 2000).
 
13
 
14
Karsai, G. Why XML is not suitable for semantic translation. Research note, Nashville, TN, April, 2000.
 
15
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Videira Lopes, C., Loingtier, J.-M., and Irwin, J. Aspect-oriented programming. In the Proceedings of European Conference on Object-Oriented Programming, Aspect-Oriented Programming Workshop (ECOOP '97). (Jyvä skylä, Finland, June 10, 1997.)
 
16
Le Hégaret, P., DOM Activity Lead. Document Object Model (DOM). http://www.w3.org/DOM/. World Wide Web Consortium (W3C).
 
17
 
18
Nystrom, N., Clarkson, M. R., and Myers, A. C. Polyglot: an extensible compiler framework for Java. In Proceedings of the 12th International Conference on Compiler Construction (Warsaw, Poland, April 2003). Springer-Verlag LNCS 2622, 138--152.
19
 
20
Pu, C., and Swint, G. DSL weaving for distributed information flow systems (Invited Keynote). Proceedings of the 2005 Asia Pacific Web Conference. (APWeb05). (Shanghai, China. March 29 - April 1, 2005.) Springer-Verlag LNCS. 2005.
 
21
Sahai, A., Pu, C., Jung, G., Wu, Q., Yan, W., and Swint, G. Towards automated deployment of built-to-Order systems. In Proceedings of the 16th IFIP/IEEE Distributed Systems: Operations and Management (DSOM '05) (Barcelona, Spain. October 24-26, 2005). To appear.
 
22
Sahai, A., Joshi, R., Singhal, S., and Machiraju, V. Automated policy based resource construction in utility computing environments. In the Proceedings of the 2004 IEEE/IFIP Network Operations & Management Symposium (NOMS 2004). (Seoul, Korea. April 19-24, 2004.)
 
23
Salle, M., Sahai, A., Bartolini, C., and Singhal, S. A business-driven approach to closed-loop management. HP Labs Technical Report HPL-2004-205, November 2004.
 
24
Sarkar, S. Model driven programming using XSLT: an approach to rapid development of domain-specific program generators. www.XML-JOURNAL.com. August 2002.
 
25
Swint, G., Jung, G., and Pu, C. Event-based QoS for a distributed continual query system. The 2005 IEEE International Conference on Information Reuse and Integration (IRI 2005) (Las Vegas, Nevada. August 14-17, 2005).
 
26
 
27
 
28
Swint, G., Pu, C., and Moriyama, K., Infopipes: Concepts and ISG Implementation. The 2nd IEEE Workshop on Software Technologies for Embedded and Ubiquitous Computing Systems, Vienna, Austria, 2004.


Collaborative Colleagues:
Galen S. Swint: colleagues
Calton Pu: colleagues
Gueyoung Jung: colleagues
Wenchang Yan: colleagues
Younggyun Koh: colleagues
Qinyi Wu: colleagues
Charles Consel: colleagues
Akhil Sahai: colleagues
Koichi Moriyama: colleagues