Flick: a flexible, optimizing IDL compiler
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
Implementing remote procedure calls
ACM Transactions on Computer Systems (TOCS)
Infosphere project: system support for information flow applications
ACM SIGMOD Record
Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns
Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns
Infopipes: an abstraction for multimedia streaming
Multimedia Systems
Generation of Distributed System Test-Beds from High-Level Software Architecture Descriptions
Proceedings of the 16th IEEE international conference on Automated software engineering
Code Generation for WSLAs using AXpect
ICWS '04 Proceedings of the IEEE International Conference on Web Services
Experiences Integrating and Scaling a Performance Test Bed Generator with an Open Source CASE Tool
Proceedings of the 19th IEEE international conference on Automated software engineering
Infopipes: The ISL/ISG Implementation Evaluation
NCA '04 Proceedings of the Network Computing and Applications, Third IEEE International Symposium
Linear road: a stream data management benchmark
VLDB '04 Proceedings of the Thirtieth international conference on Very large data bases - Volume 30
Polyglot: an extensible compiler framework for Java
CC'03 Proceedings of the 12th international conference on Compiler construction
DSL weaving for distributed information flow systems
APWeb'05 Proceedings of the 7th Asia-Pacific web conference on Web Technologies Research and Development
Towards automated deployment of built-to-order systems
DSOM'05 Proceedings of the 16th IFIP/IEEE Ambient Networks international conference on Distributed Systems: operations and Management
Mulini: an automated staging framework for QoS of distributed multi-tier applications
Proceedings of the 2007 workshop on Automating service quality: Held at the International Conference on Automated Software Engineering (ASE)
Semantically Configurable Code Generation
MoDELS '08 Proceedings of the 11th international conference on Model Driven Engineering Languages and Systems
A domain analysis to specify design defects and generate detection algorithms
FASE'08/ETAPS'08 Proceedings of the Theory and practice of software, 11th international conference on Fundamental approaches to software engineering
Detecting bottleneck in -tier IT applications through analysis
DSOM'06 Proceedings of the 17th IFIP/IEEE international conference on Distributed Systems: operations and management
Towards automated deployment of built-to-order systems
DSOM'05 Proceedings of the 16th IFIP/IEEE Ambient Networks international conference on Distributed Systems: operations and Management
Code generation for a family of executable modelling notations
Software and Systems Modeling (SoSyM)
Hi-index | 0.00 |
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.